En este artículo rehago y traduzco al español la guía de resolución de la máquina Mongod de Hack The Box, parte de los laboratorios Starting Point con nivel Muy Fácil. Es una máquina VIP, por lo que necesitas un plan de pago para acceder.
Qué es MongoDB
MongoDB es una base de datos NoSQL orientada a documentos. En lugar de usar tablas y filas como en los sistemas relacionales, organiza la información en una jerarquía de bases de datos, colecciones y documentos. Imagina una archivadora grande como base de datos, dentro hay carpetas que serían las colecciones, y dentro de cada carpeta hay archivos que serían los documentos; en esos archivos está la información real como textos, números o fechas. El formato es similar a JSON con pares clave valor, por ejemplo name: Adhishri. En condiciones normales se requiere usuario y contraseña para acceder, pero algunas instancias se configuran de forma insegura y permiten inicio de sesión anónimo, como dejar una archivadora sin llave en un lugar público.
Cómo se almacena la información en MongoDB
En cada base de datos hay colecciones y cada colección contiene documentos. A nivel práctico, para administrar y consultar usamos la herramienta de línea de comandos mongosh, que nos permite conectarnos al servidor, listar bases de datos, entrar en colecciones y revisar documentos.
Instalación de la shell de MongoDB
Puedes instalar el cliente mongosh más reciente con dpkg y resolver dependencias con apt, por ejemplo con sudo dpkg -i paquete.deb y luego sudo apt-get install -f. Comprueba la ruta con which mongosh. Sin embargo, si el servidor remoto usa una versión antigua, el cliente nuevo puede fallar por incompatibilidad de wire version. En la máquina Mongod el servidor usa MongoDB 3.6, mientras que el cliente moderno requiere como mínimo MongoDB 4.2.
Solución a la incompatibilidad de versiones
Descarga una versión anterior de mongosh, por ejemplo mongosh 2.3.2 para Linux x64, descomprímelo con tar, entra a la carpeta bin y ejecútalo desde ahí. Conéctate con el comando ./mongosh mongodb://IP:27017 sustituyendo IP por la dirección de la máquina objetivo.
Conexión y enumeración de datos
Una vez conectado como usuario anónimo, lista las bases de datos con show dbs. Cambia al esquema deseado con use sensitive_information. Luego, inspecciona las colecciones con show collections. Para volcar el contenido de una colección usa db.nombre_coleccion.find. Si la colección se llama flag, ejecuta db.flag.find para ver sus documentos.
Escaneo inicial con Nmap
Antes de conectar, identifica los puertos abiertos. Un ejemplo de comando es nmap -p- --min-rate=1000 -sV IP. Con -p- escaneas todos los puertos TCP de 0 a 65535, con -sV detectas versiones de servicios y con --min-rate aceleras el envío de paquetes. En Mongod encontrarás 2 puertos TCP abiertos y el 27017 expone un servicio MongoDB 3.6.8.
Comandos clave de la shell
mongosh para abrir la shell interactiva. show dbs para listar bases de datos. use nombre_bd para cambiar de base. show collections para listar colecciones de la base actual. db.flag.find para obtener el contenido de la colección flag.
Resumen de tareas y respuestas
Tarea 1: cantidad de puertos TCP abiertos en la máquina 2. Tarea 2: servicio en el puerto 27017 MongoDB 3.6.8. Tarea 3: tipo de base de datos MongoDB NoSQL. Tarea 4: comando para lanzar la shell mongosh. Tarea 5: comando para listar bases de datos show dbs. Tarea 6: comando para listar colecciones show collections. Tarea 7: comando para volcar documentos de la colección flag db.flag.find.
Ruta completa para capturar la bandera
1 Escanea con Nmap y verifica puertos. 2 Identifica MongoDB en 27017. 3 Conecta con mongosh compatible con la versión del servidor. 4 Usa show dbs y selecciona la base sensitive_information con use. 5 Lista colecciones con show collections. 6 Ejecuta db.flag.find y recupera la flag. Al enviarla, verás el mensaje de éxito de la plataforma indicando que la máquina fue comprometida.
Cómo puede ayudarte Q2BSTUDIO
En Q2BSTUDIO somos expertos en ciberseguridad, pentesting, inteligencia artificial y desarrollo de software a medida y aplicaciones a medida. Si buscas fortalecer tu postura de seguridad con pruebas de intrusión, auditorías de seguridad y hardening, consulta nuestros servicios de ciberseguridad y pentesting. Además, diseñamos arquitecturas escalables y seguras en la nube, integrando mejores prácticas DevSecOps y despliegues gestionados con servicios cloud AWS y Azure, conoce más en nuestros servicios cloud AWS y Azure.
También impulsamos la transformación digital con inteligencia artificial para empresas, agentes IA, automatización de procesos, servicios de inteligencia de negocio y analítica avanzada. Integramos datos con power bi, construimos pipelines, dashboards y modelos predictivos, y conectamos esto con soluciones de software a medida que se adaptan a tus objetivos. Nuestro enfoque combina seguridad por diseño con innovación, para que tu organización aproveche IA para empresas, reduzca riesgos y acelere la toma de decisiones.
Palabras clave para empresas que buscan estas soluciones
Aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud AWS y Azure, servicios inteligencia de negocio, IA para empresas, agentes IA y power bi. Si necesitas alinear tu estrategia tecnológica con tus metas de negocio, en Q2BSTUDIO podemos acompañarte desde la arquitectura, la implementación y la operación continua con control de costes, rendimiento y seguridad.
Conclusión
La máquina Mongod es un ejercicio claro de cómo una mala configuración en MongoDB puede permitir accesos anónimos y exponer información sensible. La práctica refuerza habilidades de enumeración con Nmap, uso de mongosh y buenas prácticas de gestión de versiones del cliente. Más allá del reto, es una llamada a implementar controles de ciberseguridad, segmentación de red y autenticación robusta en servicios de base de datos. Si quieres llevar estas buenas prácticas a producción, desde Q2BSTUDIO podemos ayudarte a diseñar, desplegar y asegurar tus plataformas con un enfoque integral.