type
Post
status
Published
date
Dec 12, 2022
slug
summary
tags
攻防
内网
category
技术分享
icon
password
Property
Feb 9, 2023 07:21 AM

何为SSP

SSP(Security Support Provider)是Windows操作系统安全机制的提供者。简单地说,SSP是个DLL文件,主要用来实现Windows操作系统的身份认证功能,例如:
NTLM Ketberos Negotiare Seure Channe (Schannel ) Digest Credental ( CredSSP )

SSP后门

SSP后门主要是利用SSP进行事后的权限维持。
如果攻击事后获得目标系统system权限,可使用SSP后门进行持久化操作。

SSP后门实现原理

LSA(Local Security Authority)用于身份验证;lsass.exe作为windows的系统进程,其用于本地安全和登录策略;在系统启动时,SSP将被加载到lsass.exe进程中。
同理,假如攻击者对LSA进行了安全扩展,自定义一个恶意的DLL文件,在系统启动时将恶意DLL加载到lsass.exe进程中,能够获取lsass.exe进程中的明文密码。即使用户更改密码并重新登录,攻击者仍能通过SSP后门记录受害者在LogonUI键入的账号密码。
notion image

SSP后门攻击方式

方式一:内存加载DLL

Mimikatz支持以内存加载的方式更新SSP,只通过待机锁屏用户再登录就能获取登录账户和密码。适合用于服务器当中
privilege::debug misc::memssp
根据mimikatz中相应模块源码来看(https://github.com/gentilkiwi/mimikatz/blob/master/mimikatz/modules/kuhl_m_misc.c#L577),当看到 Injected =) 的时候,表明已经注入成功接下来就是使目标机器待机锁屏,当用户再次输入账号密码登录时,账号及明文密码将默认被记录到C:\Windows\System32\mimilsa.log
notion image
优点:动静小,机器不需要重启
缺点:机器重启就失效了

方式二:注册SSP DLL

Mimikatz工具包存在mimilib.dll文件支持该SSP功能,不过该功能需要重启后重新加载恶意dll文件。适合用于客户机当中
1、该dll文件需要放在lsass.exe同级目录下。所以先将mimilib.dll复制到c:\windows\system32下
2、在注册表 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\Security Packages 下添加dll文件名 mimilib.dll
notion image
3、需待机器重启重新加载mimilib.dll,之后每次登录都会默认记录明文密码到根dll文件同目录下的kiwissp.log
利用效果如下图:
windows 2016
notion image
windows 2008 r2
notion image
优点:每次重启并不会失效
缺点:动静稍大,需机器重启一次才会生效

检测

检测内存加载SSP

在注入内存的时候,会产生lsass.exe对象句柄操作的日志,与Dump用户Hash检测类似,就不多说啦

检测注册SSP DLL

日志

使用这类后门攻击后,在每次开机的日志中可以根据加载安全扩展的日志来判断
notion image
在加载安全扩展事件EventID=4622日志中,同时出现了加载dll对象和记录log文件名的内容

注册表

也可以判断该注册表HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\Security Packages的值中是否存在可疑的dll文件
能将以上检测方式结合起来就再好不过了

防御清除

方式一:内存加载SSP方式
使用ARK工具查看msv1_0.dll是否已经被inlinehook,或者查看电脑里面是否有mimilsa.log文件,如果已经被攻击要么取消hook,pchunter工具可以恢复,也可以重启机器解决
方式二:注册SSP DLL方式
通过查看机器是否有kiwissp.log以及注册表的键值,mimilib.dll是否存在在机器上都可以有效检测当前机器是否已经被留下后门,清除方法就是注册表的值删除mimilib.dll,删除system32目录下的mimilib.dll
Mimikatz-黄金/白银票据攻击检测k8s简介与搭建