0x00 绿盟科技-每周蓝军技术推送(2022.5.28-6.2)
- 原文链接:每周蓝军技术推送(2022.5.28-6.2
- 这一周的内容推送主要是一些工具推荐
- 释放UDRL(用户定义反射加载器)内存的BOF
- 基于低熵的香农编码隐藏shellcode
- Cobalt Strike Beacon 的用户定义反射加载器,伪造线程起始地址并在执行入口点后释放
- C# 编写的 COM 劫持持久化辅助工具
0x01 调试和逆向ALPC
- ALPC调试比较复杂没有仔细看。除了这篇文章(调试和逆向ALPC)之外,还有win10 1909逆向(ALPC通信原理浅析等可以参考。
0x02 freeBokuLoader:释放UDRL(用户定义反射加载器)内存的BOF
- 这就是一个释放UDRL(用户定义反射加载器)的BOF。
- BOF:即Beacon Object Files。是c编译后的文件,其有点就是小,可以在beacon内部使用,缺点就是会引发beacon崩溃。
- 关于BOF,可以看官方出的文章
0x03 Shelltropy:基于低熵的香农编码隐藏shellcode
- 一个概念:信息熵/香农熵:一组信息中随机性的量度,信息越随机,熵越高。
- 一个重要结论:bin通过加密混淆或者加壳,会导致信息熵增加。多数恶意软件,信息熵偏高。
- 如何降低熵,规避EDR:之前了解过,将加密数据嵌入正常的可执行文件可以避免高熵。
- Shelltropy作者所写的文章的思路是通过向高熵的数据中插入低熵的数据,可以将整体的熵降低。但是这么做会使shellcode增大一倍。
- Ref:https://github.com/kleiton0x00/Shelltropy/blob/main/README.md
0x04 KaynStrike:Cobalt Strike Beacon 的用户定义反射加载器,伪造线程起始地址并在执行入口点后释放
- KaynStrike设计确实很巧妙,首先,工具分段把PE数据写入当前进程空间,然后拉起一个线程,并将EIP设置成之前那段数据的入口点,Resume之后,便执行了beacon代码,之后,主线程这边采用同样的方法执行NtFreeVirtualMemoryAPI函数,进行free。
0x05 COM-Hunter:C# 编写的 COM 劫持持久化辅助工具
- https://github.com/nickvourd/COM-Hunter阅读了该工具的部分源码,其[内置]了一些可以被COM劫持的CLSID列表,没什么可说的。关于如何狩猎可以被COM劫持的CLSID可以参考持久性COM劫持的实现 - 嘶吼等文章,除此以外我的github上有一个可以远程狩猎COM劫持的工具。