Mostrando entradas con la etiqueta sql. Mostrar todas las entradas
Mostrando entradas con la etiqueta sql. Mostrar todas las entradas

martes, 1 de marzo de 2016

Firewall para evitar técnicas “SQL injection”.


Firewall  para evitar técnicas “SQL injection”.


Además de auditar el código de las aplicaciones Web y realizar test de penetración, también se debería implementar un firewall de aplicación para evitar ataques con técnicas de SQL injection. En este post tratare de dos Firewalls de aplicación muy recomendables: SQLassie y GreenSQL.
GreenSQL.

Un cortafuegos diseñado para bases de datos MySQL. Su funcionamiento se basa en un proxy que evalúa los comandos SQL antes de enviarlos a la base de datos, utilizando una matriz que acumula ordenes y bloquea comandos administrativos como: DROP, CREATE … y así evitar un ataque de “SQL injection” a una base de datos MySQL.
El cortafuego GreenSQL se puede utilizar de las siguientes formas:




Modo simulación, se comporta como un sistema de detección de intrusos.
Modo IPS, se comporta como un sistema de prevención de intrusos, bloqueando los comandos peligrosos.
Modo de aprendizaje, utiliza un periodo de prueba para aprender los comandos que se suelen utilizar y los añade en una lista. Para después bloquear el resto de comandos que no están en la lista de aprendizaje.
Modo cortafuegos, bloquea los comandos desconocidos.
Este disponible bajo licencia GPL para las siguientes distribuciones: CentOS, openSUSE, Fedora, Ubuntu y Debian.

Más información y descarga de GreenSQL:
https://sourceforge.net/projects/greensql/

SQLassie.

Un firewall de aplicación, basado en un proxy entre servidor de base de datos y la aplicación web, analizando sentencias SQL en tiempo real, a medida que se envían desde la aplicación al servidor de base de datos. SQLassie analiza las consultas y busca acciones sospechosas, que son indicativos de los ataques de SQL injection. Estas acciones son luego analizados mediante filtrado bayesiano, para determinar la probabilidad de que una consulta contenga un ataque.

SQLassie determina que una consulta es un ataque, bloquea la ejecución de la consulta y responde a lasolicitud con un mensaje apropiado. Por ejemplo, si un atacante está intentando acceder a las credenciales de usuario, SQLassie respondería con un conjunto vacío, y la aplicación se limitaría a pensar que la consulta no produjo resultados. Tanto la aplicación como el atacante no se darán cuenta del bloqueo de la sentencia por parte de SQLassie.
Según sus desarrolladores SQLassie está fuertemente inspirado por GreenSQL. GreenSQL es una excelente idea teórica, pero en algunos casos la tasa de falsos positivos es alta. Por ejemplo, cadaconsulta que se genera por MediaWiki, incluye un comentario incorporado que explica su intención. GreenSQL bloquea todas las consultas con los comentarios, esto hace MediaWiki inutilizable con GreenSQL.

SQLassie actualmente sólo es compatible con MySQL. La instalación es fácil, sólo se debe configurarSSQLassie para conectarse al servidor de base de datos, iniciar SQLassie, y luego configurar las aplicaciones Web para conectarse a SQLassie, en lugar de directamente al servidor de base de datos.

Más información y descarga de SQLassie:
http://www.sqlassie.org/

lunes, 22 de febrero de 2016

Herramientas para técnicas automatizadas de “SQL injection”.

“SQL injection” es una técnica de inyección de código intruso que se vale de una vulnerabilidad informática en una aplicación a nivel de validación de entradas para realizar operaciones sobre una base de datos. La vulnerabilidad existe cuando se realiza un incorrecto chequeo o filtrado de las variables utilizadas en un programa que contiene, o bien genera, código SQL. Se conoce como “SQL injection”, indistintamente del tipo de vulnerabilidad y del método de inyección, al hecho de inyectar código SQL intruso y a la porción de código inyectado.
En este post tratare de las herramientas de automatización de inyección SQL, que yo destacaría. Que son las siguientes:



