TGViewer
开发者工具箱|编程·开发工具·资源 开发者工具箱|编程·开发工具·资源 @devtoolboxhub · 570 subscribers
Post #1895 2
AMSI 绕过技术 2026 开发者指南

AMSI(Antivirus Malware Scan Interface)是 Windows 的恶意脚本扫描接口,覆盖 PowerShell 5.0+、VBScript、JScript、Office 宏、.NET 程序集和 WMI。传统杀软只扫磁盘文件,脚本直接在内存执行时看不到;AMSI 在脚本执行前拦截并交给杀软扫描,再决定放行或阻断。
核心链路是应用调用 amsi.dll 的 AmsiScanBuffer(),再转给 Windows Defender 做特征匹配和行为分析。只要 AmsiScanBuffer() 被篡改,整条链就失效。返回码中 0 和 1 表示无威胁,32768 表示检出恶意。
指南给出 7 种绕过手法:内存补丁(改写 AmsiScanBuffer 直接返回成功)、混淆(字符串拼接、Base64、反引号、格式串、字符数组)、反射(把 amsiInitFailed 字段设为 true 或清空 amsiContext)、降级攻击(用 PowerShell 2.0,该版本早于 AMSI)、DLL 劫持(伪造 amsi.dll 让扫描恒返回 clean)、COM 劫持(改注册表 CLSID 指向伪造 DLL)、ETW 补丁(清空 etwProvider 阻止日志)。

防御侧建议分层:移除 PowerShell 2.0、开启约束语言模式、用 AppLocker/WDAC 做白名单;开启 Script Block Logging(EventID 4104),配合 Sysmon 监控 amsi.dll 的异常加载与内存访问,再用 SIEM 关联告警。检测优先级最高的是 PowerShell 2.0 执行、脚本中出现 AmsiUtils 与 amsiInitFailed、以及 amsi.dll 从非 System32 路径加载。

文中还附了动手实验:用 AMSI 测试样本验证基线拦截,执行反射绕过后再测同一段样本,并通过事件日志确认绕过是否留下痕迹。作者强调日志是关键,即使绕过成功也会留痕,防御应以行为而非特征为主。
More from @devtoolboxhub
  1. Sep 30, 2026AI Agent 为什么记不住事 和 AI Agent 协作时最容易注意到的一点是:它们很擅长回答问题,却不擅长记住昨天发生过什么。你可以和它长聊一轮,做出一堆决定、说明偏好、一起…
  2. Sep 30, 2026wpipe:面向 Python 开发者的轻量编排库 wpipe 是一个纯 Python 可嵌入的编排库,目标是让数据管道的开发回到「编辑—运行—调试」的快速循环,而不必为验证业务逻…
  3. Sep 29, 20262,916 个 AI 网站 8 月流量:转录与图生 3D 起飞 Anjin Radar 追踪了 2,916 个 AI 网站的月度访问量,数据截至 2026 年 9 月 28 日。访…
  4. Sep 29, 2026Python 虚拟环境其实是个软链接 在 Linux 和 macOS 上执行 python3 -m venv .venv,并不会复制一份 Python。venv 里的 python…
  5. Sep 29, 2026Will It Focus:相机自动对焦兼容性查询 Agent 这是一个面向摄影器材的自动对焦兼容性查询工具,但它真正的看点在于工程实现:如何让模型引用厂商原文时,保证引用的确实是…
  6. Sep 28, 2026Agent 运营站点实测:125 次曝光零点击 这是一个由 agent 负责写作、部署和测量的站点,人类只做审批。第二期实测记录披露了一组数据:查询词 git undo last…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →