利用certutil和powershell的APT攻击技术解析

需积分: 10 0 下载量 67 浏览量 更新于2024-09-07 收藏 391KB PDF 举报
该资源是关于网络安全的,特别是针对APT(高级持续性威胁)攻击与防御的技巧。主要内容涉及使用certutil工具进行数据编码和解码,并与powershell结合,利用混淆框架Invoke-CradleCrafter来创建和执行隐蔽的payload。 在描述中,提到了certutil命令行工具的一个用法,它是Windows系统内置的一个证书管理工具,可以用来对数据进行编码和解码。在攻击场景中,可以通过`certutil -encode`和`certutil -decode`命令将恶意代码隐藏在经过编码的数据中,从而逃避安全检测。例如,可以将一个vbs脚本(downfile.vbs)编码成bat批处理文件(downfile.bat),这样可以在不引起怀疑的情况下传播恶意代码。 同时,文件中提到了powershell的执行策略问题。在默认情况下,powershell可能不允许执行未签名的脚本。因此,为了运行自定义的powershell脚本,需要通过`Set-ExecutionPolicy Bypass`命令临时绕过执行策略限制。 然后,文件提到了一个混淆框架Invoke-CradleCrafter,这是一个用于生成混淆的powershell payload的工具。通过`Import-Module ./Invoke-CradleCrafter.psd1`导入模块,然后调用`Invoke-CradleCrafter`命令即可生成混淆代码。 此外,还展示了如何使用msfvenom生成Windows x64平台的Meterpreter反向TCP payload,并将其编码为powershell base64格式。生成的payload被写入名为Micropoor.txt的文件中,随后可以通过Web服务器(如Apache)提供下载。 在目标机器上,攻击者首先下载cer.cer证书文件,然后使用certutil工具对这个证书进行解码,解码后的结果(stage.ps1)是一个powershell脚本,该脚本会立即执行并删除原始的cer.cer文件,以避免留下痕迹。 整个过程展示了攻击者如何巧妙地利用合法工具和命令行选项来规避安全防护,实现payload的隐秘部署和执行。这在网络安全防御中是一个重要的知识点,因为了解这些技巧可以帮助防御者更好地识别和防止类似的攻击行为。