27017,27018 - Pentesting MongoDB
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
![](https://book.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2F2730383215-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FOGiU7XValBchYYDg6h1H%252Fuploads%252Fgit-blob-7ebaebfa37dac753bd916c91429befb49dfd6309%252Fimage%2520%28380%29.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=f7580b5&sv=1)
Join HackenProof Discord server to communicate with experienced hackers and bug bounty hunters!
Hacking Insights Engage with content that delves into the thrill and challenges of hacking
Real-Time Hack News Keep up-to-date with fast-paced hacking world through real-time news and insights
Latest Announcements Stay informed with the newest bug bounties launching and crucial platform updates
Join us on Discord and start collaborating with top hackers today!
Información Básica
MongoDB es un sistema de gestión de bases de datos de código abierto que utiliza un modelo de base de datos orientado a documentos para manejar diversas formas de datos. Ofrece flexibilidad y escalabilidad para gestionar datos no estructurados o semi-estructurados en aplicaciones como análisis de big data y gestión de contenido. Puerto por defecto: 27017, 27018
Enumeración
Manual
Algunos comandos de MongoDB:
Automático
Shodan
Todos los mongodb:
"mongodb server information"
Buscar servidores mongodb completamente abiertos:
"mongodb server information" -"partially enabled"
Solo habilitar parcialmente la autenticación:
"mongodb server information" "partially enabled"
Login
Por defecto, mongo no requiere contraseña. Admin es una base de datos mongo común.
El script de nmap: mongodb-brute verificará si se necesitan credenciales.
Mira dentro de /opt/bitnami/mongodb/mongodb.conf para saber si se necesitan credenciales:
Predicción de Mongo Objectid
Ejemplo de aquí.
Los IDs de objeto de Mongo son cadenas hexadecimales de 12 bytes:
![](https://book.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2F2730383215-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FOGiU7XValBchYYDg6h1H%252Fuploads%252Fgit-blob-9b8348bf7c08fcce2a5f19290d29605a1832fb7e%252Fid-and-ObjectIds-in-MongoDB.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=3a5231a2&sv=1)
Por ejemplo, aquí se muestra cómo podemos descomponer un ID de objeto real devuelto por una aplicación: 5f2459ac9fa6dc2500314019
5f2459ac: 1596217772 en decimal = Viernes, 31 de julio de 2020 17:49:32
9fa6dc: Identificador de máquina
2500: ID de proceso
314019: Un contador incremental
De los elementos anteriores, el identificador de máquina permanecerá igual mientras la base de datos esté ejecutándose en la misma máquina física/virtual. El ID de proceso solo cambiará si se reinicia el proceso de MongoDB. La marca de tiempo se actualizará cada segundo. El único desafío para adivinar los IDs de objeto simplemente incrementando los valores del contador y la marca de tiempo, es el hecho de que Mongo DB genera IDs de objeto y asigna IDs de objeto a nivel de sistema.
La herramienta https://github.com/andresriancho/mongo-objectid-predict, dado un ID de objeto inicial (puedes crear una cuenta y obtener un ID inicial), devuelve alrededor de 1000 IDs de objeto probables que podrían haber sido asignados a los siguientes objetos, por lo que solo necesitas hacer un ataque de fuerza bruta.
Publicación
Si eres root, puedes modificar el archivo mongodb.conf para que no se necesiten credenciales (noauth = true) y iniciar sesión sin credenciales.
![](https://book.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2F2730383215-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FOGiU7XValBchYYDg6h1H%252Fuploads%252Fgit-blob-7ebaebfa37dac753bd916c91429befb49dfd6309%252Fimage%2520%28380%29.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=f7580b5&sv=1)
Únete al servidor de HackenProof Discord para comunicarte con hackers experimentados y cazadores de recompensas por errores.
Perspectivas de Hacking Participa en contenido que profundiza en la emoción y los desafíos del hacking
Noticias de Hackeo en Tiempo Real Mantente al día con el mundo del hacking de ritmo rápido a través de noticias e información en tiempo real
Últimos Anuncios Mantente informado sobre las nuevas recompensas por errores que se lanzan y actualizaciones cruciales de la plataforma
Únete a nosotros en Discord y comienza a colaborar con los mejores hackers hoy mismo!
Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica Hacking en GCP:
HackTricks Training GCP Red Team Expert (GRTE)
Last updated