Análisis de vulnerabilidades, ataques y amenazas.
(5 Puntos)
La compañía de seguridad para Internet de BitDefender ha localizado un nuevo fraude en la red social
Facebook que utiliza para propagarse el etiquetado en las fotos que permite dicha red social.
El método utilizado es el siguiente: un usuario es etiquetado en una foto de una chica joven y vestida
de manera provocativa. Junto a esa foto, se incluye un mensaje que dice: "Descubre quienes son tus
principales seguidores", junto con un link para utilizar una aplicación que permitiría conocer esa
información.
Si el usuario pincha en el link, será redirigido a una aplicación que por un lado, le pedirá su nombre de
usuario y contraseña y, por otro, le pedirá permisos para publicar mensajes en su muro y para acceder
a su lista de contactos en Facebook. Una vez haya introducido los datos y dado permiso a la
aplicación, esta mostrara un mensaje de error, señalando que no está disponible en este momento.
Sin embargo, inmediatamente, comenzarán a publicarse nuevas fotos en la galería del usuario en la
que saldrán etiquetados todos sus amigos. además, en el muro de estos aparecerá que alguien les ha
etiquetado en esa foto, junto al comentario inicial ("Descubre quienes son tus principales seguidores")
más el link que conduce a la aplicación falsa.
En el momento en que uno de estos amigos pinche el link e instale la aplicación creyendo que su
amigo ya la ha probado y que se la está recomendando, el proceso volverá a comenzar. De esta
manera, la aplicación consigue un efecto viral, propagándose por la red social.
Contestar las Siguientes Preguntas (4 puntos)
¿Cuál es el propósito principal de la aplicación falsa mencionada en el enunciado?
a) Recopilar información personal y credenciales de inicio de sesión de los usuarios.
b) Proporcionar una función de etiquetado de fotos mejorada en Facebook.
c) Analizar las preferencias de privacidad de los usuarios en las redes sociales.
d) Proteger la red social contra posibles amenazas de seguridad.
¿Qué medidas de seguridad podrían haber ayudado a prevenir la propagación de este tipo de fraude
en las redes sociales?
a) La implementación de autenticación de dos factores en las cuentas de usuario.
b) La prohibición de etiquetar a usuarios en fotos sin su consentimiento previo.
c) La verificación de la autenticidad de las aplicaciones de terceros antes de otorgarles
permisos.
d) La capacitación de los usuarios sobre cómo identificar y evitar estafas en línea.
¿Cómo podrían los usuarios protegerse contra este tipo de fraude en las redes sociales?
a) Evitar hacer clic en enlaces desconocidos o sospechosos, incluso si provienen de amigos.
b) Mantener actualizados los programas antivirus y antimalware en sus dispositivos.
Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco Página 1 de 18 [Link]
Práctica de laboratorio: Atacar una base de datos mySQL
c) Limitar el número de aplicaciones de terceros que tienen acceso a su cuenta de redes
sociales.
d) Denunciar cualquier actividad sospechosa o mensajes no solicitados a las autoridades
pertinentes.
¿Cuál es el principal riesgo de seguridad al proporcionar sus credenciales de inicio de sesión a una
aplicación de terceros en una red social?
a) La posibilidad de que la aplicación acceda a su información personal y la utilice con fines
maliciosos.
b) La pérdida de acceso a su cuenta debido a una violación de seguridad.
c) La exposición de su información personal a anunciantes y empresas de marketing.
d) La probabilidad de que la aplicación instale malware en su dispositivo.
De acuerdo con Leyes ecuatorianas los implicados en este ciberataque, que estarían infringiendo.
(ubicar de donde extrae la información y el articulo aplicable, generar conclusiones concreta por el
tema) –(1 puntos)
Práctica de laboratorio: Atacar una base de datos MySQL
(10 puntos)
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
Parte 1: Abrir el archivo PCAP y seguir al atacante de la base de datos
SQL
Utilizarán Wireshark, un analizador de paquetes de red común, para analizar el tráfico de red. Después de
iniciar Wireshark, abrirán una captura de red ya guardada y verán un ataque de inyección SQL paso a paso
contra una base de datos SQL.
Página 2 de 18
Práctica de laboratorio: Atacar una base de datos mySQL
Paso 1: Abrir Wireshark y cargar el archivo PCAP.
La aplicación Wireshark se puede abrir por medio de diversos métodos en una estación de trabajo de Linux.
a. Inicien la VM CyberOps Workstation.
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).
d. Diríjanse al directorio /home/analyst/ y busquen [Link]. En el directorio [Link]
abra el archivo SQL_Lab.pcap.
Página 3 de 18
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?
____________________________________________________________________________________
Paso 2: Ver el ataque de inyección SQL
En este paso visualizarán el comienzo de un ataque.
a. Dentro de la captura de Wireshark, hagan clic derecho sobre la línea 13 y seleccionen Follow HTTP
Stream (Seguir flujo de HTTP). Se eligió la línea 13 porque es una solicitud GET HTTP. Esto será muy
útil para seguir el flujo de datos a medida que lo ven las capas de aplicación y se genera una prueba de
consulta para la inyección SQL.
Página 4 de 18
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 [Link]. 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.
c. El atacante ha ingresado una consulta (1=1) en un cuadro de búsqueda de UserID en el destino
[Link] para ver si la aplicación es vulnerable a la inyección SQL. En lugar de responder con un
Página 5 de 18
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.
d. Cierren la ventana Follow HTTP Stream.
e. Hagan clic en Clear (Borrar) para mostrar toda la conversación de Wireshark.
Paso 3: El ataque de inyección SQL continúa...
En este paso visualizarán cómo prosigue un ataque.
Página 6 de 18
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).
Página 7 de 18
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.
Página 8 de 18
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 [Link]. En lugar de responder con un mensaje de falla en el
inicio de sesión, la aplicación respondió con la siguiente información:
El nombre de la base de datos es dvwa y su usuario es dvwa@localhost. También se muestran varias
cuentas de usuario.
d. Cierren la ventana Follow HTTP Stream.
e. Hagan clic en “Clear” (“Borrar”) para mostrar toda la conversación de Wireshark.
Paso 4: El ataque de inyección SQL proporciona información del sistema.
El atacante prosigue y comienza a buscar información más específica.
Página 9 de 18
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 [Link]. En color azul, el dispositivo de destino le está respondiendo al origen.
Página 10 de 18
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.
Página 11 de 18
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 [Link] 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.
Paso 5: El ataque de inyección SQL e información de tablas
El atacante sabe que hay gran cantidad de tablas SQL repletas de información. Trata de encontrarlas.
Página 12 de 18
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
[Link]. En color azul, el dispositivo de destino le está respondiendo al origen.
Página 13 de 18
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.
Página 14 de 18
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 [Link] 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.
Paso 6: El ataque de inyección SQL concluye
El ataque finaliza con el mejor premio posible: hashes de contraseñas.
Página 15 de 18
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
[Link]. En color azul, el dispositivo de destino le está respondiendo al origen.
Página 16 de 18
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.
Página 17 de 18
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 [Link] para obtener nombres de usuario y hashes de
contraseñas!
¿Qué usuario tiene 8d3533d75ae2c3966d7e0d4fcc69216b como hash de su contraseña?
____________________________________________________________________________________
Utilicen un sitio web como [Link] para copiar el hash de la contraseña en el
decodificador de hashes de contraseñas y comiencen a decodificarlo.
¿Cuál es la contraseña en texto plano?
____________________________________________________________________________________
____________________________________________________________________________________
c. Cierren la ventana Follow HTTP Stream. Cierren todas las ventanas abiertas.
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.
_______________________________________________________________________________________
_______________________________________________________________________________________
Página 18 de 18