Redacción 5 septiembre, 2019

Group-IB nos revela a dónde comenzó todo, con un troyano bancario.

Los investigadores se dieron cuenta de las actividades del grupo RTM en diciembre de 2015. Desde entonces, los correos electrónicos de phishing que distribuyen el troyano se han enviado a posibles víctimas con una persistencia admirable.

De septiembre a diciembre de 2018, el grupo RTM envió más de 11,000 correos electrónicos maliciosos con troyanos bancarios. Sin embargo, los cibercriminales no se detendrán allí, como lo demuestran las nuevas campañas maliciosas que rastreamos como parte de nuestras actividades de inteligencia de amenazas en curso.

En este artículo, voy a mostrar cómo realizar análisis forenses de una imagen de una computadora infectada con el troyano bancario RTM.
Fondo requerido
Imaginemos que no somos conscientes de la infección RTM en la computadora. La única evidencia que tenemos es el hecho del compromiso, que resultó en un robo de fondos. Esto hará que el proceso de análisis sea más interesante y aplicable a otros casos también. También me gustaría llamar su atención sobre el hecho de que en este artículo no me centraré en la ingeniería inversa del troyano.

Entonces, todo lo que tenemos es una imagen de unidad de computadora en formato E01 (Encase Image File Format). Para empezar, sería bueno saber qué hay dentro, al menos el sistema operativo, ya que es el sistema operativo y su versión los que determinan la presencia de ciertos artefactos forenses que tenemos que analizar.

1. Usemos la utilidad mmls del Kit de Detective de Brian Carrier:

Veamos que tenemos aquí. Varias particiones NTFS que se parecen a las particiones de Windows. Necesitamos estar seguros de eso. Intentemos encontrar archivos de registro, como SOFTWARE, por ejemplo.
2. Usemos las utilidades fls (de Sleuth Kit) y findtr para encontrar el número de entrada correspondiente en la tabla maestra de archivos (MFT):

Ahora podemos copiar el archivo que necesitamos para un análisis posterior con icat (del kit de detective):

icat -o 718848 E: \ RTM.E01 234782> SOFTWARE

Tenemos un archivo de registro de SOFTWARE del que podemos extraer la información más relevante utilizando RegRipper de Harlan Carvey, por ejemplo.

Por el momento, estamos interesados en el contenido de la sección Microsoft \ Windows NT \ CurrentVersion:

Ahora sabemos que la computadora en cuestión ejecutaba Windows 7 Professional SP1, lo que significa que sabemos qué artefactos forenses podemos encontrar y cuáles podemos necesitar.

¿Dónde comenzamos nuestra búsqueda? Recordemos la paradoja de Jesse Kornblum: «El malware puede esconderse, pero debe ejecutarse». Un buen comienzo será buscar posibles mecanismos de persistencia que el malware pueda usar para reiniciar después del reinicio.

Comencemos con cosas simples: tomaremos el archivo de registro NTUSER.DAT con la última fecha de modificación del directorio del usuario (C: \ Users \% username% \), y extraeremos datos de él usando RegRipper. Si queremos obtener el número de registro del archivo que necesitamos por medio de fls y findtr nuevamente, deberíamos agregar el parámetro -p para fls; esto permitirá que la utilidad muestre las rutas completas a los archivos.

¿Por qué necesitamos eso?

Hay un archivo NTUSER.DAT en el directorio de cada usuario, mientras que solo hay un SOFTWARE para todo el sistema, por lo que en este caso es importante obtener el número de registro de un archivo en particular.

En general, no tiene que atenerse al Kit de Detective en absoluto; existen herramientas más convenientes como FTK Imager, una herramienta gratuita, que puede usarse no solo para crear imágenes forenses, sino también para examinar su contenido.

Comencemos con las low-hanging fruits,, las llamadas teclas de ejecución:

La partición se modificó por última vez el 7 de noviembre y vemos que cuando un usuario inicia sesión, el archivo apg.exe se ejecuta desde una ubicación muy sospechosa. Veamos qué más podemos encontrar en el directorio b7mg81:

TeamViewer? Eso es interesante. Echemos un vistazo más de cerca a apg.exe y usemos PPE:
Esto se parece a TeamViewer y está firmado como TeamViewer, ¿entonces esto significa que de hecho es TeamViewer? Parece que sí, pero no es tan simple. Echemos un vistazo a la tabla de importación:

