Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 045

AMSI 绕过

AMSI 绕过 是什么?

AMSI 绕过禁用、修补或规避 Windows AMSI(反恶意软件扫描接口)的一类技术,使脚本和内存载荷不被杀毒引擎扫描。


AMSI(Antimalware Scan Interface)允许 PowerShell、JavaScript、VBScript、.NET 与 Office 宏在执行前将数据缓冲区交给已注册的杀毒软件进行扫描。AMSI 绕过会瓦解此控制,例如在内存中给 amsi.dll!AmsiScanBuffer 打补丁使其始终返回干净、Hook CLR 函数、修改 PowerShell AmsiUtils 的 amsiInitFailed 字段、对字符串进行拆分与混淆、或降级到 PowerShell v2。目标是让 Mimikatz、Invoke-Mimikatz、Cobalt Strike Beacon 等恶意脚本在受信任的宿主进程中运行而不被 Defender 等引擎察觉。MITRE ATT&CK 将其对应于 T1562.001(Impair Defenses)。常见防御包括与 EDR 绑定的 AMSI 提供方、ASR 规则、PowerShell 约束语言模式、AppLocker,以及检测进程内未签名内存补丁。

示例

  1. 01

    在内存中给 AmsiScanBuffer 的开头字节打补丁,使其始终返回 AMSI_RESULT_CLEAN。

  2. 02

    [Ref].Assembly.GetType('System.Management.Automation.AmsiUtils').GetField('amsiInitFailed','NonPublic,Static').SetValue($null,$true)。

常见问题

AMSI 绕过 是什么?

禁用、修补或规避 Windows AMSI(反恶意软件扫描接口)的一类技术,使脚本和内存载荷不被杀毒引擎扫描。 它属于网络安全的 攻击与威胁 分类。

AMSI 绕过 是什么意思?

禁用、修补或规避 Windows AMSI(反恶意软件扫描接口)的一类技术,使脚本和内存载荷不被杀毒引擎扫描。

AMSI 绕过 是如何工作的?

AMSI(Antimalware Scan Interface)允许 PowerShell、JavaScript、VBScript、.NET 与 Office 宏在执行前将数据缓冲区交给已注册的杀毒软件进行扫描。AMSI 绕过会瓦解此控制,例如在内存中给 amsi.dll!AmsiScanBuffer 打补丁使其始终返回干净、Hook CLR 函数、修改 PowerShell AmsiUtils 的 amsiInitFailed 字段、对字符串进行拆分与混淆、或降级到 PowerShell v2。目标是让 Mimikatz、Invoke-Mimikatz、Cobalt Strike Beacon 等恶意脚本在受信任的宿主进程中运行而不被 Defender 等引擎察觉。MITRE ATT&CK 将其对应于 T1562.001(Impair Defenses)。常见防御包括与 EDR 绑定的 AMSI 提供方、ASR 规则、PowerShell 约束语言模式、AppLocker,以及检测进程内未签名内存补丁。

如何防御 AMSI 绕过?

针对 AMSI 绕过 的防御通常结合技术控制与运营实践,详见上方完整定义。

AMSI 绕过 还有哪些其他名称?

常见的别称包括: AMSI 规避。

相关术语