Mimikatz提取Windows用户凭证分析

栏目: IT技术 · 发布时间: 4年前

内容简介:攻击者在获取到Windows shell之后,有可能会上传Mimikatz提取用户凭证。由于提取密码是本地操作,在执行时并没有网络流量产生,而ips,waf网络设备能检测到的Mimikatz相关流量主要是通过上传、下载、写入到目标及其上的过程,这一部分属于对菜刀、冰蝎工具的检测,所以要识别攻击者使用Mimikatz的动作,基本还是需要靠edr等终端安全产品。Mimikatz提取用户凭证功能,其主要集中在sekurlsa模块,该模块又包含很多子模块,如msv,wdigest,kerberos等,使用这些子模块

一、前言

攻击者在获取到Windows shell之后,有可能会上传Mimikatz提取用户凭证。由于提取密码是本地操作,在执行时并没有网络流量产生,而ips,waf网络设备能检测到的Mimikatz相关流量主要是通过上传、下载、写入到目标及其上的过程,这一部分属于对菜刀、冰蝎 工具 的检测,所以要识别攻击者使用Mimikatz的动作,基本还是需要靠edr等终端安全产品。

二、Mimikatz提取用户凭证

Mimikatz提取用户凭证功能,其主要集中在sekurlsa模块,该模块又包含很多子模块,如msv,wdigest,kerberos等,使用这些子模块可以提取相应的用户凭证,如sekurlsa::wdigest提取用户密码明文,sekurlsa::kerberos提取域账户凭证,sekurlsa::msv提取ntlm hash凭证,在kuhl_m_c_sekurlsa这个数组里面有各个子模块功能的注释,如下:

Mimikatz提取Windows用户凭证分析

Mimikatz使用了一个的框架,来处理对内存的操作。以wdigest子模块为例,如果在目标机器上运行mimikatz,会跨进程读取读取lsass.exe进程的wdigest.dll模块的数据,如果是用dump文件方式提取密码则是直接打开文件。

Mimikatz提取Windows用户凭证分析 2.1获取用户凭证信息

通过遍历加载的DLL模块名称,来初始化Mimikatz关注的一些DLL的统计信息结构体。

Mimikatz提取Windows用户凭证分析

重点是第二步和第三步。

第二步调用了kuhl_m_sekurlsa_utils_search继而调用kuhl_m_sekurlsa_utils_search_generic如下,

Mimikatz提取Windows用户凭证分析

搜索的是LsaSrv.dll的特征码,结合偏移量找到所有的登录会话信息。

Mimikatz提取Windows用户凭证分析

最后打印出来的会话信息

Mimikatz提取Windows用户凭证分析 2.2获取加密用户密码的密钥

第三步调用了lsassLocalHelper->AcquireKeys(&cLsass, &lsassPackages[0]->Module.Informations);,实际对于NT6系统实际调用的是kuhl_m_sekurlsa_nt6_acquireKeys

Mimikatz提取Windows用户凭证分析

用PTRN_WALL_LsaInitializeProtectedMemory_KEY作为特征码进行搜索

Mimikatz提取Windows用户凭证分析

获取初始化向量和密钥本身

Mimikatz提取Windows用户凭证分析

2.3解密账户密码

基于2.1得到的登录会话信息(包含加密后的用户密码)和2.2得到的加密密钥和初始化向量,mimikatz的wdigest子模块便可以提取用户密码明文。

Mimikatz提取Windows用户凭证分析

kuhl_m_sekurlsa_genericCredsOutput实际调用kuhl_m_sekurlsa_nt6_LsaEncryptMemory进行密码的密文解密。

Mimikatz提取Windows用户凭证分析

最后根据密文长度是否是8的倍数,来调用Aes解密和Des解密(BCryptDecrypt)。

三、总结

Mimikatz的提取密码流程主要分为三步1、获取登录会话的信息,包含了用户密码的加密后密文;2、提取用于加密的密钥值,3、调用Windows导出函数BCryptDecrypt进行解密。由于提取会话信息和密钥都用的是特征码,因此这些特征码作为杀毒软件和edr产品的特征值会非常合适,而攻击者也会采用动态加载的方式防止这种特征的静态扫描。由于水平有限,欢迎大家指出文中的错误和交流指教。

参考资料:

https://blog.xpnsec.com/exploring-mimikatz-part-1/

一并感谢参考过的其他技术分享博客

*本文作者:新华三攻防团队,转载请注明来自FreeBuf.COM


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

C++Templates中文版

C++Templates中文版

David Vandevoorde、Nicolai M.Josuttis / 陈伟柱 / 人民邮电出版社 / 2008-2 / 69.00元

本书是C++模板编程的完全指南,旨在通过基本概念、常用技巧和应用实例3方面的有用资料,为读者打下C++模板知识的坚实基础。 全书共22章。第1章全面介绍了本书的内容结构和相关情况。第1部分(第2~7章)以教程的风格介绍了模板的基本概念,第2部分(第8~13章)阐述了模板的语言细节,第3部分(第14~18章)介绍了C++模板所支持的基本设计技术,第4部分(第19~22章)深入探讨了各种使用模板......一起来看看 《C++Templates中文版》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

MD5 加密
MD5 加密

MD5 加密工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具