探寻Mimikatz神器之SSP

访客4年前黑客文章528

在本系列产品的之一部分中,大家逐渐深入分析 Mimikatz。这一念头非常简单便是为了更好地表明 Mimikatz 是怎样使出它的魔法的及其表明怎样开发设计自定的和特殊的重力梯度。 假如你都还没机遇去一探究竟,请先移景到本系列产品文0章的之一部分。 下面,在本文中,大家将回望一下提升微软公司增加的避免 凭证转储的安全管理(如 Credential Guard)的一种好 *** 并获取受害人提供的凭证。 自然,这也是 Mimikatz 适用 SSP 的缘故。

安全性适用提供程序流程(Security Support Provider,SSP)是一个 DLL,它容许开发者公布在一些身份认证和受权恶性事件期内启用的很多回调。 如同我们在上一篇文章中见到的,WDigest 提供了应用这一准确的插口开展凭证缓存文件的工作能力。

Mimikatz 提供了一些不一样的技术性来利用 SSP。 更先是"Mimilib",它是一个含有各种各样作用的 DLL,在其中一个便是完成 Security Support Provider 插口。 次之,也有"memssp",它是此外一种趣味的完成同样总体目标的 *** ,但它取决于运行内存补丁下载,而不是根据载入一个 DLL 完成。

使我们从载入 SSP 的传统式方式——Mimilib 逐渐生命之初。

留意: 如同在上一篇文章中提及的,本文很多应用了 Mimikatz 的源码及其开发者花销的成千上万時间。 谢谢 Mimikatz, Benjamin Delpy 和 Vincent Le Toux 优异的科学研究工作中。

Mimilib

Mimilib 很象变色龙,适用 ServerLevelPluginDll 根据 RPC、DHCP *** 服务器 Callout 开展横着挪动,乃至还能够做为 WinDBG 的拓展。 殊不知,出自于大家的目地,大家将科学研究这一库怎样做为一个 SSP,为 *** 攻击提供一种方式来查找由受害人键入的凭证。

Mimilib 的原理是利用 SSP 插口应用明文凭证启用Security Support Provider。 这代表着凭证被以明文的 *** 露出。 Mimilib 的 SSP 作用的通道点能够在 kssp.c 文档中寻找,关键的通道是 kssp_SpLsaModeInitialize。 该涵数根据 mimilib.def 这一界定文档从 DLL 中导出来名叫 SpLsaModeInitialize 的涵数,并由 lsass 过程用以复位一个包括好几个回调的建筑结构。

以 Mimilib 为例子,申请注册的回调 *** 以下:

· SpInitialize – 用以复位 SSP 并提供函数指针目录

· SpShutDown – 在卸载掉 SSP 时提供释放出来資源的机遇

· SpGetInfoFn – 提供关于 SSP 的信息内容,包含版本号、名字和叙述

· SpAcceptCredentials – 接受 LSA 传送的明文凭证,并由 SSP 开展缓存文件

自然,假如你阅读文章了上一篇文章,你能发觉 WDigest 应用 SpAcceptCredentials 来缓存文件凭证,因而,这造成造成了大家很多年来一直在“享受”的系统漏洞。

伴随着每一个回调的添充,而且了解系统软件将根据一个明文凭证的副原本启用 SpAcceptCredentials,以后 Mimilib 所必须做的便是按提供的 *** 储存凭证,这恰好是 kssp_SpAcceptCredentials 所做的事儿:

NTSTATUS NTAPI kssp_SpAcceptCredentials(SECURITY_LOGON_TYPE LogonType, PUNICODE_STRING AccountName, PSECPKG_PRIMARY_CRED PrimaryCredentials, PSECPKG_SUPPLEMENTAL_CRED SupplementalCredentials)

{

FILE *kssp_logfile;

#pragma warning(push)

#pragma warning(disable:4996)

if(kssp_logfile=_wfopen(L"kiwissp.log", L"a"))

#pragma warning(pop)

{

klog(kssp_logfile, L"[\bx:\bx][\bx]%wZ\\\\%wZ (%wZ) ", PrimaryCredentials->LogonId.HighPart, PrimaryCredentials->LogonId.LowPart, LogonType, &PrimaryCredentials->DomainName, &PrimaryCredentials->DownlevelName, AccountName);

klog_password(kssp_logfile, &PrimaryCredentials->Password);

klog(kssp_logfile, L"

");

fclose(kssp_logfile);

}

return STATUS_SUCCESS;

}

如今,我不会觉得 mimikatz.exe 提供了适用立即载入 Mimilib 的作用,可是大家从微软公司的文本文档中能够了解,根据加上注册表文件键和并重启,就可以加上 SSP。

殊不知,历经一番检索,我发现这条文章:

推文的意思自然是在说对 API AddSecurityPackage 的引入,这事实上是@mattifestation 撰写的 Install-SSP.ps1 脚本 *** 中载入 SSP 所应用的方式。 这代表着,事实上我们可以不在重启系统软件的状况下载入 Mimilib。 载入后,大家发觉每一次获取凭证的试着都是会造成凭证被载入到 kiwissp.log 文档中:

如今,在完善的自然环境中应用 SSP 有一个缺陷,那便是 SSP 务必在 lsass 过程中开展申请注册。 这促使防御者在尝试追踪故意主题活动时能够应用很多的产品工件,不论是为引入 SSP 而建立的注册表项,還是 lsass 过程中的某一个异常的 DLL 控制模块。 大家还能够见到 SSP 公布了名字和注解这两个字段名,能够应用 EnumerateSecurityPackages 涵数开展枚举类型,以下:

#define SECURITY_WIN32

#include

#include

#include

int main(int argc, char **argv){

ULONG packageCount=0;

PSecPkgInfoA packages;

if (EnumerateSecurityPackagesA(&packageCount, &packages)==SEC_E_OK){

for (int i=0; i

如同我们可以在下面所见到的,輸出数据显示了每一个已载入的 SSP 的信息内容,这代表着 Mimilib 很有可能较为醒目:

那麼,大家该怎么做才可以防止一眼就看得出 Mimilib 呢? 不言而喻的作法是改动 Mimilib 的 SpGetInfo 回调所回到的叙述,这一回调被硬编码为以下內容:

相关文章

反击电视剧美剧第九季下载(美剧反击第九季国语版)

反击电视剧美剧第九季下载(美剧反击第九季国语版)

本文目录一览: 1、谁有美剧反击的完整版 2、美剧未删减版反击哪里可以看到? 3、哪里能下到高清美剧 反击 4、反击美剧,百度云资源 5、美剧反击1-5无删减百度云 6、《反击》1...

定位找人不让对方知道(微信不让对方知道定位找人)

定位找人不让对方知道(微信不让对方知道定位找人)

本文导读目录: 1、如果被人订位了怎么才能不`让他知道? 2、华为怎么关闭定位不让别人知道我的位置 3、你好,手机位置怎么删除,怎么不让对方知道你的位置,不想让他定到你,从哪里可以卸载位置定位...

手机赚钱软件(手机赚钱最靠谱的app)

  手机上赚钱的软件(手机挣钱最可靠的app)   坚信许多盆友都了解如今许多运动赚、刷视频赚零花钱、完全免费看小说赚钱、打游戏赚钱这些赚钱的软件五花八门,广告宣传打得尤其响,殊不知真实能赚钱的app...

埃塞俄比亚宣布在北部演员刘磊地区实施为期6个月紧急状

  埃塞俄比亚宣布在北部地区实施为期6个月紧急状态   新华社亚的斯亚贝巴11月4日电(记者王守宝)埃塞俄比亚部长理事会4日通过决议并发布声明,决定在埃塞俄比亚北部的提格雷州实施为期6个月的紧急状态...

希沃管家怎么卸载 希沃管家卸载教程及卸载方法分享

希沃大管家怎么卸载呢?下边是我详细介绍希沃大管家卸载掉实例教程及卸载掉方式 共享,有必须的小伙伴们一起来下面瞧瞧吧,期待能够协助到大伙儿!       希沃大管家怎么卸载呢?下边是我详细介绍希沃大管家...

黑客博客接单_黑客和骇客的区别和联系-找黑客盗游戏号怎么找

|_SHA-1: da6f aaeb 31b4 51a8 73b6 403a 728d c0e5 a1e9 7c08$HOME/Library/LaunchAgents/com.apple.iClou...