SQL Power Injection Injector.

Su principal baza es la capacidad de automatizar inyecciones SQL pesadas utilizando para ello múltiples procesos.

Principales características:

Disponible para las plataformas: Windows, Unix y Linux.
Soporta SSL.
Realiza la técnica de inyección ciega de SQL. Comparando las respuestas verdaderas y falsas de las páginas o de los resultados de las cookies y los retrardos de tiempo.
Soporta los motores de bases de datos: Microsoft SQL Server, Oracle, MySQL, Sybase/Adaptive y DB2.
Más información y descarga de SQL Power Injection Injector:
http://www.sqlpowerinjector.com/

Tutorial de SQL Power Injection Injector:
http://www.sqlpowerinjector.com/docs/TutorialSPInjv1.1.pdf

SQLMap.

Es una aplicación de automatización de inyección ciega de SQL, desarrollada en Python. Es capaz de generar una huella digital activa del sistema de administración de bases de datos.

Principales características:

Al estar escrita en Python es multiplataforma.
El apoyo total para MySQL, Oracle, PostgreSQL y el servidor de Microsoft SQL.
Puede identificar también Microsoft Access, DB2, Informix, Sybase e Interbase.
Más información y descargar SQLMap :
http://sqlmap.org/

Documentación modo de empleo SQLMap:
https://github.com/sqlmapproject/sqlmap/wiki



SQLNinja.

Es una herramienta para explotar vulnerabilidades de inyección SQL en aplicaciones web que utilizanMicrosoft SQL Server como su motor de base de datos.

Principales características:

Realiza Fingerprint de servidores SQL.
Realiza ataques de fuerza a bruta a la cuenta del “sa”.
Utiliza técnicas de evasión de IDS/IPS/WAF.
Escanea puertos TCP/UDP del servidor SQL que ataca, para encontrar los puertos permitidos por el cortafuegos de la red y utilizarlos para emplear un reverse Shell.
Más información y descargar de SQLNinja:
http://sqlninja.sourceforge.net/

Manuales de SQLNinja:
http://sqlninja.sourceforge.net/sqlninja-howto.html

WITOOL.

Una sencilla herramienta de inyección SQL que solo está disponible para plataformas Windows. Esta herramienta solo soporta Ms SQL y Oracle, pero es útil para una primera toma de contacto debido a su sencillez.

Más información y descarga de WITOOL:
http://witool.sourceforge.net

The Mole.

Es una herramienta para la explotación automatizada de inyección SQL en páginas Web. Solo necesita una URL vulnerable y una cadena válida en el sitio y puede detectar la vulnerabilidad y explotarla, ya sea mediante el uso de la técnica de unión o una consulta basada en técnicas booleanas.

The Mole utiliza una interfaz basada en comandos, lo que permite al usuario indicar la acción que quiere realizar fácilmente. Con esta herramienta podemos auditar si un sitio web es vulnerable a un ataque de inyección SQL, de una forma rápida y totalmente automatizada.

Características principales de The Mole:

Soporte para MySQL, Postgres, SQL Server y Oracle.
Interfaz de línea de comandos.
Autocompletado para: comandos, argumentos de comandos y tablas y nombres de columnas en bases de datos.
Desarrollado en Python 3.
Explotación de inyección SQL automático utilizando la técnica de unión y técnicas booleanas.
Explotación de inyección SQL ciega automática.
Explota inyecciones SQL en: GET, parámetros de POST y COOKIES.
Soporte para filtros, con el fin de eludir ciertas reglas IPS / IDS utilizando filtros genéricos, y la posibilidad de crear otros nuevos con facilidad.
Explota inyecciones SQL que devuelven datos binarios.
Intérprete de comandos de gran alcance para simplificar su uso.
Más información y descarga de The Mole:
http://themole.sourceforge.net/

Tutorial de uso de The Mole:
http://www.aldeid.com/wiki/TheMole