首页
/ 推荐开源项目:AMSI.fail - 突破 PowerShell 的 AMSI 安全防护

推荐开源项目:AMSI.fail - 突破 PowerShell 的 AMSI 安全防护

2024-05-20 08:05:14作者:廉彬冶Miranda

1、项目介绍

AMSI.fail 是一个由 C# 开始并移植到 JavaScript 的 Azure 函数项目,它带有一个 HTTP 触发器,能生成可破坏或禁用当前进程AMS(Antimalware Scan Interface)的混淆 PowerShell 片段。这个项目提供了一个实时演示网站 https://amsi.fail/ ,你可以直接在那里体验其功能。

2、项目技术分析

AMSI 是一种接口,允许应用或服务扫描脚本内容以检测恶意使用。当 PowerShell 进程创建时,会加载 AMSI.DLL 并调用 AmsiScanBuffer() 函数检查脚本内容。如果检测到恶意签名,执行将被阻止。然而,由于 AMSI 需要在执行脚本的进程中运行,因此有技术可以针对特定函数进行破坏或修补。

AMSI.fail 利用这一特性,通过随机选择和运行时混淆,生成多种规避 AMSI 检查的 PowerShell 片段。每个请求都会得到独一无二的混淆输出,避免了相同签名的产生。

3、项目及技术应用场景

对于安全研究人员和 Penetration Testing 从业者来说,AMSI.fail 是一个宝贵的工具。它可以模拟攻击者如何绕过 Windows 系统的安全防御,用于测试和评估系统的抗攻击能力。此外,也适用于学习和研究 AMIS 反恶意软件策略的开发者和网络安全专业人员。

4、项目特点

  1. 混淆效果:每个生成的 PowerShell 片段都经过随机选技术和动态混淆处理,确保每次请求的独特性。
  2. 跨平台:原生支持 C# 和已移植到 JavaScript,使得部署和使用更为灵活。
  3. 高效性能:JavaScript 版本显著降低了运行成本,提高了响应速度。
  4. 社区贡献:感谢 @S3cur3Th1sSh1t 添加的 @rasta-mouse C# 绕过方法,以及 @MartinIngesen 对 C# 项目的 JS 移植,实现了项目优化和扩展。

总的来说,AMSI.fail 提供了一个独特且实用的工具,帮助我们更深入地了解和应对 PowerShell 中的 AMSI 安全挑战。无论是为了教育目的还是专业的安全测试,这个开源项目都是值得尝试的。

登录后查看全文
热门项目推荐