· adswds-team · 安全 · 19 min read
React2Shell 打穿宝塔与 NGINX:流量被悄悄转到博彩站
DATADOG 披露黑客利用 React2Shell(CVE-2025-55182)入侵宝塔面板与 NGINX,用看似合法的 proxy_pass 劫持流量至非法博彩。蓝点网详解多阶段脚本与东南亚目标画像。

网站管理员最怕的一类入侵,不是首页被挂马那么显眼,而是配置文件被改了一行,用户却「偶尔」跳到博彩站。据蓝点网对 DATADOG 报告的整理,黑客正在继续使用 React2Shell 漏洞(CVE-2025-55182)发起攻击,目标是使用宝塔面板和 NGINX 的服务器;得手后篡改网站配置,把流量跳转到非法博彩平台。
蓝点网特别提醒:管理员如果不检查配置文件,很难发现网站已经被劫持。
一、背景:React2Shell、宝塔与 NGINX 的组合
1.1 React2Shell 漏洞
日前网络安全公司 DATADOG 分享的安全报告显示,黑客正在继续使用 React2Shell 漏洞(CVE-2025-55182)发起攻击。该漏洞为应用层远程利用面,是本次攻击链的入口。
1.2 宝塔面板:图形化运维的便利与风险
宝塔面板是免费的服务器管理面板,用户可以通过图形化界面快速部署软件和配置网站等。大量中小站群、落地页、企业站点依赖面板统一管理——一旦面板或关联服务被突破,攻击者可以批量操作 NGINX 配置。
1.3 NGINX:反向代理的「合法」劫持面
NGINX 是 F5 旗下的开源反向代理服务器软件,目前也被业界广泛采用。在 NGINX 中,用户可以通过指令 proxy_pass 将接收到的流量转发到其他位置——这属于 NGINX 中常见指令,因此黑客添加这个配置后并不会引起安全警告。
二、事件概览与攻击动机
2.1 攻击目标画像
DATADOG 报告(经蓝点网转述)显示,黑客攻击的目标则是使用亚洲顶级域名搭建的网站,包括:
| 顶级域 | 对应地区 / 说明 |
|---|---|
.in | 印度 |
.id | 印度尼西亚 |
.pe | 秘鲁(例外,南美洲) |
.bd | 孟加拉 |
.th | 泰国 |
.edu / .gov | 部分教育、政府站点 |
劫持目的则主要是将流量跳转到非法博彩网站。地域上覆盖印度、印度尼西亚、孟加拉和泰国等东南亚用户;.pe 域名是个例外,这个域名是南美洲国家秘鲁的。
2.2 变现逻辑:概率跳转而非全站替换
蓝点网指出:相信各位在日常上网时应该碰到过访问某些网站时有概率跳转到某些非法网站,这些源网站通常被黑客挂马,如果检测到用户通过搜索引擎访问则会跳转到非法博彩网站。
此次黑客通过漏洞入侵宝塔面板和篡改 NGINX 服务器的主要原因同样是为了流量:被攻击的网站会有一定概率跳转到攻击者控制的非法博彩网站——不是每次访问都跳,这进一步降低了管理员和用户的首发察觉概率。
三、完整攻击链
[外网] React2Shell 漏洞利用 (CVE-2025-55182)
↓
[主机] 获得可执行能力,下载多阶段脚本工具包
↓
[识别] 是否宝塔管理?NGINX 配置路径?server_name 是什么?
↓
[注入] 写入 proxy_pass + Host/X-Real-IP/User-Agent/Referer 等请求头
↓
[生效] 重启 NGINX
↓
[变现] 部分访问(尤其搜索引擎来源)跳转非法博彩
↓
[运营] ok.sh 汇总被劫持域名映射,回传 C2 服务器3.1 入口:React2Shell
应用层漏洞提供初始 foothold。对安全团队,这意味着检测点不应只停在「CVE 是否打补丁」,还要覆盖配置完整性、面板安全与异常 outbound。
3.2 持久化:NGINX 配置注入
篡改配置文件添加流量转发模块——这是本次攻击最具「运维伪装性」的环节。配置语法合法、重启行为合法、流量仍可能大部分正常。
3.3 运营:C2 回传域名映射
ok.sh 扫描被注入配置,构建「被劫持域名 — 注入模板 — 代理目标」映射图,传送到 C2 服务器——攻击者已完成资产盘点。
四、多阶段工具包技术细节(蓝点网转述 DATADOG)
DATADOG 经过分析后发现黑客使用脚本化的多阶段工具包来执行 NGINX 配置注入,工具包分成 zx.sh、bt.sh、4zdh.sh、zdh.sh 和 ok.sh。
4.1 zx.sh:初始控制脚本
- 该脚本仅作为初始控制脚本,负责下载并执行剩余阶段;
- 脚本还包含备用机制:如果
curl或wget不可用时,则会通过 TCP 发送原始的 HTTP 请求。
解读:作者考虑了精简环境 / 工具被删的主机,鲁棒性面向批量自动化,而非单次手工渗透。
4.2 bt.sh:针对宝塔面板管理的 NGINX
- 该脚本针对宝塔面板管理的 NGINX 配置文件;
- 脚本会根据
server_name值动态选择注入模板并安全地覆盖配置; - 随后重启 NGINX 使之生效。
「按 server_name 选模板」意味着规模化、可适配不同站点名的注入,而不是写死单一配置——对站群业务威胁极大。
4.3 4zdh.sh:枚举常见 NGINX 配置位置
该脚本用来枚举常见的 NGINX 配置位置,例如:
sites-enabledconf.dsites.available(报道中的写法)
适用于非宝塔或混合部署环境,扩大覆盖面。
4.4 zdh.sh:精准目标定位
- 该脚本采用更精准的目标定位方法;
- 针对
/etc/nginx/sites-enabled文件; - 尤其关注
.in和.id域名。
与目标画像一致:印度、印尼站点优先。
4.5 ok.sh:收割与 C2 回传
- 该脚本扫描被注入的 NGINX 配置;
- 构建被劫持的域名、注入模板和代理目标的映射图;
- 收集的域名信息会被传送到 C2 服务器。
到这一步,攻击者知道哪些站劫持成功、流量转到哪里,可以集中运营。
五、配置篡改细节:为什么难以发现
5.1 proxy_pass 的「合法性」
在 NGINX 中,proxy_pass 是常见指令。黑客添加后不会天然触发「明显恶意」告警——与首页插入博彩 iframe 完全不同。
5.2 伪造请求头
黑客还会添加请求头,例如:
HostX-Real-IPUser-AgentReferer
让流量看起来是合法的。除非 IT 管理员检查配置文件,否则很难注意到这些更改。
5.3 对比:传统挂马 vs 本次手法
| 维度 | 传统挂马 | 本次 NGINX 注入 |
|---|---|---|
| 可见性 | 页面源码可见异常 | 配置层转发,页面可能仍「正常」 |
| 检测 | 杀软/WAF 易盯内容 | 反代指令像运维操作 |
| 用户体验 | 用户可能必现 | 按概率 / 按来路跳转 |
| 发现路径 | 较易 | 往往靠用户投诉 |
六、影响面分析
6.1 对网站所有者
- SEO 与品牌声誉:搜索引擎用户被导向博彩站;
- 合规风险:尤其
.edu/.gov类站点; - 用户信任:偶发跳转难以复现,工单成本高。
6.2 对访问用户
- 被诱导访问非法博彩平台;
- 可能伴随进一步钓鱼或恶意软件(蓝点网本文未展开后续载荷,不作延伸)。
6.3 对站群 / 投放业务
蓝点网所涉域名画像说明:攻击者在追搜索流量密度高、运维标准化程度高的集群。若你的资产也是「一台面板管几百个 server_name」,一次配置注入的 ROI 对黑客极高。
七、自查命令与检测方法(建议)
以下命令需在可信环境、备份配置后执行,仅作排查参考。
7.1 搜索异常 proxy_pass
# 检查 NGINX 配置中是否有陌生 upstream / proxy_pass
grep -rn "proxy_pass" /www/server/panel/vhost/nginx/ /etc/nginx/ 2>/dev/null
# 列出最近 7 天修改过的 NGINX 配置
find /www/server/panel/vhost/nginx/ /etc/nginx/ -name "*.conf" -mtime -7 2>/dev/null宝塔默认 vhost 路径因版本可能不同,请以实际安装为准。
7.2 对比配置 hash(建议纳入 CI/CD)
# 对已知干净配置计算 checksum,定期比对
sha256sum /etc/nginx/nginx.conf /etc/nginx/sites-enabled/* 2>/dev/null7.3 检查 NGINX 重启记录
# systemd 环境
journalctl -u nginx --since "7 days ago" | grep -i restart
# 宝塔面板操作日志(路径因版本而异,需在面板内查看)非计划重启 + 配置 mtime 变化 = 高优先级告警。
7.4 业务侧抽样
# 模拟搜索引擎 Referer 访问(示例)
curl -sI -H "Referer: https://www.google.com/" https://your-site.example/ | head -20若响应头或最终 URL 指向陌生博彩域,需深入查配置。
7.5 排查 React2Shell 相关
- 盘点所有 React / 相关运行时是否在 CVE-2025-55182 影响范围;
- 检查 Web 目录下是否存在
zx.sh、bt.sh、4zdh.sh、zdh.sh、ok.sh或类似落盘脚本; - 查 cron、systemd timer 是否有异常下载任务。
八、应急步骤
若确认被注入:
- 隔离:必要时临时下线站点或阻断 outbound 到陌生代理目标;
- 恢复配置:从可信备份恢复 NGINX 配置,或手工删除异常
proxy_pass段; - 重启验证:重启 NGINX 后再次 grep 确认无残留;
- 漏洞修复:优先修补 React2Shell(CVE-2025-55182)及关联依赖;
- 凭证轮换:轮换面板、SSH、云厂商密钥;
- 持久化清理:查 React2Shell 利用痕迹与 cron、systemd、webshell;
- 业务通知:SEO 与品牌可能已被博彩流量污染,准备对外说明;
- 日志保全:保留访问日志与配置 diff 供溯源。
九、制度建议(建议)
9.1 配置即代码
- NGINX / 宝塔站点配置纳入版本管理;
- 生产配置变更需工单 + diff 审阅;
- 监控未知
proxy_pass、非预期rewrite、陌生 upstream。
9.2 面板与主机加固
- 宝塔面板端口不对公网裸奔;强密码 + 二次验证;
- SSH 密钥化,禁止共用弱口令;
- 主机 outbound 监控:是否频繁拉脚本、连陌生 C2。
9.3 漏洞管理
- 对外暴露的 SSR / RSC 相关端点做优先加固;
- 应用、Node 层、依赖锁文件一并升级,避免「修了业务仓、漏了落地页仓」。
9.4 监测与响应
- 定期对公网站点做「搜索引擎 Referer」抽样;
- 用户侧「偶发跳转」工单做聚类分析,单条工单也可能代表配置劫持。
十、FAQ
Q:这次漏洞编号是什么?
A:CVE-2025-55182(React2Shell)。来源为 DATADOG 报告,经蓝点网转述。
Q:只有宝塔用户会被攻击吗?
A:不是。工具包包含针对宝塔的 bt.sh,也包含枚举通用路径的 4zdh.sh 和针对 sites-enabled 的 zdh.sh。宝塔是报告重点场景之一。
Q:为什么管理员难发现?
A:蓝点网明确写道:篡改的是合法 NGINX 指令,且仅部分流量跳转;管理员如果不检查配置文件,很难发现。
Q:主要影响哪些国家?
A:印度、印度尼西亚、孟加拉、泰国等东南亚用户;.pe(秘鲁)为例外。涉及 .in、.id、.pe、.bd、.th 及 .edu、.gov。
Q:黑客的最终目的是什么?
A:将流量跳转到非法博彩网站牟利,而非单纯破坏。
Q:脚本名字有哪些 IOC?
A:蓝点网转述 DATADOG 列出:zx.sh、bt.sh、4zdh.sh、zdh.sh、ok.sh。可在主机上做文件名与 hash 狩猎。
十一、给广告 / 站群业务负责人的一页纸
- 入口:CVE-2025-55182 React2Shell;
- 手法:多阶段 shell 工具包 → 篡改 NGINX
proxy_pass→ 概率跳转博彩; - 隐蔽性:配置合法、不全站跳转、需人工查配置;
- 立刻做:grep proxy_pass、查配置 mtime、修 CVE、查五段脚本 IOC;
- 长期做:配置版本化、面板加固、Referer 抽样监测。
十二、深度解读:DATADOG 报告的可复用经验
蓝点网全文是对 DATADOG 安全报告的编译与解读,并未引入额外攻击组织命名或 IOC IP 列表。对读者而言,这份报告的价值在于展示了一种成熟黑产作业模板:
- 选洞:继续使用已知 CVE(React2Shell / CVE-2025-55182),说明补丁滞后仍普遍;
- 选栈:宝塔 + NGINX 是东亚站群的高频组合;
- 选域:
.in/.id/.th等搜索流量大的 ccTLD; - 选手法:不删站、不改首页,只改
proxy_pass; - 选变现:概率跳转博彩,降低投诉率;
- 选运营:
ok.sh回传 C2,便于批量管理劫持资产。
这不是「一次性事件」,而是可复制的流量劫持 playbook。防御侧若只打补丁而不做配置完整性治理,下一波仍可能换 CVE 重复同款剧本。
12.1 与「搜索引擎来路」的关系
蓝点网在描述日常上网体验时提到:源站被挂马时,若检测到用户通过搜索引擎访问,更容易跳转博彩。本次 NGINX 注入攻击同样服务于流量变现——攻击者要的是高价值访问会话,而非单纯破坏服务器可用性。这解释了为何管理员「打开首页一切正常」却仍可能中招:来路检测发生在代理层或上游,而非静态 HTML。
12.2 宝塔环境的特殊含义
bt.sh 专门处理宝塔面板管理的 NGINX 配置文件,并根据 server_name 选择模板。对使用宝塔批量建站的用户,这意味着:
- 单台失陷可能影响多个
server_name; - 面板本身若存在弱口令或暴露端口,会与 React2Shell 形成双入口(蓝点网本文以 DATADOG 披露的 NGINX 注入链为主,面板加固仍属通用建议)。
十三、扩展 FAQ
Q:React2Shell 是什么?
A:蓝点网转述 DATADOG 报告使用的漏洞名称,对应 CVE-2025-55182,是本次攻击的入口漏洞。
Q:NGINX 被改后一定要重启吗?
A:蓝点网转述:bt.sh 在覆盖配置后会重启 NGINX 使之生效。排查时可结合重启日志与配置 mtime 关联分析。
Q:.edu / .gov 也在目标里吗?
A:是。蓝点网明确列出攻击目标包括部分 .edu / .gov 域名,合规与声誉风险更高。
Q:秘鲁 .pe 为什么出现在东南亚为主的列表里?
A:蓝点网原文称 .pe 域名是个例外,属于南美洲国家秘鲁,其他主要目标为印度、印尼、泰国、孟加拉等。
Q:用户如何发现自己被跳转?
A:蓝点网指出管理员往往难以发现,除非检查配置文件或有用户提交反馈。普通用户可能仅在特定来路、一定概率下遇到跳转。
十四、运维周报模板(建议)
可将下列项纳入每周巡检(事实阈值来自报道,执行频率为建议):
## 站群 NGINX 配置巡检(React2Shell 后加强)
- [ ] 全量 grep proxy_pass,与 Git 基线 diff
- [ ] 检查 7 日内修改过的 *.conf
- [ ] 核对 nginx restart 事件与变更工单
- [ ] 对 .in / .id / .th / .bd / .pe 站点做 Referer 抽样
- [ ] 主机狩猎:zx.sh bt.sh 4zdh.sh zdh.sh ok.sh
- [ ] React / CVE-2025-55182 补丁状态十五、来源与声明
本文事实依据:蓝点网《有黑客通过漏洞入侵宝塔面板和NGINX服务器 得手后劫持网站流量到博彩网站》。
蓝点网注明原始内容来源为 DataDogHq。CVE 编号、脚本分工、域名画像、请求头类型、博彩跳转动机等均转述自该报道。第七至十四节中自查命令、制度条目、周报模板为通用运维安全建议,不代表 DATADOG 官方指引。