ThRight, msi.dll: un archivo que ya hemos visto en alguna parte. Este sigue siendo el directorio b7mg81, no C: \ Windows \ System32. A juzgar por el tamaño del archivo, no tiene nada que ver con el msi.dll original, por lo que es claramente un secuestro de órdenes de búsqueda de DLL.

El sistema operativo comienza a buscar las bibliotecas necesarias del directorio actual, lo que significa que, en lugar del archivo msi.dll legítimo, se cargará el que se encuentra en b7mg81.

Otro archivo interesante es TeamViewer.ini:

Aquí está lo anti forense: de acuerdo con el archivo de configuración, nuestro «TeamViewer» no guardaba ningún registro, y aparentemente fue utilizado como un RAT (Troyano de acceso remoto). Bien no está mal. Es hora de averiguar si alguna vez comenzó.

Hay muchos artefactos en Windows que pueden indicar que se han ejecutado archivos ejecutables. Sigamos trabajando con el registro, esta vez con el archivo SYSTEM. Para extraer datos de él, puede usar RegRipper nuevamente.

Estamos interesados en ControlSet001 \ Control \ Session Manager \ AppCompatCache.

Aquí encontraremos una lista de archivos ejecutables con rutas a ellos, las fechas en que se modificaron por última vez (de acuerdo con el atributo $ STANDARD_INFORMATION) y un indicador que indica si el archivo se inició o no:

Genial, nuestro archivo se ha lanzado al menos una vez. Entonces, tenemos un «punto de pivote». Sabemos que el 7 de noviembre, TeamViewer apareció en la unidad de la computadora. No guardaba registros, y lo más probable es que no fuera visible para el usuario, ya que en lugar de la biblioteca legítima, descargó la que se encuentra en el mismo directorio que TeamViewer.

Es hora de comenzar a construir una línea de tiempo. Creo que podemos volver a usar el Kit de Detective. Comenzaremos con la utilidad fls:

fls.exe -m «C: /» -o 718848 -r -z GMT D: \ RTM.E01> bodyfile.txt

Ahora usemos mactime para convertir el archivo obtenido en una línea de tiempo:

mactime.pl -d -b bodyfile.txt> timeline.csv

Es muy conveniente analizar líneas de tiempo en Timeline Explorer por Eric Zimmermann. Nuestra línea de tiempo solo incluirá eventos del sistema de archivos. Si desea que incluya cambios en el registro, registros, etc., puede usar plaso. Personalmente lo uso muy raramente, ya que el procesamiento de datos lleva mucho tiempo y el resultado suele ser bastante redundante.

Volvamos a la línea de tiempo. El directorio b7mg81 se creó el 7 de noviembre de 2018 a las 13:59:37:

Dos segundos antes de que se creara el archivo 21DA.tmp:
Si busca su suma de comprobación, en VirusTotal, por ejemplo, obtendrá resultados bastante interesantes.
Parece que se descomprimió una RAT de este archivo. Vamonos.
npacked from this file. Let’s move on.
El directorio LocalDataNT, que tiene archivos bastante interesantes dentro, se creó incluso antes. Echemos un vistazo a WinPrintSvc.exe, por ejemplo:
Remote Utilities es otra herramienta de administración remota. Aquí hay otro archivo sospechoso creado unos segundos antes:
Veamos su suma de comprobación:
Varios productos antivirus de RS lo identifican como RemoteAdmin. Aparentemente, esta es la fuente de Remote Utilities. Veamos si se lanzó la RAT detectada. Esta vez utilizaremos el archivo de registro AmCache.hve de C: \ Windows \ AppCompat \ Programs (RegRipper nos ayudará a obtener datos de él en un formato comprensible):

Como puede ver en la ilustración, AmCache nos ayuda a obtener no solo la fecha del primer lanzamiento, sino también la suma de comprobación del archivo.

Entonces, tenemos dos RAT, pero ¿de dónde vienen? ¡Buena pregunta! Si continúa desplazándose por la línea de tiempo, verá rastros de un directorio y un archivo bastante sospechosos que se están creando:

A pesar de la extraña extensión, fnbfdnja.hej tiene un encabezado familiar:

¿Qué nos mostrará una búsqueda de suma de verificación en VirusTotal?

Aquí está:

Como puede ver en la ilustración, algunos programas antivirus detectan nuestro archivo de manera definitiva: estamos tratando con RTM. La VT puede ayudarnos un poco más. Si miramos la pestaña «Relaciones», veremos esto:

Parece que hemos encontrado al culpable. Es «Документы за октябрь.exe» [«October documents.exe»]. O tal vez no: el nombre asociado con nuestro archivo es diferente, aunque la suma de verificación es la misma. De acuerdo, aquí hay otro .exe, por lo que debemos buscar rastros de lanzamiento nuevamente. Personalmente, me gusta mucho trabajar con el registro, por lo que volveré a utilizar el archivo NTUSER.DAT ya conocido y RegRipper. Esta vez, echaremos un vistazo a UserAssist, desde donde podemos obtener los nombres y las rutas de los archivos, las fechas de su último lanzamiento y la cantidad de veces que se lanzaron. El archivo «Документы за октябрь.exe» no es visible, pero otro archivo es:

C: \ Users \% username% \ Desktop \ Документы среда.exe

¡Excelente! Esto parece ser lo que necesitamos. Sin embargo, hay un pequeño problema: no existe dicho archivo en la ubicación adecuada. Volvamos a la línea de tiempo. Esto es lo que sucede después de que se crea el archivo fnbfdnja.hej:

Los archivos en el directorio Temp pueden pertenecer a RTM, pero no son los que nos interesan. Estamos interesados en los archivos $ R6K21RQ.exe y $ I6K21RQ.exe. Así es como se ven los archivos colocados en la Papelera de reciclaje: el primero contiene los datos reales, mientras que el segundo contiene metadatos. Si observamos el contenido de $ I6K21RQ.exe, veremos inmediatamente la ruta del archivo que estamos buscando: «Документы среда.exe».

Es hora de ver cómo VirusTotal lo identificará por su suma de comprobación:

Vemos una firma que ya conocemos, y es RTM. Al final resultó que, la suma de comprobación de nuestro archivo coincidió con la suma de comprobación de «Документы за октябрь.exe». Además, VirusTotal conoce algunos archivos más con la misma suma de comprobación:

Sería bueno obtener algunos indicadores de compromiso de la red. No tenemos un volcado de memoria, ni tenemos un volcado de tráfico de red, entonces, ¿qué utilizamos? Un archivo de paginación! Pero, ¿cómo encontramos una aguja en un pajar? VirusTotal nos ayudará nuevamente, esta vez con la pestaña «Comportamiento»:
Parece un C&C, ¿no? Veamos si hay algo similar en nuestro archivo de paginación (pagefile.sys).
Por supuesto, hay:
Entonces, hemos confirmado que nuestro archivo interactuó con 185.141.61 [.] 246. Intentemos encontrar más indicadores de red. Uno de los RAT fue TeamViewer, por lo que intentaremos encontrar algo similar a su ID.
Para hacer esto, puede usar expresiones regulares, por ejemplo:
¡Perfecto! Tenemos otro indicador de red: 195.123.219 [.] 87. Por supuesto, los archivos de paginación son adecuados no solo para buscar indicadores de red. Si volvemos a la pestaña «Comportamiento» en VirusTotal, veremos que nuestro archivo crea tareas en el programador. Si buscamos la cadena «fnbfdnja.hej», esto es lo que encontraremos:

La tarea creada inicia fnbfdnja.hej a través de rundll32.exe.

Bueno, es hora de terminar esto. Averigüemos de dónde proviene el archivo «Документы среда.exe». Ya sabemos que es RTM, y dado que es RTM, el vector más probable de infección es un correo electrónico de phishing. En este caso, la víctima usó Microsoft Outlook, por lo que encontramos el archivo .ost con datos de correo en su ubicación habitual, y en él, el correo electrónico de phishing exacto que hemos estado buscando:

En una nota final, veamos un artefacto más interesante. Si volvemos al archivo NTUSER.DAT y observamos el valor del parámetro Shell en Software \ MicrosoftNT \ CurrentVersion \ Winlogon, esto es lo que veremos en lugar del habitual «explorer.exe»:

Esto significa que en lugar de iniciar Explorer después de que el usuario inicie sesión, el sistema se apagará y finalizará su trabajo, tal como estoy terminando este artículo ahora.

 

Senior Digital Forensics Analyst de Group-IB
Troyano Bancario, Troyano Bancario, Troyano Bancario, Troyano Bancario
Troyano Bancario, Troyano Bancario, Troyano Bancario, Troyano Bancario

A %d blogueros les gusta esto: