Post136 nn

Inyección NOSQL en bases de datos no relacionales


Profile
Omar Jacobo Muñoz Veliz

Introducción


NoSQLMap es una herramienta escrita en Python, esta herramienta es de código abierto y esta diseñada para auditar y automatizar los ataques de inyección y explotar los puntos débiles de configuración predeterminados en las bases de datos NoSQL y las aplicaciones web que usan NoSQL para divulgar o clonar datos de la base de datos.

Talvez te estes preguntando que es una base de datos NoSql.


NoSQLMap

Menu de NoSqlMap


Que es una base de datos NoSql?


Se le conoce como  base de datos NoSQL (originalmente referida a "no SQL", "no relacional" o "no solo SQL") a algo que proporciona un mecanismo para el almacenar y recuperación datos que se modela en medios distintos de las relaciones tabulares utilizadas en las bases de datos relacionales. Dichas bases de datos existen desde finales de la década de 1960, pero no obtuvieron el apodo de "NoSQL" hasta una oleada de popularidad a principios del siglo XXI, desencadenada por las necesidades de las empresas Web 2.0 como Facebook, Google y Amazon.com. Las bases de datos NoSQL se utilizan cada vez más en big data y aplicaciones web en tiempo real. Los sistemas NoSQL también se denominan a veces "No solo SQL" para enfatizar que pueden admitir lenguajes de consulta similares a SQL.


Requerimientos para NoSqlMap


Repositorio de la herramienta NoSQLMap


En los sistemas basados en Debian o Red Hat, el script setup.sh puede ejecutarse como root para automatizar la instalación de las dependencias de NoSQLMap.

Varía según las características utilizadas:

  1. Metasploit Framework
  2. Python con PyMongo
  3. httplib2
  4. urllib

Y una instancia de MongoDB predeterminada local para clonar bases de datos. 

Existen algunas otras bibliotecas que requieren que una instalación normal de Python esté disponible. 


Instalación


python setup.py


Uso


python NoSQLMap


NoSQLMap usa un sistema basado en un menú para crear ataques. Al iniciar NoSQLMap se le presenta con el siguiente menú principal:


1-Set options (do this first)
2-NoSQL DB Access Attacks
3-NoSQL Web App attacks
4-Scan for Anonymous MongoDB Access
x-Exit


Explicación de las opciones


1. Establezca el host / IP objetivo: el servidor web objetivo (es decir, www.google.com) o el servidor MongoDB al que desea atacar.
2. Configure el puerto TCP de la aplicación web para la aplicación web si el objetivo es una aplicación web.
3. Establecer ruta de URI: la parte del URI que contiene el nombre de la página y los parámetros, pero NO el nombre de host (por ejemplo, /app/acct.php?acctid=102).
4. Configure el método de solicitud HTTP (GET / POST): configure el método de solicitud en un GET o POST; Actualmente solo se implementa GET pero se trabaja en la implementación de solicitudes POST exportadas desde Burp.
5. Establecer mi IP de Mongo / Shell local: establezca esta opción si ataca una instancia de MongoDB directamente a la IP de una instalación de Mongo objetivo para clonar bases de datos de víctimas o abrir depósitos de Meterpreter.
6. Configure el puerto de escucha del shell: si abre shells Meterpreter, especifique el puerto.
7. Cargar archivo de opciones-Cargar un conjunto previamente guardado de configuraciones para 1-6.
8. Cargue opciones de la solicitud de Burp guardada: analice una solicitud guardada desde Burp Suite y llene las opciones de la aplicación web.
9. Guardar archivo de opciones: guarde la configuración 1-6 para usarla en el futuro.
X. Volver al menú principal: usa esto una vez que las opciones estén configuradas para comenzar tus ataques.


Artículos que te pueden interesar