这种方法是非常常见使用的,因为它很方便快捷。
AMSI
,或 AntiMalware Scan Interface
,是一种与供应商无关的 Windows
安全控件,它扫描 PowerShell
、wscript
、cscript
、Office
宏等,并将检测数据发送给安全提供商(在案例中为 Defender)以确定它是否是恶意的。
ETW
,或 Windows
事件跟踪,是另一种安全机制,用于记录在用户模式和内核驱动程序上发生的事件。供应商然后可以分析来自流程的此信息,以确定它是否具有恶意意图。
遗憾的是,Windows Defender
很少使用来自 PowerShell
会话的检测数据。具体来说,为当前进程打补丁 AMSI
将允许执行指定的任何无落地文件的恶意软件,包括工具(Mimikatz
、Rubeus
等)和反向 shell
。
对于这个POC
,将使用 evil-winrm
Bypass-4MSI
内置函数,将在后面看到, 在 PowerShell
脚本或可执行文件中制作自己的 AMSI/ETW
补丁程序非常容易。
因此,从 LSASS
进程使用 Mimikatz
转储内存中登录的杀伤链使用此方法的工作方式如下:
为了更好地理解,可以通过以下方式在更高层次上解释这组命令:
Invoke-Mimikatz
”触发器作为测试 Defender
是否处于活动状态的方法。evil-winrm Bypass-4MSI
函数以在当前 PowerShell
会话中修补 AMSI
AMSI
检测是否有效(如所见,它不再有效)。Invoke-Expression
在内存中加载真正的 Invoke-Mimikatz PowerShell
模块。Mimikatz
从 LSASS
转储登录密码。请注意,Mimikatz
执行仅用于演示目的,可以在没有 AMSI
检测的情况下从 PowerShell
终端执行几乎所有操作。