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,以及检测进程内未签名内存补丁。
● 示例
- 01
在内存中给 AmsiScanBuffer 的开头字节打补丁,使其始终返回 AMSI_RESULT_CLEAN。
- 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 规避。
● 相关术语
- attacks№ 632
LOLBin / LOLBAS
被攻击者滥用、外表仍是合法管理工具的已签名原生二进制或脚本(LOLBin/LOLBAS),可用于执行、下载、持久化或绕过防护。
- attacks№ 616
就地取材攻击
攻击者不投放自有恶意软件,而是滥用受害系统中已存在的合法工具和脚本完成攻击的战术风格。
- malware№ 417
无文件恶意软件
主要在内存中运行、利用受信任的系统工具,尽量避免在磁盘上留下传统可执行文件的恶意软件。
- defense-ops№ 298
防御规避
MITRE ATT&CK 战术 TA0005,涵盖攻击者用来规避检测、禁用安全工具并隐藏自身活动的各种技术。
- defense-ops№ 682
Mimikatz
开源 Windows 后渗透工具,从内存和 LSASS 中提取明文密码、哈希、Kerberos 票据等凭据。
- defense-ops№ 371
EDR(端点检测与响应)
持续记录端点进程、文件、注册表与网络活动,以检测、调查并响应主机层威胁的端点安全技术。