Академический Документы
Профессиональный Документы
Культура Документы
al actor de la amenaza
Topología
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: Exfiltración de datos utilizando DNS
Antecedentes / Escenario
MySQL es una base de datos popular que utilizan numerosas aplicaciones web. Desafortunadamente, la
Inyección SQL es una técnica de hacking web común. Es una técnica de inyección de código en la que un
atacante ejecuta comandos SQL maliciosos para controlar el servidor de bases de datos de una aplicación
web.
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: Interpretar datos HTTP y DNS para aislar al actor de la amenaza
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 ejecutarán una inyección SQL para acceder a la base de datos SQL del
servidor. También utilizarán el servicio del DNS para facilitar la exfiltración de datos.
Recursos necesarios
Servidor con al menos 8GB de RAM y 40GB de espacio libre en disco.
Versión más reciente de Oracle VirtualBox
Conexión a Internet
Cuatro máquinas virtuales:
c. Inicien las máquinas virtuales CyberOps Workstation, Kali, Metasploitable y Security Onion; para ello,
seleccionen cada una de ellas y hagan clic en el botón Start (Iniciar). El botón Start está en la barra de
herramientas de VirtualBox.
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: Interpretar datos HTTP y DNS para aislar al actor de la amenaza
a. Inicien sesión en la máquina virtual CyberOps Workstation, abran un terminal y configuren la red; para
ello, ejecuten el script configure_as_static.sh.
Como el script requiere privilegios de usuario avanzado, introduzcan la contraseña correspondiente al
usuario analyst.
analyst@secOps ~]$ sudo ./lab.support.files/scripts/configure_as_static.sh
[sudo] contraseña para analyst:
Configurar la NIC de la siguiente manera:
IP: 192.168.0.11/24
GW: 192.168.0.1
Configuración de IP exitosa.
[analyst@secOps ~]$
d. Inicien sesión en la VM Security Onion. 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. Repitan el comando
según sea necesario hasta que todos los estados de todos los servidores y sensores sea OK antes de
pasar a la parte siguiente.
analyst@SecOnion:~/Desktop$ sudo service nsm status
Status: securityonion
* 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>
b. En la VM Kali, hagan clic en el icono de Firefox ESR ( ) para abrir una ventana nueva del navegador.
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: Interpretar datos HTTP y DNS para aislar al actor de la amenaza
c. Diríjanse a 209.165.200.235. Hagan clic en Mutillidae para acceder a un sitio web de vulnerabilidades.
d. Hagan clic en OWASP Top 10 > A1 – Injection > SQLi – Extract Data > User Info (Primeras 10 de
OWASP > A1 – Inyección > SQLi – Datos extraídos > Información del usuario).
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: Interpretar datos HTTP y DNS para aislar al actor de la amenaza
f. En el campo Username (Nombre de usuario), hagan doble clic en el 20 y cámbienlo por 100 para poder
ver la cadena más larga cuando introduzcan la consulta en el campo Name. Cierren el elemento de
inspección cuando hayan terminado.
h. Desplácense hacia abajo por la página para ver los resultados. El resultado indica que han extraído
correctamente la información de las tarjetas de crédito de la base de datos por medio de una inyección
SQL. Esta información solo debería estar disponible a usuarios autorizados.
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: Interpretar datos HTTP y DNS para aislar al actor de la amenaza
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).
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: Interpretar datos HTTP y DNS para aislar al actor de la amenaza
e. Hagan clic en el ID de una alerta en los resultados. Seleccionen Transcript (Transcripción) para ver los
detalles correspondientes a esta alerta.
Nota: Si escribió mal la información del usuario en el paso anterior, tendrá que utilizar la última alerta de
la lista.
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: 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.
Nota: Si introdujo el script de inyección más de una vez debido a un error al escribir o por algún otro
motivo, tal vez le convengan ordenar la columna Fecha/Hora y ver la alerta más reciente.
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.
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: Interpretar datos HTTP y DNS para aislar al actor de la amenaza
Nota: Si no puede ubicar la información sobre la tarjeta de crédito robada, es posible que tenga que
visualizar la transcripción en otra alerta.
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.
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.
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: Interpretar datos HTTP y DNS para aislar al actor de la amenaza
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. También pueden guardar el archivo pcap de Wireshark. 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.
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: Interpretar datos HTTP y DNS para aislar al actor de la amenaza
a. Cuando estén en la VM Security Onion, abran 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.
d. En el panel izquierdo, seleccionen HTTP > Top Potential SQL Injection (HTTP > Principales inyecciones
SQL potenciales). Seleccionen 209.165.200.235.
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: Interpretar datos HTTP y DNS para aislar al actor de la amenaza
e. En la última entrada, haga clic en Info. Esta información está relacionada con la inyección SQL exitosa.
Observen la consulta union que se utilizó durante el ataque.
f. 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.
g. 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.
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: Interpretar datos HTTP y DNS para aislar al actor de la amenaza
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: Interpretar datos HTTP y DNS para aislar al actor de la amenaza
;; ANSWER SECTION:
;; AUTHORITY SECTION:
example.com. 604800 IN SOA ns.example. root.example.com. 2 604800 86400
2419200 604800
;; ADDITIONAL SECTION:
The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
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: Interpretar datos HTTP y DNS para aislar al actor de la amenaza
http://help.ubuntu.com/
Last login: Wed Aug 30 11:24:13 2017 from 209.165.201.17
user@metasploitable:~$
b. Utilicen el siguiente comando egrep para analizar el archivo de registro de consultas DNS:
/var/lib/bind/query.log.
El comando se debe introducir exactamente como se indica a continuación en la línea de comando.
user@metasploitable:~$ egrep -o [0-9a-f]*.ns.example.com
/var/lib/bind/query.log | cut -d. -f1 | uniq > secret.hex
El comando egrep es idéntico al comando grep -E. Esta opción -E permite la interpretación de
expresiones regulares extendidas.
La opción -o muestra solo las porciones que coinciden.
La expresión regular extendida, [0-9a-f]]*.ns.example.com, coincide con partes del query.log
con cero o más instancias de letras en minúscula y números, con ns.example.com como parte del
final de la cadena.
El comando cut elimina una sección de cada línea de los archivos. El comando cut -d. -f1 utiliza
el punto (,) como delimitador para mantener solamente el subdominio y quitar el resto de la línea
con el Nombre de dominio totalmente calificado (Fully Qualified Domain Name, FQDN).
El comando uniq quita todos los duplicados.
La barra vertical (|) lleva la salida del comando a su izquierda, que pasa a ser la entrada del
comando a su derecha. Hay dos barras verticales en los comandos.
Finalmente, el resultado se redirecciona al archivo secret.hex.
c. Utilicen el comando cat para mostrar el archivo hexadecimal.
user@metasploitable:~$ cat secret.hex
434f4e464944454e5449414c20444f43554d454e540a444f204e4f542053
484152450a5468697320646f63756d656e7420636f6e7461696e7320696e
666f726d6174696f6e2061626f757420746865206c617374207365637572
697479206272656163682e0a
El contenido del archivo será el mismo que el de confidential.hex en CyberOps Workstation.
d. Salgan de la sesión SSH de Metasploitable.
user@metasploitable:~$ exit
logout
Connection to 209.165.200.235 closed.
e. Utilicen el comando de copia de seguridad (scp) para copiar el archivo secret.hex de la VM
Metasploitable a la Kali. Introduzcan user como la contraseña cuando se los solicite el sistema. Esto
podría demorar unos minutos.
root@kali:~# scp user@209.165.200.235:/home/user/secret.hex ~/
user@209.165.200.235's password:
secret.hex 100% 3944 3.1MB/s 00:00
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: Interpretar datos HTTP y DNS para aislar al actor de la amenaza
h. Verifiquen que el contenido del archivo secret.txt sea el mismo que el del archivo confidential.txt en la VM
CyberOps Workstation.
root@kali:~# cat secret.txt
CONFIDENTIAL DOCUMENT
NO COMPARTIR
Este documento contiene información sobre la última brecha de seguridad.
i. Ahora pueden apagar las VM CyberOps Workstation, Metasploitable y Kali.
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: Interpretar datos HTTP y DNS para aislar al actor de la amenaza
c. Hagan clic en uno de los enlaces y copien la cadena de 63 bytes preanexada a ns.example.com.
d. 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
CONFIDENTIAL DOCUMENT
DO NOT Sanalyst@SecOnion:~/Desktop$
¿Cuál es el resultado si siguen revirtiendo las cadenas hexadecimales?
El resultado es la siguiente cadena de texto: “CONFIDENTIAL DOCUMENT DO NOT SHARE this
document contains information about the last security breach”
Cisco y/o sus filiales. Todos los derechos reservados. Información confidencial de Cisco Página 17 de 17 www.netacad.com