本文转自知乎:https://www.php.cn/link/7428f98008346bb6aa6fc92d257505ab
无论是在我们进行授权的渗透测试中,还是在自己搭建的环境中进行攻防演练,获取服务器的明文密码或其哈希值都是至关重要的一步。如果能够获取到整个域内服务器的通用密码,我们就能轻易掌控域控内的所有服务器。当前用于抓取密码的工具主要包括exe格式、图形化工具以及用Python编写的工具等。
既然我们能够获取到主机的密码,那么相应的厂商也会采取相应的防护措施。例如,在Windows 10或2012 R2及以上版本的系统中,默认情况下内存缓存中禁止保存明文密码,此时可以通过修改注册表来抓取明文密码,但需要用户重新登录后才能成功抓取。杀毒软件会根据木马的特征码直接终止抓取密码的工具,这时我们需要编写能够绕过杀毒软件的代码、修改注册表等。
渗透测试往往是攻防双方的较量,是进攻方更厉害,还是防御方防护到位,往往就在一瞬间,细节决定成败。攻方需要了解防守方的策略,守护者则需明白攻方的套路。渗透测试之路漫漫,唯有不断学习来充实自己。
接下来介绍几款优秀的工具,话不多说,直接进入主题,以下测试均在自己搭建的环境中进行:
一、使用mimikatz_trunk工具抓取密码
1、mimikatz_trunk工具:
mimikatz是一款由法国人编写的轻量级调试器。这款工具的强大之处在于可以直接从lsass.exe中提取Windows处于活动状态的账户明文密码。mimikatz 2.0以后的版本抓取密码非常简单,只需两步即可。
(1)、提升权限:privilege::debug
(2)、抓取主机密码:
2、需要注意的是,当系统为Windows 10或2012 R2及以上版本时,默认在内存缓存中禁止保存明文密码,此时可以通过修改注册表来抓取明文密码,但需要用户重新登录后才能成功抓取。
(1)、如果抓取到的密码为空:
我们可以通过修改注册表来绕过这一限制,需要用户重新登录后才能成功抓取。修改注册表的命令如下:
reg add hklm\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f
(2)、运行上述命令后,当用户再次登录服务器,我们重新加载mimikatz,就能获取到用户的密码:
当我们不需要存储明文密码时,可以将上述命令中的REG_DWORD的值修改为0。
3、我们还可以利用mimikatz在线导出SAM的哈希值:
分别执行命令:
log res.txt
privilege::debug
token::elevate
lsadump::sam
获取到哈希值后,我们可以通过破解哈希值来获取明文密码,使用hashcat直接运行,字典越大破解的几率就越大;推荐一个在线破解哈希值的网站:
www.objectif-securite.ch
Objectif Sécurité - Ophcrackwww.objectif-securite.ch
4、这款工具还可以与Procdump配合使用来抓取密码:
首先,我们使用procdump工具下载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://www.php.cn/link/42b1394bf884c117a3acd38d2d91d13a
PowerShell是一个框架,我们需要将nishang导入到这个框架中,运行脚本需要一定的权限,PowerShell默认的执行策略是Restricted,这个策略是不允许运行任何脚本的。可以在PowerShell中执行Get-ExecutionPolicy命令来查看默认的策略组:
我们需要修改策略组,在PowerShell下执行Set-ExecutionPolicy remotesigned,将策略值改为remotesigned,这样我们就可以运行脚本:
首先需要下载nishang,然后执行导入操作,Import-Module .\nishang\nishang.psm1,首次导入会产生警告提示,我们可以忽略,再次执行导入命令即可:
接下来我们尝试抓取用户的哈希值,执行Get-PassHashes,成功获取用户的哈希值:
执行抓取用户的明文密码:
(1) powershell –exec bypass –Command "& {Import-Module'C:\Windows\System32\WindowsPowerShell\v1.0\nishang\Gather\Invoke-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开发,易读、易维护,依赖于Python 2版本。这款工具不仅能抓取用户密码,还可以抓取浏览器中的缓存密码、SVN密码、WiFi密码、邮箱密码等功能。这款工具不仅适用于Windows,还可以适用于Linux、MAC,这里仅演示Windows下抓取本地的用户密码:
先看一下这款工具的参数:
测试一下抓取本地用户密码:
执行命令:lazagne.exe windows,成功获取到用户密码:
如果想详细了解这款工具,可以参考这篇文章,本人觉得写的不错,挺详细的,附链接
https://www.php.cn/link/b7720952eb73703ed33b3f05ddd2690a
五、使用wce抓取密码:
这款工具是一款哈希注入神器,不仅可以用于哈希注入,也可以直接获取明文或哈希。这款工具也分为32位和64位两个不同的版本:
先来看一下这款工具的参数详解:
参数解释:
-l 列出登录的会话和NTLM凭据(默认值);
-s 修改当前登录会话的NTLM凭据 参数:::
-r 不定期的列出登录的会话和NTLM凭据,如果找到新的会话,那么每5秒重新列出一次;
-c 用一个特殊的NTML凭据运行一个新的会话 参数:
-e 不定期的列出登录的会话和NTLM凭据,当产生一个登录事件的时候重新列出一次;
-o 保存所有的输出到一个文件 参数:;
-i 指定一个LUID代替使用当前登录会话 参数:
-d 从登录会话中删除NTLM凭据 参数:
-a 使用地址 参数: ;
-f 强制使用安全模式
-g 生成LM和NT的哈希 参数
-f 强制使用安全模式;希 参数;(unix和windows wce格式);;;
-k 从一个文件中读取kerberos票据并插入到windows缓存中
-k 从一个文件中读取kerberos票据并插入到windows缓存中;
-v 详细输出;
(2)、抓取用户的明文密码:
执行命令:Wce.exe -w
(3)、抓取哈希值:执行命令wce.exe -l
如果不想将抓取的密码或哈希值显示在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。
抓取到的哈希值可以通过在线破解获取明文密码:
如果抓到的哈希密码在这个网站上破解失败,可以将其放在MD5中进行破解也有可能成功,不过成功几率较小:

其实还有几款工具尚未介绍,例如利用注册表来离线读取哈希值、SqlDumper +配合mimikatz来读取用户密码等工具。等本人总结完这些工具的使用方法后,再与大家分享。重要的事情说三遍,测试是在本地搭建环境进行的,切勿非法使用;测试是在本地搭建环境进行的,切勿非法使用;测试是在本地搭建环境进行的,切勿非法使用。
以上就是window下抓取密码总结的详细内容,更多请关注php中文网其它相关文章!
Windows激活工具是正版认证的激活工具,永久激活,一键解决windows许可证即将过期。可激活win7系统、win8.1系统、win10系统、win11系统。下载后先看完视频激活教程,再进行操作,100%激活成功。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号