Cobalt Strike UDRL 用于逃逸内存扫描器

作者:Sec-Labs | 发布时间:

AceLdr - 逃逸内存扫描器

用于Cobalt Strike的独立于位置的反射式加载器。Hunt-Sleeping-Beacons、BeaconHunter、BeaconEye、Patriot、Moneta、PE-sieve或MalMemDetect的结果为零。

df537fdc57114822

项目地址

https://github.com/kyleavery/AceLdr

特点

易于使用

在生成shellcode之前,导入一个单一的CNA脚本。

动态内存加密

为来自Beacon的任何分配创建一个新的堆,并在睡眠前对条目进行加密。

代码混淆和加密

将包含CS可执行代码的内存改为不可执行,并对其进行加密(FOLIAGE)。

执行时的返回地址欺骗

某些WinAPI调用在执行时有一个欺骗性的返回地址(InternetConnectA, NtWaitForSingleObject, RtlAllocateHeap)。

不睡觉的睡眠

使用WaitForSingleObjectEx延迟执行。

RC4加密

使用SystemFunction032进行所有加密。

已知问题

与依赖shellcode线程保持活力的加载器不兼容。

参考资料

如果没有以下人员,这个项目是不可能完成的。

其他功能和灵感来自于以下内容。

  • https://www.arashparsa.com/bypassing-pesieve-and-moneta-the-easiest-way-i-could-find/
  • https://github.com/secidiot/TitanLdr
  • https://github.com/JLospinoso/gargoyle
  • https://www.forrest-orr.net/post/masking-malicious-memory-artifacts-part-ii-insights-from-moneta
  • https://www.arashparsa.com/hook-heaps-and-live-free/
  • https://blog.f-secure.com/hunting-for-gargoyle-memory-scanning-evasion/
  • https://www.elastic.co/blog/detecting-cobalt-strike-with-memory-signatures
标签:工具分享, cobaltstrike系列, 内存逃逸技术