一、前言一.mimikatz简介 是法国人Gentil Kiwi编写的一款windows平台下的神器,它具备很多功能,其中最亮的功能是直接从 lsass.exe 进程里获取windows处于active状态账号的明文密码。mimikatz的功能不仅如此,它还可以提升进程权限,注入进程,读取进程内存等等,mimikatz包含了很多本地模块,更像是一个轻量级的调试器。

二、Mimikatz提取用户凭证

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

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

2.1获取用户凭证信息

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

重点是第二步和第三步。

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

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

最后打印出来的会话信息

2.2获取加密用户密码的密钥

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

用PTRN_WALL_LsaInitializeProtectedMemory_KEY作为特征码进行搜索

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

2.3解密账户密码

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

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

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

三、总结

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

域用户组成员 导出_隐私安全,黑客利用Mimikatz提取Windows用户凭证相关推荐

  1. 黑客利用智能灯泡窃取用户数据!

    研究人员发现,有的灯泡能够把个人设备中的隐私数据泄漏出来,并且可以通过远程记录其亮度模式来泄漏多媒体偏好. 为了使光源成为攻击面,它们需要满足一些要求,例如支持多媒体可视化和红外功能.攻击者不需要攻击 ...

  2. linux 域账户密码忘记,linux基础命令-用户域用户组管理

    //与用户相关的配置文件:/etc/passwd:  #用户的配置文件, 保存用户账户的基本信息 /etc/shadow  #用户影子口令文件 一.用户帐号文件--passwd 1."/et ...

  3. 虚拟化基础架构Windows 2008篇之2-域用户与域用户组管理

    看完文章,请顺手投我一票(王春海),谢谢 http://edu.51cto.com/activityvote/voteRanking 京东6.18结束了,IT人自己的6.18来了!!!51CTO学院3 ...

  4. 服务器上的文件总提示只读,如何解决域内成员打开文件老是以只读方式打开

    复制文件或文件夹从服务器到时是不同的域的成员服务器 ,第二个服务器可能不标识第一个服务器的本地组. 出现此问题的第二个服务器无法识别安全标识符 (SID),第一台服务器的本地组的原因. 本文讨论一种解 ...

  5. iacr crypto 级别_以防范病毒和黑客的侵犯,Windows 10如何调整IE目前的安全级别

    今天介绍为了防范病毒和黑客的侵犯,Windows 10如何调整IE目前的安全级别.小伙伴们在享受网络带来方便的同时,可能不一定关心,其实也要注意相应的安全设置,以预防病毒和黑客的侵犯.小伙伴们也许不了 ...

  6. 域控下发脚本_域环境下做到单用户登陆控制脚本

    早两年的时候因目前工作的工厂有要求做域环境下单用户的登陆控制,即只允许一个用户帐号在域环境下一台电脑登陆,以此来做好相关用户资料及权限控制的要求,故通过此脚本来做好相关用户的登陆记录,并配合之后的注销 ...

  7. 华为手机坏了数据怎么导出_手机视频怎么导出音频?

    原标题:手机视频怎么导出音频? 手机上视频怎么提取音频,用什么软件提取视频原音?视频转mp3格式转换器,如何批量从视频里面提取音频?苹果怎么提取视频声音,怎么把视频转成mp3?我们在浏览视频的时候看到 ...

  8. 域渗透-白银票据和黄金票据的利用

    最近做了一些靶场域渗透的实验,记录下一些关于白银票据和黄金票据的问题. 0x01 白银票据的利用 1 环境信息 域控DC 192.168.183.130 域内主机win7 192.168.183.12 ...

  9. 破解帐户后,黑客重现如何榨干用户的最终价值

    破解帐户后,黑客重现如何榨干用户的最终价值 CSDN,天涯等数据库被拖引发了全民网络担忧,那么黑客拿到这些隐私秘密后会怎么用呢?他们会如何由点到面榨干一个用户的最终价值呢?一位匿名黑客从笔者已被泄露的 ...

最新文章

  1. 【队列源码研究】消息队列beanstalkd源码详解
  2. 不错的Android开发网站
  3. cmw500综合测试仪使用_综合布线中手持式测试仪
  4. NOIP2018——总结油记
  5. LeetCode 726. 原子的数量
  6. 时间复杂度和空间复杂度的故事
  7. 计算机应用与网络文化,计算机文化与应用基础
  8. Java 使用 zip4j 进行基本的压缩、解压、设置密码操作(version zip4j-2.6.4)
  9. 开源的自然语言处理工具
  10. openlayers 初步认识(转)
  11. 运算符重载——递增运算符重载
  12. java scanner 回车_Java Scanner类用法及nextLine()产生的换行符问题实例分析
  13. Spark 基础 —— RDD(一)
  14. JS中的作用域及闭包
  15. 解决:The proxy server received an invalid response from an upstream server
  16. HIT CSAPP 大作业
  17. ddr4 dqs 频率_一张图看懂如何选择DDR4内存频率和容量
  18. 文件上传进度条 c 语言,cgi 上传文件(c 语言) 进度条显示
  19. 2021极术通讯-使用Arm-2D在Cortex-M芯片中实现图形界面
  20. 洛谷:P1462 通往奥格瑞玛的道路

热门文章

  1. 通过COS上传文件至腾讯云
  2. 利用 T-sql 的从句 for xml path('') 实现多行合并到一行, 并带有分隔符
  3. Windows Server 2008 R2 如何启用WINS服务
  4. 阿里云容器服务新增支持Kubernetes编排系统,性能重大提升
  5. glob及IO重定向
  6. NHibernate概括
  7. 上海奋斗记--从3500到700W(转)
  8. 802.11 区分广播 多播 单播帧
  9. python3.6执行pip3时 Unable to create process using ''
  10. 二叉树中如何求根节点到任意节点的路径?