Вы находитесь на странице: 1из 10

Práctica de laboratorio: Interpretar datos HTTP y DNS para aislar

al actor de la amenaza
Objetivos
En esta práctica de laboratorio, analizarán registros durante un aprovechamiento malicioso de
vulnerabilidades HTTP y DNS documentadas.
Parte 1: Preparar el entorno virtual
Parte 2: Investigar un ataque de Inyección SQL
Parte 3: Analizar una exfiltración de datos

Antecedentes / Escenario
MySQL es un sistema de administración de bases de datos relacionales (Relational Database Management
System, RDBMS) que utiliza el lenguaje de consultas estructurado (Structured Query Language, SQL) para
agregar contenido a una base datos, acceder a él y administrarlo. MySQL es un RDBMS popular que utilizan
numerosas aplicaciones web. Desafortunadamente, un atacante puede emplear una técnica de hacking web
llamada inyección SQL para ejecutar comandos SQL maliciosos en un intento por controlar el servidor de
bases de datos de una aplicación web.
Los servidores de nombres de dominio (Domain Name Servers, DNS) son directorios de nombres de dominio
y traducen los nombres de dominio a direcciones IP. Este servicio puede utilizarse para exfiltrar datos.
En esta práctica de laboratorio investigarán una posible inyección SQL para acceder a la base de datos SQL
del servidor. También analizarán los registros para investigar una posible exfiltración de datos y el método de
exfiltración.

Recursos necesarios
 Servidor con al menos 3 GB de RAM y 10 GB de espacio libre en disco.
 Versión más reciente de Oracle VirtualBox
 Conexión a Internet
 Una máquina virtual: VM Security Onion alternativa

Parte 1: Preparar el entorno virtual


a. Descarguen la máquina virtual Security Onion alternativa.
b. Abran Oracle VirtualBox. Importen la VM Security Onion alternativa.
c. Abran la VM Security Onion e inicien sesión. Inicien sesión con el usuario analyst y la contraseña
cyberops.
d. En la VM Security Onion alternativa, hagan clic derecho en el Escritorio > Open Terminal Here (Abrir
terminal aquí). Introduzcan el comando sudo service nsm status para verificar que todos los servidores
y sensores estén listos. Este proceso podría demorar unos instantes. Si algunos servicios reportan una
falla (FAIL), repitan el comando según sea necesario hasta que todos los estados sean OK antes de
pasar a la parte siguiente.
analyst@SecOnion:~/Desktop$ sudo service nsm status
Status: securityonion

 Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco Página 1 de 10 www.netacad.com
Práctica de laboratorio: Interpretar datos HTTP y DNS para aislar al actor de la amenaza

* sguil server [ OK ]
Status: HIDS
* ossec_agent (sguil) [ OK ]
Status: Bro
Name Type Host Status Pid Started
manager manager localhost running 5577 26 Jun 10:04:27
proxy proxy localhost running 5772 26 Jun 10:04:29
seconion-eth0-1 worker localhost running 6245 26 Jun 10:04:33
seconion-eth1-1 worker localhost running 6247 26 Jun 10:04:33
seconion-eth2-1 worker localhost running 6246 26 Jun 10:04:33
Status: seconion-eth0
* netsniff-ng (full packet data) [ OK ]
* pcap_agent (sguil) [ OK ]
* snort_agent-1 (sguil) [ OK ]
* snort-1 (alert data) [ OK ]
* barnyard2-1 (spooler, unified2 format) [ OK ]
<output omitted>

Parte 2: Investigar un ataque de Inyección SQL


Cuando analizaron el registro de Sguil, notaron que había un posible ataque de Inyección SQL. Investigarán
los eventos para determinar la gravedad del posible aprovechamiento malicioso.

Paso 1: Analicen los registros de Sguil.


a. Diríjanse a la VM Security Onion alternativa. Haga doble clic en el icono de Sguil del Escritorio.
Introduzcan el nombre de usuario analyst y la contraseña cyberops cuando el sistema se los solicite.
b. Hagan clic en Select All (Seleccionar todas) para monitorear todas las redes. Hagan clic en Start SGUIL
(Iniciar SGUIL) para continuar.
c. En la ventana inferior derecha de la consola de Sguil, hagan clic en Show Packet Data (Mostrar datos
de paquetes) y en Show Rule (Mostrar regla) para ver los detalles de una alerta seleccionada.

 Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco Página 2 de 10 www.netacad.com
Práctica de laboratorio: Interpretar datos HTTP y DNS para aislar al actor de la amenaza

a. Busquen alertas relacionadas con ET WEB_SERVER Possible SQL Injection Attempt UNION
SELECT. Seleccionen las alertas que comiencen con 5. Estas alertas están relacionadas con seconion-
eth1-1, y probablemente sean las más recientes. Seleccionen las alertas con el siguiente ID: 5.5836.

d. Hagan clic derecho sobre el número que se encuentra debajo del encabezado de CNT correspondiente a
la alerta seleccionada para ver todas las alertas relacionadas. Seleccionen View Correlated Events (Ver
eventos correlacionados).

e. Hagan clic en el ID de una alerta en los resultados. Seleccionen Transcript (Transcripción) para ver los
detalles correspondientes a esta alerta.

 Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco Página 3 de 10 www.netacad.com
Práctica de laboratorio: Interpretar datos HTTP y DNS para aislar al actor de la amenaza

f. En esta ventana pueden ver que la declaración GET que está utilizando el operador UNION se empleó
para acceder a la información de tarjetas de crédito. Si no ven esta información, hagan clic derecho
sobre otro de los eventos correlacionados.

¿Qué información pueden reunir de la ventana Transcript?


En la ventana de transcripción podemos observar la transcripción entre el destino con una dirección IP
209.165.200.235:80 y el origen con una dirección IP 209.165.201.17.47144 indicando que este último
está tratando de acceder a la tarjeta de crédito de 209.165.200.235:80 usando un operador del tipo SQL
UNION. L transcripción de para el web server 09.165.200.235 nos muestra el contenido del tipo HTML
que fue expuesto por el atacante.

 Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco Página 4 de 10 www.netacad.com
Práctica de laboratorio: Interpretar datos HTTP y DNS para aislar al actor de la amenaza

g. También puede determinar la información que recuperó el atacante. Hagan clic en Search (Buscar) e
introduzcan username (nombre de usuario) en el campo Find: (Buscar:). Utilicen el botón Find para
encontrar la información capturada. La misma información de tarjetas de crédito puede aparecer en
pantalla con un aspecto distinto al de la figura de abajo.

Comparen la información de las tarjetas de crédito de la ventana de la transcripción con el contenido que
se extrajo con el ataque de Inyección SQL. ¿Qué pueden concluir?
El contenido es prácticamente el mismo; ya que, la función de transcripción nos muestra todo el
contenido transmitido entre el origen y el destino.
h. Cierren las ventanas cuando hayan terminado.

 Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco Página 5 de 10 www.netacad.com
Práctica de laboratorio: Interpretar datos HTTP y DNS para aislar al actor de la amenaza

i. Regresen a la ventana de Sguil, hagan clic derecho sobre el mismo ID de alerta que contiene la
información de tarjetas de crédito exfiltrada y seleccionen Wireshark.

j. Hagan clic derecho sobre un paquete TCP y seleccionen Follow TCP Stream (Seguir flujo de TCP).

k. En la ventana del flujo de TCP se muestran la solicitud GET y los datos exfiltrados. Sus salidas pueden
diferir de la figura de abajo, pero tiene que contener la misma información de tarjetas de crédito que la
transcripción anterior.

l. En este punto podrían guardar los datos de Wireshark si hacen clic en Save As (Guardar como), en la
ventana del flujo de TCP. Como alternativa, también pueden guardar el archivo pcap de Wireshark.

 Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco Página 6 de 10 www.netacad.com
Práctica de laboratorio: Interpretar datos HTTP y DNS para aislar al actor de la amenaza

También pueden documentar las direcciones IP y los puertos de origen y destino, la hora del incidente y
el protocolo utilizado para el análisis subsiguiente a cargo de un analista Nivel 2.
m. Cierren o minimicen Wireshark y Sguil.

Paso 2: Analicen los registros de ELSA.


Los registros de ELSA también pueden proporcionar información similar.
a. Cuando estén en la VM Security Onion, hagan doble clic para iniciar ELSA desde el Escritorio. Si ven el
siguiente mensaje: "Your connection is not private" ("Su conexión no es privada"), hagan clic en
ADVANCED (AVANZADAS) para continuar.

