2个月前 (03-20)  渗透注入
文章评分 0 次,平均分 0.0

0x00 前言


在之前的文章中介绍了一些域环境中的渗透方法和技巧,所以这次接着介绍一个用来维持域控权限的方法——SSP.

域渗透——Security Support Provider

0x01 简介


SSP:

Security Support Provider,直译为安全支持提供者,又名Security Package.

简单的理解为SSP就是一个DLL,用来实现身份认证,例如:

#!bash
NTLM
Kerberos
Negotiate
Secure Channel (Schannel)
Digest
Credential (CredSSP)

SSPI:

Security Support Provider Interface,直译为安全支持提供程序接口,是Windows系统在执行认证操作所使用的API。

简单的理解为SSPI是SSP的API接口

LSA:

Local Security Authority,用于身份认证,常见进程为lsass.exe

特别的地方在于LSA是可扩展的,在系统启动的时候SSP会被加载到进程lsass.exe中.

这相当于我们可以自定义一个dll,在系统启动的时候被加载到进程lsass.exe!

域渗透——Security Support Provider

此图片来自于https://dl.mandiant.com/EE/library/MIRcon2014/MIRcon_2014_IR_Track_Analysis_of_Malicious_SSP.pdf

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

域渗透——Security Support Provider

此图片来自于https://dl.mandiant.com/EE/library/MIRcon2014/MIRcon_2014_IR_Track_Analysis_of_Malicious_SSP.pdf

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

0x02 mimilib SSP


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

域渗透——Security Support Provider

下面就实际测试一下如何通过mimilib伪造SSP记录明文密码.

mimikatz poc地址:
https://github.com/gentilkiwi/mimikatz/blob/bb371c2acba397b4006a6cddc0f9ce2b5958017b/mimilib/kssp.c

0x03 实际测试


测试环境

#!bash
域控:server 2008 r2 x64
域内主机: win7 x64

测试步骤:

1、添加SSP

将mimilib.dll复制到域控c:\windows\system32下

注:64位系统要用64位的mimilib.dll,32位的会失败

2、设置SSP

修改域控注册表位置:

#!bash
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\Security Packages\

如图 域渗透——Security Support Provider

在Security Packages下添加mimilib.dll

如图 域渗透——Security Support Provider

点击确认,Security Packages已被添加mimilib.dll

如图 域渗透——Security Support Provider

3、重启系统

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

如图 域渗透——Security Support Provider

kiwissp.log记录了登录账户和密码,如图 域渗透——Security Support Provider

Tips:mimilib只实现了将密码保存到本地,如果把密码发送到远程服务器岂不是威力无穷?

0x04 补充


1、Memory Updating of SSPs

mimikatz同时还支持通过内存更新ssp,这样就不需要重启再获取账户信息

需要使用mimikatz.exe,命令如下:

#!bash
privilege::debug
misc::memssp

注:

1、64系统需要64位的mimikatz,如图

32位mimikatz失败 域渗透——Security Support Provider

64位mimikatz成功 域渗透——Security Support Provider

2、内存更新的方法在重启后会失效.

0x05 检测


1、注册表

检测注册表位置:

#!bash
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\Security Packages\

2、dll

检测%windir%\System32是否有可疑dll

3、Autoruns

使用工具Autoruns检测LSA

如图,可以发现添加dll的位置 域渗透——Security Support Provider

0x06 小结


本文仅对SSP的常规用法做了演示,实现了在本地保存域控的账户和密码,而且基于这个思路,可以开发出更多高级的利用方法。

如果站在防御的角度,常规方法已经力不从心,只有更多的了解攻击才能更好的防御。

0x07 参考资料


https://en.wikipedia.org/wiki/Security_Support_Provider_Interface

https://dl.mandiant.com/EE/library/MIRcon2014/MIRcon_2014_IR_Track_Analysis_of_Malicious_SSP.pdf

https://msdn.microsoft.com/en-us/library/bb742535.aspx

https://msdn.microsoft.com/en-us/library/windows/desktop/ms721625(v=vs.85).aspx#_security_security_support_provider_gly

https://adsecurity.org/?p=1760

https://technet.microsoft.com/en-us/library/dn408187.aspx


//下面这个css和插件后台设置的主题有关系,如果需要换样式,则需要修改以下CSS名称

 

除特别注明外,本站所有文章均为铁匠运维网原创,转载请注明出处来自http://www.tiejiang.org/23468.html

中国互联是江苏邦宁科技有限公司旗下的著名IT服务供应商品牌之一,是国内IDC行业十大之一、企业互联网服务首选品牌。江苏邦宁科技成立于2003年,是国内互联网名称与数字地址服务、云数据中心机房服务的引领者,是行业云计算解决方案、网站智能建设、企业智能办公软件、移动互联网开发的创新者。自成立以来,公司秉承“一切为了客户满意”的核心理念,坚持“国际化、专业化、高端化”的发展思路,坚持“以客户需求为导向、以技术创新为基础、以服务创新为支撑”,先后为国内各级政府、社会服务机构、国内外众多500强企业及中小企业、个人客户提供了专业、高质、优越的互联网应用服务。

发表评论

暂无评论

切换注册

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

切换登录

注册

扫一扫二维码分享