Lab Attacking mySQL Database
Lab Attacking mySQL Database
Objetivos
En esta práctica de laboratorio verán un archivo PCAP de un ataque anterior a una base de datos SQL.
Antecedentes / Escenario
Los ataques de inyección SQL permiten que los hackers maliciosos escriban sentencias SQL en un sitio web
y reciban una respuesta de la base de datos. Esto permite que los atacantes modifiquen los datos actuales
de la base de datos, suplanten identidades y ejecuten malware variado.
Hemos creado un archivo PCAP para que vean un ataque anterior a una base de datos SQL. En esta
práctica de laboratorio verán los ataques a la base de datos SQL y responderán las preguntas.
Recursos necesarios
• Máquina virtual CyberOps Workstation
• Acceso a Internet
Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco Página 1 de 17 www.netacad.com
Práctica de laboratorio: Atacar una base de datos mySQL
b. En el escritorio, haga clic en Aplicaciones > CyberOPS > Wireshark, y busquen la aplicación Wireshark.
c. En la aplicación Wireshark, hagan clic en Open (Abrir) en el medio de la aplicación, en la sección Files
(Archivos).
Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco Página 2 de 17 www.netacad.com
Práctica de laboratorio: Atacar una base de datos mySQL
e. El archivo PCAP se abre dentro de Wireshark para mostrar el tráfico de red capturado. Este archivo de
captura se extiende por un período de 8 minutos (441 segundos), la duración de este ataque de
inyección SQL.
En función de la información que aparece en pantalla, ¿cuáles son las dos direcciones IP involucradas
en este ataque de inyección SQL?
____________________________________________________________________________________
Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco Página 3 de 17 www.netacad.com
Práctica de laboratorio: Atacar una base de datos mySQL
El tráfico de origen se muestra en rojo. El origen ha enviado una solicitud GET al host 10.0.2.15. En color
azul, el dispositivo de destino le está respondiendo al origen.
b. Hagan clic en Find (Buscar) e introduzcan 1=1. Busquen esta entrada. Cuando se encuentre el texto,
hagan clic en Cancel (Cancelar) en el cuadro de búsqueda de texto Find. La cadena 1=1.
Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco Página 4 de 17 www.netacad.com
Práctica de laboratorio: Atacar una base de datos mySQL
mensaje de falla en el inicio de sesión, la aplicación respondió con un registro de la base de datos. El
atacante ha verificado que puede ingresar un comando SQL y que la base de datos le responderá. La
cadena de búsqueda 1=1 crea una sentencia SQL que siempre será verdadera. En el ejemplo no importa
lo que se haya ingresado en el campo, siempre será verdadera.
Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco Página 5 de 17 www.netacad.com
Práctica de laboratorio: Atacar una base de datos mySQL
a. Dentro de la captura de Wireshark, hagan clic derecho sobre la línea 19 y seleccionen Follow HTTP
Stream (Seguir flujo de HTTP).
Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco Página 6 de 17 www.netacad.com
Práctica de laboratorio: Atacar una base de datos mySQL
b. Haga clic en Buscar e introduzca 1=1. Busquen esta entrada. Cuando se encuentre el texto, hagan clic
en Cancel (Cancelar) en el cuadro de búsqueda de texto Find.
Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco Página 7 de 17 www.netacad.com
Práctica de laboratorio: Atacar una base de datos mySQL
c. El atacante ha ingresado una consulta (1’ or 1=1 union select database(), user()#) en un cuadro de
búsqueda de ID de usuario en el destino 10.0.2.15. En lugar de responder con un mensaje de falla en el
inicio de sesión, la aplicación respondió con la siguiente información:
Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco Página 8 de 17 www.netacad.com
Práctica de laboratorio: Atacar una base de datos mySQL
a. Dentro de la captura de Wireshark, hagan clic derecho sobre la línea 22 y seleccionen Follow HTTP
Stream (Seguir flujo de HTTP). El tráfico de origen se muestra en rojo, y está enviando la solicitud GET
al host 10.0.2.15. En color azul, el dispositivo de destino le está respondiendo al origen.
Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco Página 9 de 17 www.netacad.com
Práctica de laboratorio: Atacar una base de datos mySQL
b. Hagan clic en Find (Buscar) e introduzcan 1=1. Busquen esta entrada. Cuando se encuentre el texto,
hagan clic en Cancel (Cancelar) en el cuadro de búsqueda de texto Find.
Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco Página 10 de 17 www.netacad.com
Práctica de laboratorio: Atacar una base de datos mySQL
c. El atacante ha ingresado una consulta (1’ or 1=1 union select null, version ()#) en un cuadro de búsqueda
de ID de usuario en el destino 10.0.2.15 para localizar el identificador de la versión. Observe que el
identificador de versión se encuentra al final del resultado justo antes de </pre>.</div> cierre del código
HTML.
¿Cuál es la versión?
____________________________________________________________________________________
d. Cierren la ventana Follow HTTP Stream.
e. Hagan clic en Clear (Borrar) para mostrar toda la conversación de Wireshark.
Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco Página 11 de 17 www.netacad.com
Práctica de laboratorio: Atacar una base de datos mySQL
a. Dentro de la captura de Wireshark, hagan clic derecho sobre la línea 25 y seleccionen Follow HTTP
Stream (Seguir flujo de HTTP). El origen se muestra en rojo. Ha enviado una solicitud GET al host
10.0.2.15. En color azul, el dispositivo de destino le está respondiendo al origen.
Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco Página 12 de 17 www.netacad.com
Práctica de laboratorio: Atacar una base de datos mySQL
b. Haga clic en Buscar e introduzca users. Busquen la entrada que se muestra a continuación. Cuando se
encuentre el texto, hagan clic en Cancel (Cancelar) en el cuadro de búsqueda de texto Find.
Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco Página 13 de 17 www.netacad.com
Práctica de laboratorio: Atacar una base de datos mySQL
c. El atacante ha ingresado una consulta (1’ or 1=1 union select null, table_name from
information_schema.tables#) en un cuadro de búsqueda de ID de usuario en el destino 10.0.2.15 para
ver todas las tablas de la base de datos. Esto proporciona una enorme salida de muchas tablas, ya que
el atacante especificó “null” sin más especificaciones.
¿Qué haría el comando modificado de (1' OR 1=1 UNION SELECT null, column_name FROM
INFORMATION_SCHEMA.columns WHERE table_name='users') por el atacante?
____________________________________________________________________________________
____________________________________________________________________________________
d. Cierren la ventana Follow HTTP Stream.
e. Hagan clic en Clear (Borrar) para mostrar toda la conversación de Wireshark.
Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco Página 14 de 17 www.netacad.com
Práctica de laboratorio: Atacar una base de datos mySQL
a. Dentro de la captura de Wireshark, hagan clic derecho sobre la línea 28 y seleccionen Follow HTTP
Stream (Seguir flujo de HTTP). El origen se muestra en rojo. Ha enviado una solicitud GET al host
10.0.2.15. En color azul, el dispositivo de destino le está respondiendo al origen.
Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco Página 15 de 17 www.netacad.com
Práctica de laboratorio: Atacar una base de datos mySQL
b. Hagan clic en Find (Buscar) e introduzcan 1=1. Busquen esta entrada. Cuando se encuentre el texto,
hagan clic en Cancel (Cancelar) en el cuadro de búsqueda de texto Find.
Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco Página 16 de 17 www.netacad.com
Práctica de laboratorio: Atacar una base de datos mySQL
¡El atacante ha ingresado una consulta (1’ or 1=1 union select user, password from users#) en un cuadro de
búsqueda de ID de usuario en el destino 10.0.2.15 para obtener nombres de usuario y hashes de contraseñas!
Reflexión
1. ¿Cuál es el riesgo de hacer que las plataformas utilicen el lenguaje SQL?
_______________________________________________________________________________________
_______________________________________________________________________________________
2. Busquen “evitar ataques de inyección SQL” en Internet. Mencionen 2 métodos o pasos que se pueden utilizar
para evitar ataques de inyección SQL.
_______________________________________________________________________________________
_______________________________________________________________________________________
Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco Página 17 de 17 www.netacad.com