绿盟科技-每周蓝军技术推送(2022.5.28-6.2)学习

0x00 绿盟科技-每周蓝军技术推送(2022.5.28-6.2)

  • 原文链接:每周蓝军技术推送(2022.5.28-6.2
  • 这一周的内容推送主要是一些工具推荐
  • 释放UDRL(用户定义反射加载器)内存的BOF
  • 基于低熵的香农编码隐藏shellcode
  • Cobalt Strike Beacon 的用户定义反射加载器,伪造线程起始地址并在执行入口点后释放
  • C# 编写的 COM 劫持持久化辅助工具

0x01 调试和逆向ALPC

0x02 freeBokuLoader:释放UDRL(用户定义反射加载器)内存的BOF

  • 这就是一个释放UDRL(用户定义反射加载器)的BOF。
  • BOF:即Beacon Object Files。是c编译后的文件,其有点就是小,可以在beacon内部使用,缺点就是会引发beacon崩溃。
  • 关于BOF,可以看官方出的文章

0x03 Shelltropy:基于低熵的香农编码隐藏shellcode

  • 一个概念:信息熵/香农熵:一组信息中随机性的量度,信息越随机,熵越高。
  • 一个重要结论:bin通过加密混淆或者加壳,会导致信息熵增加。多数恶意软件,信息熵偏高。
  • 如何降低熵,规避EDR:之前了解过,将加密数据嵌入正常的可执行文件可以避免高熵。
  • Shelltropy作者所写的文章的思路是通过向高熵的数据中插入低熵的数据,可以将整体的熵降低。但是这么做会使shellcode增大一倍。
    mark
  • 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 劫持持久化辅助工具