window下抓取密码总结

2019-05-05 15:05:28 浏览数 (1)

本文来自知乎:

https://zhuanlan.zhihu.com/p/58875844

无论是在我们渗透测试过程中(授权的情况下)还是在自己搭建的环境中进行攻防演练,获取服务器的明文密码或这hash值这一步骤非常重要,如果抓取到的密码是整个域内服务器的通用密码,那我们就可以不费吹灰之力拿到整个域控内的所有服务器。现在抓取密码的工具差不多都是exe、图形化工具、python写的工具等。

既然我们可以抓到主机的密码,那么相应的厂商也会做出相应的应对措施,比如系统为win10或2012R2以上时,默认在内存缓存中禁止保存明文密码,此时可以通过修改注册表的方式抓取明文,但需要用户重新登录后才能成功抓取;杀毒软件根据木马的的特征码直接杀死抓取面的工具,这时我们需要编写过杀毒软件的代码、修改注册表等等。

渗透测试往往就是矛与盾的较量,是矛更厉害,还是盾防的到位,其实就是在一瞬间的事情,细节决定成败,攻方需要了解防守方的策略;守护者需要明白攻方的套路。渗透测试路漫漫,唯独知识来充实自己。

下面介绍一下几款不错的工具,话不多说,直接进入正题,下面的测试全是在自己搭建的环境中:

一、mimikatz_trunk工具抓取密码

1、 mimikatz_trunk工具:

mimikatz这款工具是一个法国人写的轻量级调试器。这款工具的牛逼之处就是可以直接从 lsass.exe 里猎取windows处于active状态账号明文密码,非常强大。mimikatz2.0以后的版本抓取密码很简单,只需要两步就可以抓取密码。

(1)、提升权限:privilege::debug

(2)、抓取主机密码:

2、需要说明一下,当系统为win10或2012R2以上时,默认在内存缓存中禁止保存明文密码,此时可以通过修改注册表的方式抓取明文,但需要用户重新登录后才能成功抓取。

(1)、抓取到的密码为空:

我们可以通过修改注册表来绕过这个,需要用户重新登录后才能成功抓取。修改注册表的命令:

reg add hklmSYSTEMCurrentControlSetControlSecurityProvidersWDigest /v UseLogonCredential /t REG_DWORD /d 1 /f

(2)、我们运行完毕后,当用户再次登录服务器,我们重新加载mimikatz,就能获取到用户的密码:

当我们不需要存储明文密码的时候,我们可以将上述命令中的REG_DWORD的值修改为0即可。

3、我们还可以利用mimikatz在线导出sam的Hash:

分别执行命令:

log res.txt

privilege::debug

token::elevate

lsadump::sam

当我们获取到hash值后,我们通过破解hash值来获取明密码,用hashcat直接跑,字典越大跑出来的几率就越大;推荐一下在线破解hash值的网站:

www.objectif-securite.ch

Objectif Sécurité - Ophcrackwww.objectif-securite.ch

4、这款工具也可以配合Procdump进行抓取密码:

首先我们先用procdum这款工具下载lsass进程的内存,这个工具一般不会被AV查杀的,这款工具也分为32位和64位两个版本:

(1)、执行下载lsass进程内存的命令>procdump64.exe -accepteula -ma lsass.exe ,执行完毕后,在当前目录下会生成一个lsass---.dmp的文件,这个文件是我们需要的文件:

(2)、将这个文件放在mimikatz目录下,然后启动mimikatz.exe,执行sekurlsa::minidump lsass.exe_190310_001506.dmp:

(3)、 执行读取密码的命令:sekurlsa::tspkg:

5、nishang抓取主机密码:

Nishang是一款针对PowerShell的渗透工具,除了可以抓取密码还可以进行端口扫描、提权、密码爆破等功能,这款工具依赖系统权限(有点小瑕疵),今天只是说一下抓密码的功能:

附下载地址:下载地址:

https://github.com/samratashok/nishang

Posershell既然是一个框架,那我们需要将nishang导入到这个框架当中,运行脚本需要一定的权限,powershell默认的执行策略是Restricted,这个Restricted是不允许运行任何脚本的。你在PowerShell执行Get-ExecutionPolicy命令来查看默认的策略组:

我们需要修改策略组,在PowerShell下执行Set-ExecutionPolicy remotesigned,将策略值改为remotesigned,这样我们就可以运行脚本:

首先需要下载的nishang,然后执行导入的操作,Import-Module .nishangnishang.psm1,首次导入会产生警告的提示,这样我们不用去理会,再次执行导入命令就可以:

接下来我们试一下抓取用户的hash值,执行Get-PassHashes,成功获取用户的hash值:

执行抓取用户的明文密码:

(1) powershell –exec bypass –Command "& {Import-Module'C:WindowsSystem32WindowsPowerShellv1.0nishangGatherInvoke-Mimikatz.ps1';Invoke-Mimikatz}"

三、Quarks PwDump抓取用户密码:

Quarks PwDump 是一款开放源代码的Windows用户凭据提取工具,它可以抓取windows平台下多种类型的用户凭据,包括:本地帐户、域帐户、缓存的域帐户和Bitlocker。

(1)、QuarksPwDump.exe参数说明:

-dhl 导出本地哈希值

-dhdc导出内存中的域控哈希值

-dhd 导出域控哈希值,必须指定NTDS文件

-db 导出Bitlocker信息,必须指定NTDS文件

-nt 导出ntds文件

-hist 导出历史信息,可选项

-t 导出类型可选默认导出为John类型。

-o 导出文件到本地

(2)、执行抓取用户密码的命令quarksPwDump.exe --dump-hash-local -o hash.txt,我们将抓取到的本地用户的密码保存到本地目录下的hash.txt中,保存的位置以及文件名自己可以设置:

四、LaZagne本地抓取计算机密码:

LaZagne是一款用于检索大量存储在本地计算机密码的开源应用程序。该工具通过python开发,易读、易维护,依赖的python2版本,这款工具不仅能抓取胡勇密码,还可以抓取浏览器中的缓存的密码、SVN密码、wifi密码、邮箱密码等功能,这款工具不经适用于windows,也可以适用于Linux、MAC,这里只是演示一

下windows下抓取本地的用户密码:

先看一下这款工具的参数:

测试一下抓取本地用户密码:

执行命令:lazagne.exe windows,成功获取到用户密码:

如果详细了解这款工具,可以参考一下这篇文章,本小白觉得写的还不错,挺详细的,附链接

http://link.zhihu.com/?target=https://www.4hou.com/tools/7404.html

五、wce抓取密码:

这款工具是一款Hash注入神器,不仅可以用于Hash注入,也可以直接获取明文或Hash。这款工具也分为32位和64位两个不同的版本:

先来看一下这款工具的参数详解:

参数解释:

-l 列出登录的会话和NTLM凭据(默认值);

-s 修改当前登录会话的NTLM凭据 参数:<用户名>:<域名>:<LM哈希>:<NT哈希>;

-r 不定期的列出登录的会话和NTLM凭据,如果找到新的会话,那么每5秒重新列出一次;

-c 用一个特殊的NTML凭据运行一个新的会话 参数:<cmd>;

-e 不定期的列出登录的会话和NTLM凭据,当产生一个登录事件的时候重新列出一次;

-o 保存所有的输出到一个文件 参数:<文件名>;

-i 指定一个LUID代替使用当前登录会话 参数:<luid>。

-d 从登录会话中删除NTLM凭据 参数:<luid>;

-a 使用地址 参数: <地址>;

-f 强制使用安全模式

-g 生成LM和NT的哈希 参数<密码>

-f 强制使用安全模式;希 参数<密码>;(unix和windows wce格式);;;

-k 从一个文件中读取kerberos票据并插入到windows缓存中

-k 从一个文件中读取kerberos票据并插入到windows缓存中;

-v 详细输出;

(2)、抓取用户的明文密码:

执行命令:Wce.exe -w

(3)、抓取hash值: 执行命令wce.exe -l

如果不想把抓取的密码或者hash值显示在dos界面上,也可以保存在txt文档中,比如:wce.exe -w > hash.txt

六、Getpass工具

这款工具由闪电小子根据mimikatz编译的一个工具,双击运行或者在cmd运行可以直接获取明文密码,有的时候需要自己做免杀处理。

七、Pwdump7工具

Pwdump 7是一个免费的Windows实用程序,它能够提取出Windows系统中的口令,并存储在指定的文件中。Pwdump7是Pwdump3e的改进版,该程序能够从Windows目标中提取出NTLM和LanMan口令散列值,而不管是否启用了Syskey(这是一个Windows账户数据库加密工具,是Windows下的一条命令)。

这款工具使用比较方便,直接在dos命令中执行pwdump7.exe,就可以直接抓取密码,如.不愿意输出到桌面,可以执行pwdump7.exe > hash.txt。

抓取到的hash值可以通过在线破解获取明文密码:

如果抓到的hash密码在这个网站破解失败后,可以把它放在MD5里面进行破解也可以成功,只不过这个几率有点小:

''''''''''

其实还有几款工具还没介绍,比如利用注册表来离线读取hsah、SqlDumper 配合mimikatz来读取用户密码等工具。等小白把这几款工具的使用方法总结完毕后,再和大家分享一下。重要的事情说三遍,测试是在本地搭建环境进行的,切勿非法使用;测试是在本地搭建环境进行的,切勿非法使用;测试是在本地搭建环境进行的,切勿非法使用。

0 人点赞