Disclose The Agent

Plataforma
LetsDefend
Categoría
Análisis de tráfico
Dificultad
Easy

We reached the data of an agent leaking information. You have to disclose the agent.

Tenemos los datos de una agente que está filtrando información y hay que desenmascararla. Lo que nos dan es un pcap, y las preguntas dejan claro de qué va esto: el correo del novio secreto de Ann, su contraseña, el fichero que le manda, el país donde van a verse y el MD5 del adjunto.

Parece que vamos a investigar unos cuernos.

Primer vistazo

Viendo la jerarquía de protocolos en Wireshark (Statistics → Protocol Hierarchy), se ve que casi todo el tráfico TCP es SMTP, es decir, correo:

Ventana Protocol Hierarchy de Wireshark: 572 paquetes. TCP es el 85,7 % de los paquetes y el 91,5 % de los bytes, y dentro de él, Simple Mail Transfer Protocol, recuadrado en rojo, se lleva el 88,4 % de los bytes. El resto son Syslog, NTP, NetBIOS, SMB, DNS y ARP.

Casi todos los bytes de la captura son de un correo.

Preguntas

1. El novio secreto

What is the email address of Ann's secret boyfriend?

Respuesta: mistersecretx@aol.com

Para eso, primero tenemos que saber el correo de Ann. Filtrando por smtp y echando un vistazo, vemos que Ann es sneakyg33k@aol.com:

Wireshark con el filtro smtp: muchos paquetes "C: DATA fragment" de 192.168.1.159 a 64.12.102.142 y, seleccionado, el paquete 557 SMTP/IMF con from: "Ann Dercover" <sneakyg33k@aol.com>, subrayado en rojo, y subject: rendezvous.

Así que, viendo a quién le envía el correo, vamos a suponer que es el novio secreto:

Detalle del paquete 557 en Wireshark, apartado Internet Message Format: From "Ann Dercover" <sneakyg33k@aol.com>, To <mistersecretx@aol.com> subrayado en rojo, Subject rendezvous, Date Sat, 10 Oct 2009 07:38:10 -0600.

Asunto: "rendezvous". Efectivamente, lo es.

2. La contraseña de Ann

What is Ann's email password?

Respuesta: 558r00lz

En mi caso hice un Follow → TCP Stream sobre la conversación SMTP, y se ve la cadena entera, donde podemos ver el AUTH LOGIN:

Follow TCP Stream de la conversación SMTP. En azul, el servidor de AOL; en rojo, el cliente annlaptop. Recuadrado: AUTH LOGIN, 334 VXNlcm5hbWU6, c25lYWt5ZzMza0Bhb2wuY29t, 334 UGFzc3dvcmQ6, NTU4cjAwbHo= y 235 AUTHENTICATION SUCCESSFUL. Debajo, MAIL FROM y RCPT TO.

En rojo lo que manda el cliente, en azul lo que contesta el servidor.

En esta vista, el rojo es lo que envía quien empezó la conexión (el cliente, el portátil de Ann) y el azul lo que responde el servidor. Ahí tenemos el usuario y la contraseña, en Base64. Descodificado:

334 VXNlcm5hbWU6               → Username:            (servidor)
    c25lYWt5ZzMza0Bhb2wuY29t   → sneakyg33k@aol.com   (cliente)
334 UGFzc3dvcmQ6               → Password:            (servidor)
    NTU4cjAwbHo=               → 558r00lz             (cliente)
235 AUTHENTICATION SUCCESSFUL

Base64 no es cifrado: se revierte sin ninguna clave.

3. El fichero

What is the name of the file that Ann sent to his secret lover?

Respuesta: secretrendezvous.docx

Ahora nos pregunta por un fichero que Ann envía a su amante (esto va de infidelidades, no lo hagáis, niños). Se puede ver en ese mismo stream, más abajo:

Follow TCP Stream más abajo: final del cuerpo HTML ("bathing suit. Address attached. love, Ann") y la parte del adjunto con Content-Type application/octet-stream, name y filename "secretrendezvous.docx" subrayado en rojo, seguido del fichero en Base64. Una flecha roja señala el botón "Save as...".

Y aquí va un truquito: en ese stream tenemos el correo entero tal cual se mandó, así que lo podemos guardar con Save as... como correo.eml y abrirlo con un cliente de correo. Aquí, abierto en Thunderbird:

Correo abierto en Thunderbird: From Ann Dercover <sneakyg33k@aol.com>, To mistersecretx@aol.com, Subject rendezvous. Cuerpo: "Hi sweetheart! Bring your fake passport and a bathing suit. Address attached. love, Ann".

Pasaporte falso y bañador. Abajo, el adjunto: secretrendezvous.docx, de 203 KB.

4. El país

In what country will Ann meet with her secret lover?

Respuesta: Mexico

Para esta nos viene bien haber guardado el correo, porque tenemos el fichero tal cual ella lo envió. Lo abrimos y está el punto de encuentro:

Documento secretrendezvous.docx abierto: "Meet me at the fountain near the rendezvous point. Address below. I'm bringing all the cash." Debajo, un mapa de Google Maps de Playa del Carmen con la dirección 1 Av. Constituyentes 1 Calle 10 x la 5ta Avenida, Playa del Carmen, 77780, Mexico.

Playa del Carmen. Y lleva todo el dinero, ¿será que se fuga?

5. MD5 del adjunto

What is the MD5 value of the attachment Ann sent?

Respuesta: 9e423e11db88f01bbff81172839e1923

Ahora toca calcular el MD5 del adjunto: lo guardamos y un md5sum:

md5sum secretrendezvous.docx
9e423e11db88f01bbff81172839e1923  secretrendezvous.docx

Por qué esto es un problema

La captura es de 2009, y todo lo que hemos sacado (usuario, contraseña, correo y adjunto) estaba en claro en el tráfico.

Hoy, con el correo cifrado, esto ya no pasa a nivel de correo. Pero en su momento, cualquiera con acceso a un ordenador de la misma red y un Wireshark para interceptarla habría liado la de Cristo: la contraseña para entrar en la cuenta y todo lo que se enviaba, adjuntos incluidos.

Aprendizajes

  1. La jerarquía de protocolos primero: en un segundo te dice de qué va la captura y por dónde tirar.
  2. Follow TCP Stream lo cuenta todo: con un protocolo en texto, como SMTP, se lee la conversación entera como si fuera un chat.
  3. Un stream se puede guardar: si es un correo, guardarlo como .eml te da el mensaje y el adjunto tal cual se enviaron.

Este me ha gustado bastante.