12 KiB
Moodle
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- ¿Trabajas en una empresa de ciberseguridad? ¿Quieres ver tu empresa anunciada en HackTricks? ¿O quieres tener acceso a la última versión de PEASS o descargar HackTricks en PDF? ¡Consulta los PLANES DE SUSCRIPCIÓN!
- Descubre The PEASS Family, nuestra colección exclusiva de NFTs
- Obtén el swag oficial de PEASS y HackTricks
- Únete al 💬 grupo de Discord o al grupo de Telegram o sígueme en Twitter 🐦@carlospolopm.
- Comparte tus trucos de hacking enviando PRs al repositorio de hacktricks y al repositorio de hacktricks-cloud.
Si estás interesado en una carrera de hacking y hackear lo imposible - ¡estamos contratando! (se requiere fluidez en polaco escrito y hablado).
{% embed url="https://www.stmcyber.com/careers" %}
Escaneos Automáticos
droopescan
pip3 install droopescan
droopescan scan moodle -u http://moodle.example.com/<moodle_path>/
[+] Plugins found:
forum http://moodle.schooled.htb/moodle/mod/forum/
http://moodle.schooled.htb/moodle/mod/forum/upgrade.txt
http://moodle.schooled.htb/moodle/mod/forum/version.php
[+] No themes found.
[+] Possible version(s):
3.10.0-beta
[+] Possible interesting urls found:
Static readme file. - http://moodle.schooled.htb/moodle/README.txt
Admin panel - http://moodle.schooled.htb/moodle/login/
[+] Scan finished (0:00:05.643539 elapsed)
El comando moodlescan
es una herramienta de escaneo de seguridad diseñada específicamente para Moodle, una plataforma de aprendizaje en línea. Esta herramienta se utiliza para identificar posibles vulnerabilidades en una instalación de Moodle y proporciona información detallada sobre los riesgos de seguridad presentes.
El comando moodlescan
se ejecuta desde la línea de comandos y acepta varios parámetros para personalizar el escaneo. Algunas de las características clave de moodlescan
incluyen:
-
Escaneo de versiones de Moodle:
moodlescan
puede identificar la versión exacta de Moodle que se está ejecutando en un sitio web objetivo. Esto es útil para determinar si la versión instalada tiene vulnerabilidades conocidas que podrían ser explotadas. -
Escaneo de plugins: Moodle admite una amplia gama de plugins que agregan funcionalidad adicional a la plataforma.
moodlescan
puede escanear estos plugins en busca de vulnerabilidades conocidas y proporcionar recomendaciones para mitigar los riesgos. -
Escaneo de configuración:
moodlescan
también puede analizar la configuración de Moodle en busca de configuraciones inseguras o mal configuradas que podrían ser aprovechadas por un atacante.
Es importante tener en cuenta que moodlescan
es una herramienta de escaneo de seguridad y no debe utilizarse para fines maliciosos. Su objetivo principal es ayudar a los administradores de Moodle a identificar y corregir posibles problemas de seguridad en sus instalaciones.
#Install from https://github.com/inc0d3/moodlescan
python3 moodlescan.py -k -u http://moodle.example.com/<moodle_path>/
Version 0.7 - Dic/2020
.............................................................................................................
By Victor Herrera - supported by www.incode.cl
.............................................................................................................
Getting server information http://moodle.schooled.htb/moodle/ ...
server : Apache/2.4.46 (FreeBSD) PHP/7.4.15
x-powered-by : PHP/7.4.15
x-frame-options : sameorigin
last-modified : Wed, 07 Apr 2021 21:33:41 GMT
Getting moodle version...
Version found via /admin/tool/lp/tests/behat/course_competencies.feature : Moodle v3.9.0-beta
Searching vulnerabilities...
Vulnerabilities found: 0
Scan completed.
CMSMap
CMSMap es una herramienta de código abierto que se utiliza para escanear y enumerar los sistemas de gestión de contenido (CMS) en un sitio web. Esta herramienta es útil durante las pruebas de penetración para identificar el CMS utilizado por un sitio web y obtener información sobre las vulnerabilidades conocidas asociadas con ese CMS en particular.
Características principales
-
Escaneo de CMS: CMSMap puede escanear un sitio web en busca de CMS populares como WordPress, Joomla, Drupal, Magento, etc. Esto ayuda a los pentesters a identificar rápidamente el CMS utilizado por el sitio web objetivo.
-
Enumeración de usuarios: CMSMap puede enumerar los usuarios registrados en un sitio web basado en CMS. Esto puede ser útil para identificar posibles cuentas de administrador o usuarios con privilegios especiales.
-
Enumeración de plugins y temas: CMSMap puede enumerar los plugins y temas instalados en un sitio web basado en CMS. Esto proporciona información adicional sobre las funcionalidades y configuraciones del sitio web.
-
Escaneo de vulnerabilidades conocidas: CMSMap puede buscar vulnerabilidades conocidas asociadas con el CMS identificado. Esto ayuda a los pentesters a identificar posibles puntos débiles en el sitio web objetivo.
Uso básico
El uso básico de CMSMap implica proporcionar la URL del sitio web objetivo y ejecutar el comando correspondiente. Por ejemplo, para escanear un sitio web en busca de CMS, se puede utilizar el siguiente comando:
cmsmap.py -u <URL>
Para enumerar usuarios registrados en un sitio web basado en CMS, se puede utilizar el siguiente comando:
cmsmap.py -u <URL> --users
Para enumerar plugins y temas instalados en un sitio web basado en CMS, se puede utilizar el siguiente comando:
cmsmap.py -u <URL> --plugins-themes
Para escanear vulnerabilidades conocidas asociadas con el CMS identificado, se puede utilizar el siguiente comando:
cmsmap.py -u <URL> --vulnerabilities
Es importante tener en cuenta que CMSMap es una herramienta de prueba de penetración y solo debe utilizarse con fines legales y éticos.
pip3 install git+https://github.com/dionach/CMSmap.git
cmsmap http://moodle.example.com/<moodle_path>
CVEs
Encontré que las herramientas automáticas son bastante inútiles para encontrar vulnerabilidades que afecten a la versión de Moodle. Puedes verificar esto en https://snyk.io/vuln/composer:moodle%2Fmoodle
RCE
Necesitas tener el rol de gerente y puedes instalar complementos dentro de la pestaña de "Administración del sitio":
Si eres gerente, es posible que aún necesites activar esta opción. Puedes ver cómo hacerlo en la prueba de concepto de escalada de privilegios de Moodle: https://github.com/HoangKien1020/CVE-2020-14321.
Luego, puedes instalar el siguiente complemento que contiene el clásico shell reverso en PHP de pentest-monkey (antes de subirlo, debes descomprimirlo, cambiar la IP y el puerto del revshell y comprimirlo nuevamente)
{% file src="../../.gitbook/assets/moodle-rce-plugin.zip" %}
O puedes usar el complemento de https://github.com/HoangKien1020/Moodle_RCE para obtener un shell PHP regular con el parámetro "cmd".
Para acceder y lanzar el complemento malicioso, debes acceder a:
http://domain.com/<moodle_path>/blocks/rce/lang/en/block_rce.php?cmd=id
POST
Encontrar credenciales de la base de datos
find / -name "config.php" 2>/dev/null | grep "moodle/config.php"
Volcar credenciales de la base de datos
Para realizar una prueba de penetración en un sitio web Moodle, es posible que desees extraer las credenciales de la base de datos. Esto te permitirá obtener información de inicio de sesión de los usuarios y potencialmente acceder a sus cuentas.
Aquí hay algunos pasos que puedes seguir para volcar las credenciales de la base de datos:
-
Enumeración de la base de datos: Utiliza técnicas de enumeración para identificar el tipo de base de datos utilizada por el sitio web Moodle. Esto te ayudará a seleccionar las herramientas y comandos adecuados para extraer las credenciales.
-
Escaneo de puertos: Realiza un escaneo de puertos para identificar los servicios y puertos abiertos en el servidor. Esto te ayudará a determinar si hay algún servicio de base de datos en ejecución.
-
Identificación de la ubicación de la base de datos: Una vez que hayas identificado el tipo de base de datos, deberás determinar la ubicación de la base de datos en el servidor. Esto puede variar dependiendo del sistema operativo y la configuración del servidor.
-
Extracción de credenciales: Utiliza herramientas como
sqlmap
o comandos SQL para extraer las credenciales de la base de datos. Estas herramientas te permitirán realizar ataques de inyección SQL y extraer información confidencial de la base de datos.
Es importante tener en cuenta que realizar pruebas de penetración sin el consentimiento explícito del propietario del sitio web es ilegal y puede tener consecuencias legales graves. Siempre asegúrate de obtener el permiso adecuado antes de realizar cualquier prueba de penetración.
/usr/local/bin/mysql -u <username> --password=<password> -e "use moodle; select email,username,password from mdl_user; exit"
Si estás interesado en una carrera de hacking y hackear lo inhackeable - ¡estamos contratando! (se requiere fluidez en polaco escrito y hablado).
{% embed url="https://www.stmcyber.com/careers" %}
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- ¿Trabajas en una empresa de ciberseguridad? ¿Quieres ver tu empresa anunciada en HackTricks? ¿O quieres tener acceso a la última versión de PEASS o descargar HackTricks en PDF? ¡Consulta los PLANES DE SUSCRIPCIÓN!
- Descubre The PEASS Family, nuestra colección exclusiva de NFTs
- Obtén el oficial PEASS & HackTricks swag
- Únete al 💬 grupo de Discord o al grupo de Telegram o sígueme en Twitter 🐦@carlospolopm.
- Comparte tus trucos de hacking enviando PRs al repositorio de hacktricks y al repositorio de hacktricks-cloud.