攻击者是如何利用安全支持提供程序(SSP)来转储凭据的

简介: 本文探讨了攻击者如何利用安全支持提供程序(SSP)动态链接库(DLL)窃取Windows系统中的登录凭据。通过修改注册表项或内存注入技术,攻击者可加载恶意SSP至本地安全机构(LSA)进程中,提取加密或明文密码。文章详细分析了两种方法:注册SSP DLL和内存中更新SSP,并展示了Mimikatz工具的应用。为防范此类攻击,建议使用监控解决方案检测域控制器上的异常修改,确保系统安全。

获取以哈希值或明文形式存在的账户登录名和密码是攻击者的主要目标。凭据转储或凭据泄露有助于攻击者进行横向移动,进一步在组织的网络中扩散,访问受限数据,并以高权限执行命令和程序。
存在许多广为人知且相对简单的凭据窃取攻击,例如转储安全账户管理器(SAM)数据库、利用本地安全机构子系统服务(LSASS)窃取凭据,以及从 NTLMv2 中提取密码等,这些攻击方式已被广泛提及。然而,通过利用安全支持提供程序(SSP)动态链接库(DLL)来获取 Windows 登录凭据是另一种可行的技术,安全团队需要了解并防范这种技术。在本文中,我们将解释攻击者是如何利用安全支持提供程序(SSP)动态链接库(DLL)来访问存储在 Windows 系统中的加密密码和明文密码的。
image.png

攻击者是如何利用安全支持提供程序(SSP)的呢?

Windows 操作系统具有身份验证机制,以便在计算机系统启动时或用户账户登录期间自动执行库或程序。组织可以通过将这些程序放置在指定位置,或者在 Windows 注册表项中进行配置来设置此功能。攻击者能够通过修改这些系统配置,或者在系统启动期间注册恶意的动态链接库(DLL)程序(如安全支持提供程序(SSP))来实现持久化控制并提升权限。

什么是安全支持提供程序(SSP)呢?

安全支持提供程序是一种动态链接库(DLL),它执行与安全相关的操作(如身份验证),并使一个或多个安全包可供应用程序使用。

安全支持提供程序接口(SSPI)是 Windows 应用程序编程接口(API)的一个组件,它充当多个安全支持提供程序(SSP)的标准接口。该组件使 Windows 身份验证方法能够轻松扩展,并在无需额外编码的情况下添加新的安全支持提供程序(SSP)。

攻击者可以修改注册表项,以便在 Windows 将安全支持提供程序(SSP)动态链接库(DLL)加载到本地安全机构(LSA)进程中时,注入恶意的安全支持提供程序(SSP)。然后,攻击者就能够提取存储在 Windows 中的加密密码和明文密码,例如已登录用户的域密码或智能卡密码。
使用 Mimikatz 注入 Windows 安全支持提供程序(SSP)
Mimikatz 应用程序支持以下两种实现安全支持提供程序(SSP)的方法。

1.注册安全支持提供程序(SSP)动态链接库(DLL)
在这种手动方法中,Mimikatz 提供了一个名为 mimilib.dll 的 DLL 文件,攻击者会将其复制到与本地安全机构子系统服务(LSASS)相同的位置(C:\Windows\System32)。这个 DLL 文件负责创建 kiwissp.log 文件,该文件以明文形式存储凭据。

有两个注册表项存储了安全支持提供程序(SSP)的配置信息:HKLM\SYSTEM\CurrentControlSet\Control\Lsa\Security Packages
HKLM\SYSTEM\CurrentControlSet\Control\Lsa\OSConfig\Security Packages
以下 PowerShell 命令用于检查注册表项中是否存在安全支持提供程序(SSP)的配置项。如下图所示,当查询结果为空时,攻击者可以添加一些标准的 Windows 身份验证安全支持提供程序(Kerberos、msv1_0、Schannel、wdigest、tspkg 和 pku2u)。
image.png

攻击者在注册表编辑器中“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa”
来验证安全支持提供程序(SSP)的相关条目。
image.png
每当用户重新启动他们的计算机系统时,Windows 都会在 C:\Windows\System32 下创建一个 kiwissp.log 文件。攻击者可以访问该系统已认证的所有域用户所存储的明文密码。

