
THM_Reset From OSCPlike list.

机器概述
本文记录了对TryHackMe上一台OSCPlike AD靶机 “Reset” 的渗透测试过程。靶机涉及信息收集、SMB匿名访问、ASREProast攻击、Kerberos约束委派利用等多个知识点。
信息收集
nmap扫描
首先,使用nmap对目标主机进行端口扫描,识别开放的服务。
1 | Nmap scan report for 10.10.222.47 |
扫描结果显示目标主机开放了SMB、LDAP以及RDP等服务,域名为 thm.corp
。其中 7680 端口的 pando-pub
服务未发现可利用信息,因此优先从SMB服务入手。
smb信息
使用 nxc
(NetExec) 枚举SMB共享,发现存在一个名为 Data
的共享,并且匿名用户具有读写权限。
1 | └─$ nxc smb 10.10.239.10 --shares -u anonymous -p '' |
尝试使用 smbclient
连接该共享,发现一个奇怪的现象:onboarding
目录下的文件名会不断变化。这导致直接下载大文件(如PDF)时会失败。
1 | ┌──(kali㉿kali)-[~/THM/Reset] |
为了解决这个问题,我将SMB共享挂载到本地文件系统,然后使用 cp
命令成功复制出了文件。sudo mount -t cifs //10.10.222.47/Data /mnt/smbshare -o user=anonymous,pass=
成功获取的txt文件中包含了一封欢迎邮件,泄露了新员工的默认密码。
Subject: Welcome to Reset -Dear
nxc枚举
利用RID爆破获取用户名列表,再结合上一步得到的默认密码 ResetMe123!
进行密码喷洒,成功发现了一个有效账户 lily_oneill
。
1 | ┌──(kali㉿kali)-[~/THM/Reset] |
然而,经过进一步测试,发现该账户权限极低,无法进行有效操作。
ASREProast攻击 (GetNPUsers)
此时,考虑到可能存在配置不当的域用户,我决定尝试ASREProast攻击。
1 是一个常用的脚本,用于查找域中设置了 “Do not require Kerberos preauthentication”(无需Kerberos预认证)属性的用户。
通常,用户在向KDC(密钥分发中心)请求TGT(票据授予票据)时,需要先用自己的密码哈希加密一个时间戳来进行“预认证”,以证明自己的身份。但如果某个账户(通常是服务账户)因为兼容性问题被禁用了预认证,攻击者就可以在不提供任何凭据的情况下,冒充该用户向KDC请求TGT。
虽然攻击者无法直接使用这个TGT,但TGT中包含了一部分用该用户原始密码的NT Hash加密的数据。攻击者可以提取这部分数据,并在本地进行离线破解,从而获取用户的明文密码。
使用 GetNPUsers.py
成功获取到了三个用户的TGT Hash。
1 | $krb5asrep$23$ERNESTO_SILVA@THM.CORP:42f7482d00e3c0662c681a93aeb417cb$4ba8... |
将获取到的Hash交给 hashcat
进行破解,成功得到用户 tabatha_britt
的密码:marlboro(1985)
。该用户拥有RDP登录权限。
立足点获取 & 权限提升
使用 tabatha_britt
的凭据成功RDP登录到目标主机 HAYSTACK
。
虽然成功登录,但该用户仍然无法读取 user.txt
。运行 BloodHound
收集域内信息并进行分析。
BloodHound的分析结果清晰地展示了一条从 tabatha_britt
到域管 Administrator
的攻击路径。
To shawna & cruz & darla
本来想用genericall来创建影子票据的,但是好像没开pkint,所以直接无脑改密码好了
根据BloodHound的图谱,tabatha_britt
对用户 SHAWNA_BRAY
有 GenericWrite
权限,可以修改其密码。之后形成一条权限链,SHAWNA_BRAY
-> CRUZ_HALL
-> DARLA_WINTERS
。我们依次利用 certipy
来重置这些用户的密码,控制它们。
1 | certipy account update -user SHAWNA_BRAY -pass 'Asdfg591!' -u tabatha_britt -p 'marlboro(1985)' -dc-ip 10.10.239.10 |
To administrator
BloodHound显示用户 DARLA_WINTERS
被配置了到 HAYSTACK$
机器账户上 cifs
服务的约束委派(Constrained Delegation)。
如果一个服务账户A被配置了到另一个服务B的约束委派,并且攻击者控制了账户A,那么攻击者就可以冒充域内的任意用户(包括域管,除非该用户被设置为“不可被委派”)去请求访问服务B。利用这个机制,我们可以冒充 Administrator
用户,请求一张访问 HAYSTACK$
上 cifs
服务的TGS票据,然后使用这张票据访问该机器的文件系统,从而实现提权。可以参考这篇文章:Constrained Delegation 4
利用 getST.py
和我们控制的 DARLA_WINTERS
账户,冒充 Administrator
用户,请求一张票据。
成功获取票据后,注入到当前会话中,即可获得对 HAYSTACK
机器的完全控制权,提权成功。
总结 & 碎碎念
对于Windows AD环境,ASREProasting 攻击应该作为信息收集阶段的优先检查项之一。
这个靶机整体难度不高,但由于对一些命令不熟悉,导致过程比较拖沓,花费了近两小时。假期家中事务繁忙,很久没有练习了。计划在接下来的一个月里,先把THM的OSCP like list靶机过一遍,然后再开HTB会员,专攻AD相关的Track。目标是两天一台靶机,三天一篇WP。
师傅们有时间的话不要总是坐在电脑面前了,多回家陪陪家人叭!
夜空中的星星又多了一颗,愿满天星斗为我指明方向!
What if…
如果在立足点获取阶段没有想到ASREProast攻击,还有其他路吗?
是的。在SMB信息收集中,我们发现共享目录的文件名在不断变化,且我们有写入权限。这暗示了后台有自动程序在处理该目录的文件。
我们可以利用这个特性,创建一个恶意的LNK文件或SCF文件上传到该目录。当后台程序访问这个文件时,会触发并尝试连接我们指定的SMB服务器,从而通过 Responder
捕获到执行该程序的账户(automate
)的Net-NTLMv2 hash。将捕获到的hash进行破解,即可获得该账户的密码,从而拿到 user.txt
。这似乎是出题人预期的另一条路径。
可以使用的工具有 ntlm_theft 6。
1 | # -s 指定Responder监听的IP, -f 指定要写入文件的SMB共享目录 |
将生成的文件上传到 onboarding
目录,稍等片刻即可在 Responder
中收到hash。
- Title: THM_Reset From OSCPlike list.
- Author: EnchanterW
- Created at : 2025-09-20 14:54:00
- Updated at : 2025-09-20 20:06:49
- Link: https://enchanter-w.github.io/2025/09/20/THM_Reset/
- License: This work is licensed under CC BY-NC-SA 4.0.