【漏洞与预防】远程代码执行漏洞预防

admin 2025年2月18日19:05:25评论10 views字数 2008阅读6分41秒阅读模式

1.典型案例

本次案例参考去年6月期间TellYouThePass勒索病毒家族常用的攻击手法,具体详情可参考【紧急警示】Locked勒索病毒利用最新PHP远程代码执行漏洞大规模批量勒索!文末附详细加固方案

2.场景还原

2.1场景设置

攻击者利用CVE-2024-4577远程代码执行漏洞在服务器上执行命令,获取到服务器管理员权限。

2.2攻击路线图

【漏洞与预防】远程代码执行漏洞预防

2.3攻击复现

攻击者利用了CVE-2024-4577漏洞执行了命令,该站点的本地权限为administrator。
【漏洞与预防】远程代码执行漏洞预防
紧接着攻击者执行了远程下载命令,下载了木马。
【漏洞与预防】远程代码执行漏洞预防
执行木马,获取到服务器权限。
【漏洞与预防】远程代码执行漏洞预防

3.漏洞详情

3.1漏洞名称

PHP远程代码执行

3.2漏洞类型

远程代码执行

3.3漏洞描述

2024年6月8日,PHP存在的一个编号为CVE-2024-4577的严重安全漏洞,引起了网络安全界的热议。该漏洞允许远程代码执行,影响Windows操作系统上所有版本的PHP。漏洞利用了Windows操作系统内编码转换的Best-Fit特性,使得未经身份验证的攻击者可通过特定字符序列绕过CVE-2012-1823的保护措施。PHP已在8.3.8、8.2.20和8.1.29版本中发布了修复。披露该漏洞的台湾DEVCORE公司安全研究员提醒,所有XAMPP安装在繁体中文、简体中文或日语环境下默认存在漏洞,并建议放弃PHP CGI,选择更安全的解决方案。

4.应急响应排查

4.1Web日志

通过web日志可看到黑客利用了CVE-2024-4577漏洞的payload进行攻击;
/php-cgi/php-cgi.exe
  • 这是一个 PHP CGI 脚本的路径。php-cgi.exe 通常是用于运行 PHP 的 CGI 可执行文件。
%add
  • 这可能是尝试注入 PHP 配置的参数。%add 可能是试图添加或修改 CGI 请求的配置参数。
cgi.force_redirect=XCANWIN
  • cgi.force_redirect 是一个 PHP 配置选项,用于强制重定向。设置为 XCANWIN 是非常不寻常的,可能是一个用于绕过防御或检测机制的值。
allow_url_include=on
  • allow_url_include 是 PHP 的一个配置选项,允许 PHP 包含 URL 内容,通过 includerequire 。启用此选项可能会导致安全风险,允许远程文件包含(RFI)攻击。
auto_prepend_file=php://
  • auto_prepend_file 是 PHP 的一个配置选项,指定在执行脚本之前自动包含一个文件。在此情况下,尝试利用 php://input 协议来注入代码,加载恶意代码。
【漏洞与预防】远程代码执行漏洞预防

4.2Powershell日志

powershell日志中看到了powershell执行的命令,事件id为600、400、403;

事件ID 400:引擎状态从无更改为可用,记录任何本地或远程PowerShell活动的开始;

事件ID 600:记录类似“WSMan”等提供程序在系统上进行PowerShell处理活动的开始,比如”Provider WSMan Is Started“;

事件ID 403:引擎状态从可用状态更改为停止,记录PowerShell活动结束。

【漏洞与预防】远程代码执行漏洞预防

5.防范措施

5.1开启apache的dumpio模块

在httpd.conf中取消注释dumpio模块
【漏洞与预防】远程代码执行漏洞预防
在httpd.conf中修改dumpio模块配置
【漏洞与预防】远程代码执行漏洞预防
重启apache之后,在error日志中可以看到详细的请求和响应日志
【漏洞与预防】远程代码执行漏洞预防
记录请求体可能会对性能产生影响,特别是对于大体积的 POST 请求,因此在生产环境中使用时需要谨慎。
mod_dumpio 会记录大量信息,因此需要根据实际需求调整日志级别,以避免产生过多的日志数据。

5.2关闭无必要的危险模块

如C:/xampp/apache/conf/httpd.conf
定位相应的行:
LoadModule cgi_module modules/mod_cgi.so
并注释掉它:
# LoadModule cgi_module modules/mod_cgi.so

C:/xampp/apache/conf/extra/httpd-xampp.conf

定位相应的行:
ScriptAlias /php-cgi/ "C:/xampp/php/"
并注释掉它:
# ScriptAlias /php-cgi/ "C:/xampp/php/"

5.3网络防护

通过部署Web应用防火墙(WAF)拦截恶意请求,隔离核心服务到内网环境,限制公网暴露面,并配置防火墙规则仅开放必要端口。

5.4安全测试

定期进行渗透测试和代码审计,使用静态分析工具扫描代码风险,对需要执行外部代码的场景使用沙箱或容器隔离,降低漏洞利用可能性。

5.5意识培训

加强开发与运维团队的安全意识培训,熟悉常见漏洞(如OWASP Top 10)和防护措施,提升整体安全防护能力。
 

原文始发于微信公众号(solar应急响应团队):【漏洞与预防】远程代码执行漏洞预防

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年2月18日19:05:25
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【漏洞与预防】远程代码执行漏洞预防https://cn-sec.com/archives/3756696.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息