2.安全支持提供程序的内存中更新
Mimikatz 支持另一种利用内存技术的方法,即使用 “privilege::debug”(权限::调试)和 “misc::memssp”(杂项::内存中的安全支持提供程序)命令将新的安全支持提供程序注入到本地安全机构子系统服务(LSASS)的内存中。
image.png

通过运行上述 Mimikatz 命令,攻击者将在 C:\Windows\System32\ 下创建一个 mimilsa.log 文件,该文件包含所有已登录用户的明文密码。
image.png
上述两种方法使得攻击者能够向 Windows 系统注入新的安全支持提供程序(SSP),并自动记录本地经过身份验证的凭据。
如何检测和缓解恶意安全支持提供程序(SSP)
SentinelOne Ranger AD 解决方案会持续在活动目录(AD)中监控在域、用户和计算机层面上的漏洞和错误配置情况。该解决方案会监控每一个域控制器,并且当有新的安全包被加载时发出警报。
结论
拥有管理员权限的攻击者能够从被攻陷系统的内存中窃取凭据。攻击者可以篡改注册表项,并添加新的或恶意的安全支持提供程序(SSP)。企业应该部署能够审计和检测域控制器上未经授权修改的解决方案,以避免攻击者利用安全支持提供程序(SSP)。如需了解更多信息,请访问 Singularity Ranger AD。

♚上海甫连信息技术有限公司DocuSign | Okta | Yubikey | SentinelOne | BlackBerry | Cylance | Varonis |HubSpot|
长图.png

目录
相关文章
|
Oracle 安全 关系型数据库
搭建 OpenLDAP 自助修改密码系统
让修改open ldap密码变得简单
2072 0
搭建 OpenLDAP 自助修改密码系统
|
5月前
|
机器学习/深度学习 弹性计算 安全
阿里云8核16G云服务器:ecs.c9i.2xlarge性能参数、配置价格及适用场景详解
阿里云全新c9i实例(8核16G),基于CIPU架构与Intel至强6代CPU,主频3.2GHz,支持15Gbps网络、20万IOPS及vTPM可信计算,适用于AI推理、数据分析、游戏前端等场景,性价比高,支持多重折扣。详细参考云服务器ECS官方解读:https://t.aliyun.com/U/AZBUsA
433 0
|
9月前
|
SQL 存储 关系型数据库
SQLAlchemy 技术入门指南
SQLAlchemy 是 Python 最流行的 ORM 工具包,提供 Core(SQL 表达式语言)和 ORM(对象关系映射)双模式。它 bridging Python 与 SQL,支持多数据库、连接池、事务及关系映射,兼具灵活性与企业级能力,学习曲线平缓,适合从入门到高阶应用。(239字)
795 10
|
11月前
|
存储 编解码 对象存储
在线教育平台云架构
在线教育平台云架构方案,聚焦万人课堂的高并发、低延迟需求,涵盖视频处理、实时互动、数据存储、安全合规等核心环节。通过CDN加速、弹性扩容、OSS存储、WebRTC互动与全链路安全防护,构建稳定、高效、可扩展的技术体系,支撑“教-学-考”全流程数字化教学,保障大规模在线学习体验流畅与内容安全。(238字)
612 1
|
机器学习/深度学习 决策智能
什么是贝叶斯网络?原理入门
什么是贝叶斯网络?原理入门
1445 0
什么是贝叶斯网络?原理入门
|
安全 API Windows
CreateMutex用法
CreateMutex用法
|
安全 Cloud Native Shell
云上攻防:云原生篇&Docker容器逃逸
本文介绍了Docker的基本概念及其对渗透测试的影响,重点讲解了容器逃逸的方法。Docker是一种轻量级的容器技术,与虚拟机相比,具有更高的便携性和资源利用率。然而,这也带来了安全风险,特别是容器逃逸问题。文章详细描述了三种常见的容器逃逸方法:不安全的配置、相关程序漏洞和内核漏洞,并提供了具体的检测和利用方法。此外,还介绍了几种特定的漏洞(如CVE-2019-5736和CVE-2020-15257)及其复现步骤,帮助读者更好地理解和应对这些安全威胁。
1944 3
云上攻防:云原生篇&Docker容器逃逸
|
运维 监控 开发者
tasklist命令的应用实例
tasklist命令的应用实例 原创
861 7