天天看点

Mimikatz 学习ing.....背景Mimikatz原理实现过程:进阶

背景

今天老大问我拿到内网一台机器,怎么知道用户密码。我自然不会,老大就让我了解Mimikatz这个工具。于是学习到这个直接读取远程服务器的密码的工具mimikatz

Mimikatz

mimikatz是法国人Gentil Kiwi编写的一款windows平台下的神器,这是我除了zywoo知道的第二个法国人了。它具备很多功能,其中最亮的功能是直接从lsass.exe 进程里获取windows处于active状态账号的明文密码。mimikatz的功能不仅如此,它还可以提升进程权限,注入进程,读取进程内存等等,mimikatz包含了很多本地模块,更像是一个轻量级的调试器,其强大的功能还有待挖掘。因为水平缘故,我目前只了解到获取windows明文密码这一功能。

原理

获取到内存文件lsass.exe进程(它用于本地安全和登陆策略)中存储的明文登录密码

在 KB2871997 之前, Mimikatz 可以直接抓取明文密码。当服务器安装 KB2871997 补丁后,系统默认禁用 Wdigest Auth ,内(lsass进程)不再保存明文口令。Mimikatz 将读不到密码明文。但由于一些系统服务需要用到 Wdigest Auth,所以该选项是可以手动开启的。(开启后,需要用户重新登录才能生效)。

一下是支持的系统。

  • Windows 7
  • Windows 8
  • Windows 8.1
  • Windows Server 2008
  • Windows Server 2012
  • Windows Server 2012R 2

利用前提:拿到了admin权限的cmd,管理员用密码登录机器,并运行了lsass.exe进程,把密码保存在内存文件lsass进程中。

抓取明文:手工修改注册表 + 强制锁屏 + 等待目标系统管理员重新登录 = 截取明文密码

实现过程:

安装 mimikatz_trunk

以管理员运行cmd:

命令如下:

privilege::debug
sekurlsa::logonpasswords
           

注意:在对目标攻击时,对方有安全软件时可以先安装procdump64.exe,获取到 lsass.dmp 文件,然后在自己的环境下运行mimikatz这样就获取到目标密码。

安装procdump64.exe

这是微软自己的工具所以不会存在任何异常所以放心使用

命令如下:

procdump64.exe -accepteula -ma lsass.exe lsass.dmp 
           

 获取到 lsass.dmp文件后可以用

 mimikatz.exe "sekurlsa::minidump lsass.dmp" "sekurlsa::logonPasswords full" exit 
           

来获取明文密码,最后的exit是运行完成之后停止,不然会一直运行下去

进阶

Windows8.1以上版本或打过KB2871997补丁的机器,lsass中不会存储密码,如果想抓取密码,可以将注册表HKLM(HKEY LOCAL MACHINE)\SYSTEM\CurrentControlSet\Control\securityProviders\Wdigest下的UseLogonCredential设置为1,类型为DWORD32

可以使用命令:

Reg add HKLM\SYSTEM\CurrentControlSet\Control\securityProviders Wdigest/v UselogonCredential/t REG_DWORD /d1

本文借鉴博客有:

https://www.cnblogs.com/Scholar-liu/p/11379950.html

拓展:

Mimikatz绕过安全软件:https://www.freebuf.com/articles/web/176796.html

http://www.hackdig.com/07/hack-55560.htm

继续阅读