利用mimikatz和procdump在Windows系统下提取密码的实战技巧

news2026/3/19 11:16:50
1. 认识mimikatz和procdump这对黄金搭档第一次接触mimikatz是在一次内部安全演练中当时我正为如何验证系统密码强度发愁。这款由法国安全研究员Benjamin Delpy开发的小工具用一条简单的命令就让我看到了系统里存储的明文密码那种震撼至今难忘。而procdump则是微软官方出品的调试工具本意是用来帮助开发者分析程序崩溃问题但在安全领域却成了提取内存数据的利器。mimikatz最让人惊叹的地方在于它能直接从lsass.exe进程中提取登录凭证。lsass是Windows系统的本地安全认证子系统服务负责处理用户的登录验证。当你输入密码登录系统时lsass会在内存中保留这些凭证的明文或哈希值。在Windows 7和早期版本中由于没有足够的保护措施这些密码就像放在透明的保险箱里一样容易被读取。procdump的作用则是当直接使用mimikatz遇到阻碍时先把lsass进程的内存数据完整地转储到文件中。这就好比你想研究一个珍贵的标本但不能直接触碰原件于是先做个完美的复制品来研究。特别是在Windows 10和更新的系统中微软加强了内存保护机制直接读取lsass变得越来越困难这时候procdump的价值就凸显出来了。2. 在Windows 7系统下直接提取明文密码Windows 7系统可以说是mimikatz发挥威力的最佳舞台。记得我第一次在虚拟机里测试时只用了几条命令就看到了所有登录过的用户密码那种感觉既兴奋又有点后怕。下面我详细说说具体操作步骤。首先需要以管理员身份运行cmd然后导航到mimikatz所在目录。这里有个小技巧如果遇到杀毒软件拦截可以尝试将mimikatz.exe改名为其他看似无害的名字比如notepad.exe。进入mimikatz交互界面后第一步要做的就是提升权限privilege::debug这条命令会尝试启用SeDebugPrivilege权限这是访问其他进程内存的关键。如果看到Privilege 20 OK的提示说明权限提升成功。接下来就是见证奇迹的时刻sekurlsa::logonpasswords执行后你会看到类似这样的输出Authentication Id : 0 ; 123456 (00000000:001e240) Session : Interactive from 1 User Name : Admin Domain : WORKGROUP Logon Server : WIN7PC Logon Time : 2023/5/15 10:00:00 SID : S-1-5-21-123456789-1234567890-123456789-500 msv : [00000003] Primary * Username : Admin * Domain : WORKGROUP * NTLM : 31d6cfe0d16ae931b73c59d7e0c089c0 * SHA1 : da39a3ee5e6b4b0d3255bfef95601890afd80709 tspkg : wdigest : * Username : Admin * Domain : WORKGROUP * Password : (null) kerberos : * Username : Admin * Domain : WORKGROUP * Password : mypassword123这里最值得关注的是kerberos部分在Windows 7下往往会直接显示明文密码。如果看到的是(null)可能是因为用户登录时间过久系统已经清理了这部分内存数据。这时候可以尝试让目标用户重新登录系统或者检查是否启用了WDigest认证方式。3. Windows 10系统中的密码提取挑战与解决方案到了Windows 10时代微软终于开始认真对待这个问题了。从Windows 8.1开始系统默认不再在内存中存储明文密码这让很多安全研究人员一度以为mimikatz要退出历史舞台了。但事实证明安全攻防就像猫鼠游戏总有新的方法被发掘出来。在Windows 10中直接运行sekurlsa::logonpasswords命令你很可能会发现密码字段都显示为(null)。这是因为微软做了几项重要改进默认禁用WDigest认证引入了LSASS进程保护机制要求更高的权限级别但这并不意味着密码就绝对安全了。我们还有几种应对方案第一种方法是尝试重新启用WDigest。这需要修改注册表reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f修改后需要用户重新登录才能生效。不过在高版本Windows 10中这种方法可能已经被限制。第二种方案是提取NTLM哈希值。虽然这不是明文密码但在很多情况下哈希值同样可以用来进行横向渗透。使用命令sekurlsa::msv获取到的NTLM哈希可以用于哈希传递攻击或者使用彩虹表进行破解。第三种方案就是我们接下来要重点介绍的procdumpmimikatz组合技这也是目前在较新Windows版本中最可靠的方法。4. 使用procdump获取lsass内存转储Procdump是微软Sysinternals工具集中的一个命令行工具原本设计用来帮助开发者捕获应用程序崩溃时的内存状态。但安全研究人员很快发现它可以完美地用于提取lsass进程的内存数据而且由于是微软官方工具往往能绕过一些安全防护。我第一次使用procdump时犯了个错误直接在没有管理员权限的情况下运行结果当然失败了。正确的使用方法是先以管理员身份打开命令提示符然后执行procdump.exe -accepteula -ma lsass.exe lsass.dmp这个命令有几个关键参数-accepteula自动接受最终用户许可协议-ma生成完整内存转储文件lsass.exe指定要转储的进程lsass.dmp输出的转储文件名执行过程中可能会触发Windows Defender的警报这时候可以考虑以下几种应对措施临时禁用实时保护将procdump.exe加入排除列表使用经过签名的procdump版本尝试在其他目录下运行转储文件的大小通常在几十MB到几百MB不等取决于系统运行时间和登录用户数量。我曾经在一个繁忙的服务器上获取过近1GB的lsass.dmp文件分析起来相当耗时。5. 从转储文件中提取密码信息拿到lsass.dmp文件后接下来的工作就可以在攻击者的机器上进行了这大大降低了在目标系统上长时间操作被发现的风险。这里分享一个我实际工作中的案例有一次我们需要对一台关键服务器进行安全评估但只能在凌晨2点到3点之间进行操作。使用procdump快速获取转储文件后我们就能在自己的分析环境中慢慢研究避免了在维护窗口期内匆忙操作。使用mimikatz分析转储文件的命令如下sekurlsa::minidump lsass.dmp sekurlsa::logonpasswords第一行命令告诉mimikatz使用我们转储的文件而不是实时系统第二行命令则是实际提取登录凭证。输出格式与直接运行mimikatz类似但可能会包含更多历史登录信息。在分析大型转储文件时可能会遇到内存不足的问题。我建议使用64位版本的mimikatz并在性能较好的机器上运行。如果还是遇到问题可以尝试先筛选特定用户sekurlsa::minidump lsass.dmp sekurlsa::logonpasswords /user:Admin有时候我们可能只对某些特定类型的凭证感兴趣比如域管理员账户。mimikatz提供了丰富的过滤选项sekurlsa::minidump lsass.dmp sekurlsa::logonpasswords /type:kerberos对于特别大的转储文件分析过程可能会很慢。这时候可以考虑先提取哈希值因为它们的存储格式更紧凑sekurlsa::minidump lsass.dmp sekurlsa::msv6. 应对无法获取明文密码的情况随着Windows系统的不断更新获取明文密码变得越来越困难。在最新的Windows 11 22H2版本中微软甚至默认启用了Credential Guard这给传统的密码提取方法带来了巨大挑战。但安全研究就像一场永无止境的军备竞赛总有新的技术被开发出来。当无法直接获取明文密码时NTLM哈希仍然是很有价值的目标。虽然它不是原始密码但在很多情况下可以用于哈希传递攻击。获取到哈希后可以考虑以下几种利用方式第一种方法是使用哈希直接进行身份验证。很多工具都支持这种攻击方式比如sekurlsa::pth /user:Admin /domain:Corp /ntlm:31d6cfe0d16ae931b73c59d7e0c089c0第二种方法是尝试破解哈希。虽然现代密码的NTLM哈希很难直接暴力破解但如果密码强度不够使用彩虹表仍然可能在较短时间内破解。我曾经遇到过使用公司名称年份作为密码的情况这种密码在大型彩虹表面前不堪一击。第三种方法是检查是否有服务账户使用了相同的密码。在大型企业中服务账户密码往往更新不及时可能还在使用较弱的密码。通过横向移动有时候可以从其他系统获取到更有价值的凭证。7. 防御措施与最佳实践站在防御者的角度了解这些技术同样重要。作为曾经负责企业安全加固的安全工程师我总结了以下几点有效的防御措施首先确保所有终端都启用了LSASS保护。这可以通过组策略配置计算机配置 管理模板 系统 本地安全认证子系统服务 启用配置LSASS以作为受保护进程运行其次定期监控lsass进程的访问行为。高级的EDR解决方案可以检测到异常的内存读取操作。我曾经通过监控procdump的调用参数成功阻止了几起内部渗透测试。第三实施凭证分段管理。域管理员账户不应该直接用于日常管理任务而应该使用专门的账户管理系统。微软的LAPS本地管理员密码解决方案就是个不错的选择它能确保每台机器的本地管理员密码都不同且定期更换。最后也是最重要的启用多因素认证。即使攻击者获取到了密码或哈希没有第二因素也无法完成认证。现代Windows系统已经原生支持多种MFA方案部署起来比想象中简单。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2426191.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…