
Questo codice Python sfrutta una vulnerabilità di iniezione di comandi non autenticata nelle versioni di Cacti fino alla 1.2.22 inclusa. Usa argparse per analizzare gli argomenti dalla riga di comando, requests per ottenere il contenuto HTML di un'istanza Cacti target e BeautifulSoup per estrarre il numero di versione di Cacti dal contenuto HTML. Se la versione è <= 1.2.22, il codice procede con l'exploit.
L'exploit consiste nell'inviare un payload al file remote_agent.php dell'istanza Cacti, dove il payload è un comando Bash che apre una reverse shell verso un IP e una porta di ascolto specificati. Il codice itera su un intervallo di ID host a cui inviare il payload e, una volta andato a buon fine, apre una reverse shell sull'IP e sulla porta specificati.
Questo codice dovrebbe essere utilizzato solo per scopi etici, come ricerca sulla sicurezza o test di penetrazione.
Per eseguire il codice, usa il seguente comando:
python exploit.py --url <URL of Cacti's instance> --lhost <Listening IP> --lport <Listening Port>
Dove:
Il codice richiede le seguenti librerie/moduli Python:
argparse
requests
BeautifulSoup4
re