
El exploit está modificado para funcionar con diferentes codificaciones de texto y Python 3, y es compatible con CMSMS versión 2.2.9 y anteriores.
Este repositorio contiene un exploit para la vulnerabilidad CVE-2019-9053 encontrada en el software CMS Made Simple (CMSMS). El exploit ha sido modificado para funcionar con Python 3 y es compatible con CMSMS versión 2.2.9 e inferiores.
CVE-2019-9053 es una vulnerabilidad de inyección SQL ciega basada en tiempo (Time-Based Blind SQLi) que permite al atacante enumerar la base de datos extrayendo información al monitorear los retardos en las respuestas de la aplicación. La vulnerabilidad está presente en versiones de CMSMS iguales o inferiores a 2.2.9.
El script de Python proporcionado está diseñado para extraer datos de la base de datos y, opcionalmente, descifrar los hashes extraídos utilizando una lista de palabras (wordlist) proporcionada y diferentes codificaciones. Intenta abrir el archivo de wordlist especificado utilizando varias codificaciones y comprueba si el hash MD5 calculado de la contraseña codificada coincide con la contraseña objetivo.
El código ha sido editado para funcionar con Python 3 e incluye soporte para diferentes tipos de codificaciones. Utiliza la librería hashlib para calcular hashes MD5 y realiza las manipulaciones de cadenas necesarias para gestionar las operaciones de codificación y decodificación.
Usage: exploit.py [options]
Options:
-h, --help show this help message and exit
-u URL, --url=URL Base target uri (ex. http://10.10.10.100/cms)
-w WORDLIST, --wordlist=WORDLIST
Wordlist for crack admin password
-c, --crack Crack password with wordlist
-t TIME, --time=TIME Time for SQLIi time based attack, default = 1
(second). The slower your internet is the larger this
number should be.
-s salt, --salt=salt Salt for password hash
-p pass, --pass=pass Password hash
Cuando ejecutes el script, descargará la sal (salt) del hash de la contraseña, luego el nombre de usuario, luego el correo electrónico y, a continuación, el hash de la contraseña letra por letra.
Si pasa de una de estas cadenas extraídas y la cadena parece corta (por ejemplo, si solo tiene alrededor de 3 o 4 caracteres), deberías salir del programa y utilizar --time aumentando su valor.
Si solo quieres descifrar la contraseña, puedes pasar la sal y el hash como argumentos al script. El script intentará entonces descifrar la contraseña utilizando la wordlist proporcionada. ej.: python3 csm_made_simple_injection.py -u http://10.10.10.100/cms -t 4 -c -w /usr/share/wordlists/mylist.txt -p xxxxxxxxxxxxxxxxx -s yyyyyyyyyyyyyyy
Este script de exploit se proporciona únicamente con fines educativos. Los autores no promueven ni respaldan el uso no autorizado o la explotación de vulnerabilidades. La responsabilidad por cualquier uso ilegal o poco ético de este script recae únicamente en el usuario.