b. Hagan clic en Proceed to localhost (unsafe) (Proseguir a un host local [inseguro]) para continuar al
host local.
c. Inicien sesión con el nombre de usuario analyst y la contraseña cyberops. Ahora realizarán una
consulta para buscar una Inyección SQL HTTP de la alerta de Sguil.
d. En el panel izquierdo, seleccionen HTTP > Top Potential SQL Injection (HTTP > Principales inyecciones
SQL potenciales).
e. Haga clic en el campo Desde y seleccione 11/11/17 como la fecha. Hagan clic en Submit Query (Enviar
consulta). Seleccionen 209.165.200.235.

 Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco Página 7 de 10 www.netacad.com
Práctica de laboratorio: Interpretar datos HTTP y DNS para aislar al actor de la amenaza

f. Se abre información detallada de la alerta. Esta información está relacionada con la inyección SQL
exitosa. Observen la consulta union que se utilizó durante el ataque. En la primera entrada, hagan clic en
Info.

g. Hagan clic en Plugin > getPcap (Complemento > getPcap). Introduzcan el nombre de usuario analyst y
la contraseña cyberops cuando el sistema se los solicite. Si es necesario, hagan clic en Submit
(Enviar). CapMe es una interfaz web que les permite obtener una transcripción pcap y descargar el pcap.

h. La transcripción de pcap se traduce utilizando tcpflow, y esta página también proporciona el enlace para
acceder al archivo pcap. También pueden buscar información sobre el nombre de usuario. Presionen
Ctrl + F para abrir el cuadro de diálogo Find… (Buscar…). Introduzcan el nombre de usuario en el
campo. Deberían poder localizar la información de tarjetas de crédito que se expuso durante el ataque de
inyección SQL.

Parte 3: Analizar una exfiltración de datos


Cuando analizaron los registros de ELSA, notaron que había algunas solicitudes de DNS extrañas. Si meta
es determinar si se exfiltró algún dato durante el aprovechamiento malicioso.
a. Si es necesario, abra ELSA desde el Escritorio de la VM alternativa Security Onion. Si ven el siguiente
mensaje: "Your connection is not private" ("Su conexión no es privada"), hagan clic en ADVANCED

 Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco Página 8 de 10 www.netacad.com
Práctica de laboratorio: Interpretar datos HTTP y DNS para aislar al actor de la amenaza

(AVANZADAS) para continuar. Hagan clic en Proceed to localhost (unsafe) (Proseguir a un host local
[inseguro]) para continuar al host local. Introduzcan el nombre de usuario analyst y la contraseña
cyberops cuando el sistema se los solicite.
b. En las consultas de ELSA de la barra lateral izquierda, hagan clic en DNS > Bottom (DNS > Menos
frecuentes).
c. Haga clic en el campo Desde y seleccione 11/11/17 como la fecha. Hagan clic en Submit Query (Enviar
consulta). Esto devuelve registros correspondientes a todas las solicitudes de DNS, ordenados de modo
que los menos frecuentes aparezcan primero.
d. Desplácense hacia abajo por la lista de resultados para ver algunas consultas de ns.example.com con
una cadena hexadecimal como primera parte del nombre de subdominio. Habitualmente, los nombres de
dominio no son expresiones hexadecimales de 63 bytes. Esto podría indicar la presencia de actividad
maliciosa porque los usuarios probablemente no pueden recordar un nombre de subdominio largo con
letras y número aleatorios.

e. Hagan clic en uno de los enlaces y copien la cadena de 63 bytes preanexada a ns.example.com.

f. Abran una ventana del terminal y utilicen los comandos echo y xxd para revertir la cadena hexadecimal.
La opción -n impide la salida de la línea nueva de arrastre.
analyst@SecOnion:~/Desktop$ echo -n
"434f4e464944454e5449414c20444f43554d454e540a444f204e4f542053" | xxd -r -p

 Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco Página 9 de 10 www.netacad.com
Práctica de laboratorio: Interpretar datos HTTP y DNS para aislar al actor de la amenaza

CONFIDENTIAL DOCUMENT
DO NOT Sanalyst@SecOnion:~/Desktop$
¿Cuál es el resultado si siguen revirtiendo las cadenas hexadecimales?
Es el contenido del documento que fue extraído mediante DNS.

 Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco Página 10 de 10 www.netacad.com