场景:2026年10月22日,某电商平台安全运营中心(SOC)在例行漏洞扫描中发现核心业务系统存在PHP2Shell高危漏洞,同时监测到异常外联行为,疑似已被利用。
攻击 / 事件时间线
漏洞发现与告警
SOC值班工程师在凌晨2:15的扫描报告中看到,一台面向公网的PHP业务服务器(版本8.0.30)命中了CNCERT前一日预警的PHP2Shell漏洞(CVE-2026-XXXXX)。同时,流量探针上报该主机在2:10左右向一个境外IP发起HTTP POST请求,URI为/shell.php,响应包中包含bash -i >& /dev/tcp/...特征字符串。
NessusSuricataELK
初步研判与隔离
值班人员立即启动应急流程:1)通过EDR对目标主机进行网络隔离,但保留SSH管理通道;2)提取主机最近1小时的auth.log、access.log及进程树,发现www-data用户启动了/bin/bash子进程,父进程为php-fpm;3)检查/tmp目录发现可疑文件snowlight.sh,内容为下载并执行bash脚本的指令。
EDRSysmonVolatility
攻击链还原
结合日志与流量分析,还原攻击路径:攻击者首先通过爆破获取SSH弱口令(admin/123456),登录后上传shell.php,利用PHP2Shell漏洞执行命令,随后通过curl下载snowlight.sh并运行,脚本尝试建立反弹shell至45.XX.XX.XX:443,并计划下载后续载荷。由于EDR拦截了bash -i的TCP连接,反弹shell未成功。
WiresharkYARAgrep
溯源与清除
安全团队通过SSH登录隔离主机,发现/var/www/html/upload/下存在多个webshell文件(shell.php、cmd.php),并清理了crontab中的恶意任务。同时,从snowlight.sh中提取C2域名,在防火墙和DNS上封禁,并对全内网进行IOC扫描,未发现其他失陷主机。
ClamAVFirewallDNS Sinkhole
蓝队视角 · 发现与处置
SOC通过流量探针的反弹shell特征告警和漏洞扫描结果交叉验证,在10分钟内确认入侵。值班人员迅速隔离主机、提取日志,并利用EDR的进程树功能定位到恶意脚本。随后,团队通过YARA规则扫描全盘,确认无横向移动,并在1小时内完成漏洞修复和弱口令整改。整个处置过程未造成数据泄露,业务影响控制在单台服务器。
涉及关键技术 / 工具
PHP2Shell漏洞利用:攻击者通过构造恶意请求触发PHP资源管理错误,实现命令执行反弹shell检测:Suricata规则匹配bash -i >& /dev/tcp/ 特征,EDR拦截异常TCP连接YARA规则扫描:编写规则匹配snowlight.sh中的C2域名和下载行为,用于全盘排查
防护经验总结
- 立即修复PHP2Shell漏洞:升级PHP至最新版本,或在WAF上部署虚拟补丁,拦截包含system、exec等危险函数的请求
- 强制SSH密钥认证并禁用密码登录:修改sshd_config设置PasswordAuthentication no,同时启用fail2ban防止爆破
- 部署EDR并配置反弹shell拦截规则:监控bash、sh等进程的网络连接行为,对异常外联自动阻断并告警
#PHP2Shell#应急响应#反弹shell#漏洞修复#SOC