该 Python 代码利用 Cacti 1.2.22 及更早版本中存在的一个未经身份验证的命令注入漏洞。它使用 argparse 解析命令行参数,使用 requests 获取目标 Cacti 实例的 HTML 内容,并使用 BeautifulSoup 从 HTML 内容中提取 Cacti 的版本号。如果版本小于等于 1.2.22,代码将继续执行漏洞利用。
该漏洞利用涉及向 Cacti 实例的 remote_agent.php 文件发送一个有效载荷,该有效载荷是一条 Bash 命令,用于向指定的监听 IP 和端口打开反向 Shell。代码遍历一系列主机 ID 来发送有效载荷,一旦成功,就在指定的 IP 和端口上打开反向 Shell。
该代码仅应用于合乎道德的目的,例如安全研究或渗透测试。
要运行该代码,请使用以下命令:
python exploit.py --url <URL of Cacti's instance> --lhost <Listening IP> --lport <Listening Port>
其中:
该代码需要以下 Python 库/模块:
argparse
requests
BeautifulSoup4
re