最近发现一条有关 LNK 文件在反恶意软件扫描接口 (AMSI) 中创建硬件断点的推文。
图 1:推文
在这篇博客中,我们将更深入地研究 Cobalt Strike 的新 TTP,以使用硬件断点绕过 AMSI。
初始访问
LECmd工具用于提取 LNK 文件的参数,该参数调用 PowerShell 从恶意站点获取代码。https://github.com/EricZimmerman/LECmd
图2:lnk文件
在此代码中,在 AMSI 扫描缓冲区的地址中启用了 硬件断点 ( Dr0 )。
图 3:AMSI 中的硬件断点
为了绕过 AMSI,使用 AddVectoredExceptionHandler API 注册 AMSI 扫描缓冲区断点的异常处理程序。在处理程序代码中,它收集异常记录和异常地址。仅当 AMSI 扫描缓冲区的地址发生异常时才继续进行。然后将堆栈指针值存储在返回地址中,并将指令指针中的返回地址设置为0。
图 4:异常处理程序代码
此代码包含一个 PowerShell 脚本,用于使用启动文件夹创建持久性并下载 GZIP 压缩的 Base64 String 。它仅针对已在上述域列表中连接的域登录用户。
图 5:目标域和下一个有效负载
通过使用GUnZip解压缩这个 Base64 字符串,可以得到另一个代码,如图 6 所示。
图 6:XOR 编码的 Base64 字符串
此代码包含 Base64 字符串,当解码和异或 int(35) 时,会给出最终的 Cobalt Strike 有效负载,如图 7 和 8 所示。
图 7:异或密钥
图 8:Cobalt Strike
使用该Cobalt Strike解析器工具提取的Cobalt Strike C2 Config如下所示。https://github.com/Sentinel-One/CobaltStrikeParser
图 9:C2 配置
我们 K7 Labs 可以检测此类威胁。用户被要求通过安装“ K7 Total Security ”等知名安全产品来保护其设备,并保持更新以免受最新威胁。
感谢您抽出
.
.
来阅读本文
点它,分享点赞在看都在这里
原文始发于微信公众号(Ots安全):Cobalt Strike 的部署带有 AMSI 绕过的硬件断点
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论