100% encontró este documento útil (1 voto)
196 vistas101 páginas

Prevención de njRAT en Malware

Este documento trata sobre el malware y sus principales vectores de entrada y distribución, tipologías y técnicas de evasión. Explica que el malware se distribuye principalmente a través de correos electrónicos maliciosos y describe la evolución de las técnicas utilizadas, desde archivos ejecutables hasta el uso de documentos con macros y vulnerabilidades. También analiza diferentes tipos de malware como ransomware, infostealers y backdoors, e introduce conceptos como los indicadores de compromiso y el malware como servicio. Por último, explica técnic

Cargado por

eduardo
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
100% encontró este documento útil (1 voto)
196 vistas101 páginas

Prevención de njRAT en Malware

Este documento trata sobre el malware y sus principales vectores de entrada y distribución, tipologías y técnicas de evasión. Explica que el malware se distribuye principalmente a través de correos electrónicos maliciosos y describe la evolución de las técnicas utilizadas, desde archivos ejecutables hasta el uso de documentos con macros y vulnerabilidades. También analiza diferentes tipos de malware como ransomware, infostealers y backdoors, e introduce conceptos como los indicadores de compromiso y el malware como servicio. Por último, explica técnic

Cargado por

eduardo
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Malware © Ediciones Roble S.L.

Indice
Malware 3
I. Introducción 3
II. Objetivos 3
III. Vectores de entrada y distribución 3
Actividades de reflexión 19
IV. Tipologías 20
4.1. Ransomware 20
4.2. InfoStealer 35
4.3. Keylogger 42
4.4. Banker 44
4.5. Miner 67
4.6. BackDoor 68
4.7. RAT 69
V. Indicadores de compromiso 70
Actividades de reflexión 76
VI. MaaS (Malware as a Service) 77
Actividades de reflexión 81
VII. Técnicas de evasión 82
7.1. Técnicas anti-disassembly 83
7.2. Técnicas anti-debugger 84
7.3. Técnicas anti-vm 87
7.4. Máquinas físicas 89
Actividades de reflexión 89
Propuesta de solución 89
VIII. Resumen 97
Recursos 99
Enlaces de Interés 99
Bibliografía 99
Glosario. 100

2/101
Malware

Malware

I. Introducción
Como se mencionaba en la introducción al módulo, se define comomalware al software malicioso que se crea
con el fin de perpetrar acciones ilegítimas o maliciosas en un dispositivo (móvil, ordenador, ATM, etc.).

Entre estas acciones destacan la extracción ilícita de datos del dispositivo infectado o
información sensible y confidencial del usuario, el secuestro de datos y archivos del
dispositivo, la inoperatividad del sistema o el uso de los recursos del dispositivo y la red para
beneficio propio del atacante.

Son objetivos mayoritarios de casos de malware las entidades bancarias, portales de


mensajería (Outlook, Gmail, Hotmail, etc.), portales de métodos de pago y comercios
electrónicos (PayPal, Amazon, eBay, etc.), al igual que de los casos de phishing ; aunque,
como en dicha amenaza, también hay casos de ataques dirigidos.

II. Objetivos
En esta unidad aprenderemos los principales vectores de ataque y distribución demalware hoy en día, así
como las variantes que existen de este tipo de amenaza.

Se trata de un tema de suma importancia y complejidad dentro de la ciberinteligencia, por lo que es


importante que nos familiaricemos también con conceptos como los indicadores de compromiso (IoC), el
Malware as a Service y las técnicas de evasión.

Como comentamos, este es uno de los aspectos de mayor importancia dentro de esta área y gracias a esta
unidad, el alumno aprenderá los conceptos más relevantes del malware que le serán de gran utilidad si le
gustaría centrarse en un futuro en esta especialidad técnica.

III. Vectores de entrada y distribución


En el caso de la distribución de malware, aunque se han ido variando constantemente las técnicas de
explotación y ocultación dentro de esta, los vectores de entrada principales se han seguido utilizando con el
paso del tiempo:

Malspam

A través de campañas de distribución masiva

Como en el caso de phishing , el primero de ellos y más común es a través de campañas de distribución
masiva vía malspam, es decir, a través de correos electrónicos maliciosos.

3/101
Malware

Imagen 5.1. Ejemplo de malspam distribuyendo malware.


Fuente: elaboración propia CyberAcademy.
1

Diariamente, se envían millones de correos fraudulentos que tratan de distribuir malware


indiscriminadamente, la gran mayoría de ellos con una ingeniería social muy simple, como es el
gancho a través de facturas, impagos o problemas con el banco. No obstante, algunas de las
campañas enviadas son más sofisticadas y, con el paso del tiempo, este vector de entrada ha ido
mejorándose y aprovechando las vulnerabilidades en el momento oportuno.

Debido a las continuas mejoras por parte de los sistemas de seguridad perimetral, antivirus, etc., los
atacantes se han visto obligados a profesionalizar cada vez más el servicio de distribución, como se
verá a continuación.

Hace unos años, era muy común que llegasen correos electrónicosmalspam con un archivo
ejecutable adjunto en ellos, tratando únicamente de ocultarse a través del uso de una doble extensión y
un icono. Por ejemplo, un archivo ejecutable con el nombre “factura_impago_v54.exe” sería
renombrado a “factura_impago_v54.pdf.exe” debido a que, por norma general, los usuarios mantienen
la opción “Ocultar extensiones para tipos de archivos conocidos”.

Imagen 5.2. Ocultar extensiones para tipos de archivos conocidos desactivado.


Fuente: elaboración propia CyberAcademy.

De esta forma, el usuario únicamente apreciaría el nombre del fichero “factura_impago_v54.pdf”, a lo


que, si además se le añade un icono en el que se visualice como un fichero PDF, el porcentaje de
usuarios que hagan clic en el fichero malicioso crece exponencialmente.

4/101
Malware

Como es lógico, esto duraría poco, ya que rápidamente se prohibieron los envíos de archivos
ejecutables en los correos electrónicos, tanto por parte de la política de las propias empresas como por
muchos gestores de correo.

No obstante, los atacantes no tardaron mucho en reponerse de esto, puesto que la solución era muy
fácil, comprimir esos archivos con ZIP, RAR, 7z.

Esta solución, aunque es muy rudimentaria, estuvo dando éxito durante un tiempo, añadiendo
nuevas funcionalidades como, por ejemplo, el uso de contraseña para el fichero comprimido, la cual se
incluía en el propio contenido del cuerpo del correo.

Imagen 5.3. ZIP que contiene ejecutable cifrado con contraseña.


Fuente: elaboración propia CyberAcademy.

Aunque esto tuvo bastante éxito, los sistemas de seguridad como, por ejemplo, Fireeye, incluyeron
un mecanismo para hacer una especie de ataque de fuerza bruta al fichero comprimido, utilizando
como diccionario las palabras contenidas en el cuerpo del correo electrónico y consiguiendo detener,
en gran parte, este método utilizado por los atacantes.

5/101
Malware

Pronto, los atacantes comenzaron a añadir una nueva capa de protección, utilizando documentos
ofimáticos de Microsoft como paso intermedio para la descarga del malware.

Aquí fue cuando los atacantes empezaron a profesionalizar el servicio, utilizando las macros para
descargar o depositar los ejecutables, aunque comenzaron utilizando técnicas muy rudimentarias,
como por ejemplo incluir el propio código del binario en el mismo documento.

Imagen 5.4. Código del binario contenido en el propio DOC.


Fuente: elaboración propia CyberAcademy.

6/101
Malware

Cuando comenzó a utilizarse esta técnica, la mayoría de empresas e incluso al instalar desde cero
herramientas como Microsoft Word, la configuración establecía que se habilitasen por defecto las
macros, etc., lo que significaba barra libre para la descarga de troyanos.

Imagen 5.5. VBA utilizado para la descarga de malware.


Fuente: elaboración propia CyberAcademy.

No obstante, esto fue rápidamente corregido, estableciendo que, por defecto, apareciese un
mensaje en el que se deja a elección del usuario el habilitar las macros.

Imagen 5.6. Opción para habilitar las macros.


Fuente: elaboración propia CyberAcademy.

Aquí se utilizaron múltiples trucos por parte de los atacantes, como comprimir estos documentos,
utilizar las macros para descargar un fichero que no fuese el malware para que este lo descargase, el
uso de powershell, etc., los cuales siguen utilizándose a día de hoy con mucho éxito.

Imagen 5.7. Uso de powershell en campaña de malware.


Fuente: elaboración propia CyberAcademy.

Sin embargo, algo que han ido incorporando los atacantes a la hora de este tipo de distribución y les
ha dado un éxito rotundo, ha sido el uso de vulnerabilidades recién conocidas para la explotación de
estas y conseguir que las macros se ejecutasen o ejecutar código sin necesidad de estas, por ejemplo,
el caso de DDE.

7/101
Malware

Aunque los primeros ataques de explotación de DDE son muy antiguos, en 2017 volvió a ser muy
popular, debido a la capacidad de ejecutar código en un documento ofimático sin el uso de macros.
Esta técnica fue popularizada tras un post muy bien detallado en el que se explicaba cómo llevar a
cabo la explotación: https://sensepost.com/blog/2017/macro-less-code-exec-in-msword/

Fue una técnica muy utilizada para la distribución de malware durante 2017 y sigue estando activa
en 2018. Los siguientes posts del blog “myonlinesecurity” muestran campañas que hacen uso de la
explotación.

https://myonlinesecurity.co.uk/new-malware-campaign-using-dde-exploit-delivering-malware/
(18 de enero de 2018)
https://myonlinesecurity.co.uk/dde-exploits-still-happening-despite-microsoft-updates-to-stop-the
m/ (25 de diciembre de 2017)
https://myonlinesecurity.co.uk/more-locky-ransomware-delivered-via-dde-exploit-pretending-to-c
ome-from-your-own-company-or-email-address/ (20 de octubre de 2017)

Imagen 5.8. Campañas que utilizan la explotación de DDE, mostradas por la etiqueta DDE en
“myonlinesecurity”.
Fuente: blog myonlinesecurity.co.uk.

A través de campañas de distribución selectivas

Por último, otro método de distribución a través del correo electrónico que se ha utilizado con un éxito
enorme en 2016 y 2017 es el de la inclusión de un enlace que redirige a un sitio web selectivo, que es un
paso intermedio en el proceso de descarga del malware.

8/101
Malware

Se denomina como selectivo debido a que, aun tratándose de una campaña de distribución masiva, no
se realiza indiscriminadamente, sino que, para obtener un mejor resultado y ampliar el período de vida de
esta, se crea una campaña para cada país, utilizando el idioma correspondiente, una compañía señuelo
afincada en el país y conocida por todos (normalmente de carácter público) y un filtrado de acceso para
direcciones IP que no correspondan al país objetivo.

Un ejemplo de este método utilizado para tratar de infectar a usuarios españoles es


el de la suplantación de la compañía Correos vivido en marzo del pasado 2016.

Durante los días 15 y 16 de marzo de 2016, se realizó una distribución masiva


selectiva de correos fraudulentos en los que trataba de hacer creer a los usuarios que
se enviaba un correo legítimo de la compañía Correos España, para propagar un
ransomware conocido como TorrentLocker (veremos las distintas tipologías más
adelante). El aspecto del correo era el siguiente:

Imagen 5.9. Aspecto del correo de suplantación de la compañía Correos.


Fuente: elaboración propia CyberAcademy.

En la figura, se puede apreciar que los atacantes hacen uso de un buen lenguaje
castellano, además de utilizar el propio nombre del usuario para dar más credibilidad
al correo.

En el cuerpo del correo, se mostraba un enlace en el que, supuestamente, se


descargaría información relacionada con el envío.

9/101
Malware

Imagen 5.10. Aspecto del cuerpo del correo.


Fuente: elaboración propia CyberAcademy.

Durante los dos días que permaneció activa la distribución, se apreciaron más de 20
direcciones URL distintas que se utilizaban para mantener activa la campaña.

Una vez que el usuario hacía clic en el enlace tratando de acceder al sitio web, este contenía un fichero
.htaccess a través del cual se comprobaba la geolocalización, para identificar si se accedía desde una
dirección IP española o no.

En el caso de que el usuario no accediese desde una IP española, se denegaba el acceso, realizando
una redirección al buscador de Google e imposibilitando así, acceder a la estructura del ataque y, por
tanto, no era infectado. Aunque, de este modo, los atacantes perdiesen potenciales víctimas, conseguían
evadir los análisis automáticos de sistemas de seguridad, asegurando así que el período de vida del
fraude fuese mayor.

10/101
Malware

Imagen 5.11. Intento de acceso al sitio web fraudulento desde una dirección IP no española.
Fuente: elaboración propia CyberAcademy.

Por su parte, en el caso de que el usuario accediese desde una IP española, sí que se podía acceder al
sitio web fraudulento, pasando al siguiente paso para proceder a la descarga del malware.

Imagen 5.12. Intento de acceso al sitio web fraudulento desde una dirección IP española.
Fuente: elaboración propia CyberAcademy.

En el navegador, el usuario podía ver un sitio web en el que se suplantaba casi a la perfección a la
compañía Correos.

Por otro lado, las comprobaciones de seguridad de que el acceso era realizado por un usuario y no por
una máquina de análisis no quedaba en el paso anterior, sino que se incorporaba un captcha.

11/101
Malware

Imagen 5.13. Captcha de seguridad en el sitio web fraudulento.


Fuente: elaboración propia CyberAcademy.

Al completar el captcha, esta vez ya se producía la descarga de un fichero ZIP, desde otro sitio web
fraudulento distinto, en esta campaña ubicada en Rusia. Este fichero ZIP contenía el binario que debía ser
ejecutado por el usuario en su máquina, siendo infectado en ese momento.

A la hora de detectar nuevas campañas vía malspam, bastaría con utilizar el mismo método que en el
caso de phishing , es decir, la creación de distintos buzones spam-trap que recojan todos correos
maliciosos posibles.

SMS

Otro vector de entrada que se utiliza, aunque en mucha menor medida, es la distribución de SMS
fraudulentos a dispositivos móviles, con el fin de que el usuario se descargue una APK maliciosa e infecte el
dispositivo.

Aunque no es una técnica muy común, hay periodos de tiempo en los que sí tiene relevancia; no obstante,
los SMS maliciosos son más bien utilizados como complemento de otras campañas de malware, como se
verá más adelante.

Las campañas a través de SMS tienen la ventaja de que su distribución no está tan vigilada como por
correo electrónico, ya que no se disponen de los mismos sistemas de seguridad para ello.

En la siguiente figura se puede apreciar un SMS recibido por un usuario en el que los atacantes se hacen
pasar por una entidad financiera, comunicando un bloqueo de la tarjeta de crédito.

12/101
Malware

Imagen 5.14. SMS fraudulento.


Fuente: elaboración propia CyberAcademy.

Algo que se da por hecho en casi todas las campañas de SMS fraudulentos es el uso de “acortadoras” de
URL para facilitar la ocultación del dominio destino, aunque hay que tener en cuenta que en determinados
sistemas de mensajería móvil actuales no es posible utilizarlas.

Automáticamente, al hacer clic en el enlace, se lleva a cabo la descarga de la APK maliciosa, sin
necesidad de realizar pasos intermedios. Esto se debe a que la seguridad en los dispositivos móviles es
inferior.

Imagen 5.15. APK maliciosa descargada.


Fuente: elaboración propia CyberAcademy.

Mala configuración

Otro vector de entrada muy activo actualmente debido a la facilidad de uso y al gran porcentaje de éxito
que tiene es la explotación de malas configuraciones por parte de las empresas.

Entre estos tipos destacan los siguientes:

1. Explotación de una política de seguridad débil o una mala configuración de un servicio expuesta
a Internet

El primero de ellos es un caso reincidente actualmente, distribuyendo en la mayoría de los casos


malware de tipo ransomware o miner.

Este ataque se basa en el escaneo de un determinado puerto, servicio, etc., por todo Internet o sobre
una determinada empresa, con el objetivo de detectar servicios expuestos a Internet sobre los que intentar
realizar login.

Estos escaneos pueden realizarse de múltiples maneras, normalmente a través de herramientas


automáticas elaboradas por los propios atacantes, aunque existe un sinfín de posibilidades para ello, por
ejemplo, Shodan (https://www.shodan.io/). Shodan es un motor de búsqueda que facilita la detección de
características de dispositivos, ya sean puertos, protocolos, etc.

13/101
Malware

Uno de los ataques que más se ve actualmente es el acceso ilegítimo vía RDP(Remote Desktop
Protocol), el cual permite ganar acceso remoto a una máquina.

Imagen 5.16. Servicio RDP.


Fuente: elaboración propia CyberAcademy.

Aunque el servicio RDP, por seguridad, no debería estar expuesto a Internet, sino únicamente accesible
desde la propia red de la compañía o vía VPN, hay muchísimas empresas que lo mantienen visible desde
el exterior con el objetivo de poder conectarse a sus máquinas sin ningún tipo de restricción.

Esta exposición en la red de la compañía, unida a una política débil de gestión de contraseñas, es un
objetivo muy llamativo para los atacantes, que únicamente deben realizar un escaneo de direcciones IP
que tengan el puerto 3389 (puerto estándar del servicio RDP) expuestos a Internet.

Imagen 5.17. Búsqueda de direcciones IP con el puerto 3389 accesible desde Internet.
Fuente: elaboración propia CyberAcademy - Shodan.

14/101
Malware

Imagen 5.18. RDP expuesto a Internet.


Fuente: elaboración propia CyberAcademy.

Como se puede apreciar, hay una gran cantidad de direcciones IP con dicho puerto expuesto.

Pues bien, una vez que se conoce esta información, únicamente sería necesario validarse contra el
servicio, para obtener acceso directo contra la máquina (normalmente con privilegios de administración).

Hay dos métodos utilizados por los atacantes para ello:

En primer lugar, los atacantes listan los usuarios que se encuentran habilitados para dicho servicio,
lo cual es algo que se puede realizar fácilmente con una herramienta de hacking como Nessus (htt
ps://www.tenable.com/products/nessus/nessus-professional). Una vez que se dispone de los
usuarios, se intenta realizar login utilizando el nombre de usuario como contraseña, es
decir, “maria:maria”, “administrador:administrador”, etc. Esta reutilización del nombre para la
contraseña, aunque parezca que nunca pueda darse, es muy común todavía a día de hoy, lo que
facilita el acceso a un atacante en pocos segundos.
En segundo lugar, si el primer intento no ha resultado exitoso, se realiza un ataque de diccionario
con el que intentar ganar acceso a causa de una contraseña débil o común. Este tipo requiere más
tiempo y puede ser bloqueado si se detecta el ataque por la seguridad de la compañía, pero
también resulta exitoso en múltiples ocasiones.

Una vez que los atacantes disponen de acceso a la máquina, hay dos tareas que se realizan como
norma general:

La primera de ellas es depositar y ejecutar un malware en la máquina, normalmente un


ransomware o un miner.
La segunda, es la propagación interna. Normalmente, servicios como SMB o RDP suelen estar
cortados hacia el exterior, pero no internamente, por lo que, teniendo acceso a una máquina en la
red, se puede ganar acceso en otras pivotando, lo que ampliaría la cantidad de máquinas
comprometidas o infectadas por el atacante.

15/101
Malware

Imagen 5.19. Login exitoso (ID: 4624) RDP.


Fuente: elaboración propia CyberAcademy.

Este vector de entrada es muy frecuente en estos momentos y afecta a múltiples empresas pequeñas y
medianas a diario, dada la facilidad de perpetrar el ataque.

2. Explotación de una vulnerabilidad expuesta a Internet

El segundo tipo de explotación utilizada por los atacantes es el de la explotación de vulnerabilidad


expuesta a Internet.

Este caso es muy parecido al anterior, pero esta vez no basándose en una política débil de seguridad,
sino en la explotación de la vulnerabilidad de un servicio que se tenga en algún dispositivo de la
compañía, ganando acceso a la red a través de él.

Un ejemplo muy claro de este vector es el utilizado por los atacantes para propagar con mucho éxito el
ransomware WanaCry en mayo de 2017.

En dicho ataque, se utilizó una vulnerabilidad conocida para el servicio de SMB en la plataforma
Microsoft (MS17-010 - https://docs.microsoft.com/en-us/security-updates/securitybulletins/2017/ms17-
010), para la cual el grupo “Shadow Brokers” había publicado distintos paquetes de explotación (https://git
hub.com/misterch0c/shadowbroker/tree/master/windows/exploits); en este
caso, EternalBlue+DoublePulsar.

En esta ocasión, los atacantes simplemente necesitaban identificar direcciones IP con el puerto 445
expuesto a Internet (puerto estándar para SMB) y tratar de explotar la vulnerabilidad si esta no había sido
parseada.

16/101
Malware

Imagen 5.20. Búsqueda en shodan para el puerto 445.


Fuente: elaboración propia CyberAcademy - Shodan.

Como norma general, este servicio no debería estar expuesto a Internet, menos aun si hablamos de
que es vulnerable y no se ha parcheado.

En este caso, al explotar la vulnerabilidad y poder obtener una conexión inversa con un proceso (algo
extremadamente sencillo puesto que está explicado en muchísimos posts por todo Internet), el atacante
deposita y ejecuta el binario deseado en la máquina ( ransomware WanaCry en aquel caso) y, por otro
lado, al ya estar dentro de la red de una empresa, la propagación se haría mucho más efectiva debido a
que, por norma general, el servicio SMB no suele estar filtrado internamente.

17/101
Malware

Imagen 5.21. Propagación de la explotación de la vulnerabilidad.


Fuente: elaboración propia CyberAcademy.

Este tipo de explotación podría llamarse “explotación activa”, puesto que el atacante no espera a que el
usuario acceda a un servidor comprometido que pueda explotar alguna vulnerabilidad, sino que desde
fuera se busca dicha vulnerabilidad para tratar de explotarla.

Exploit-kit

En el otro lado, estaría la “explotación pasiva”, es decir, la que se realiza a través del uso deExploit kits.

A grandes rasgos, un Exploit kit es un paquete de software alojado en sitios web, diseñado para explotar
vulnerabilidades de los usuarios que accedan a estos. Es decir, un atacante consigue comprometer un sitio
web (cuanto más conocido, mejor) e introduce un fragmento de código para que el usuario que accede al
website (sin darse cuenta de nada puesto que la tarea se realiza en segundo plano) haga una llamada a un
servidor donde se aloja el Exploit kit, que tratará de explotar algún plugin o servicio vulnerable de la máquina
para forzar la descarga y ejecución de algún fichero malicioso.

Imagen 5.22. Llamada a Exploit-kit.


Fuente: elaboración propia CyberAcademy.

En el blog de malware-traffic-analysis se pueden observar multitud de campañas de


Exploit-kit distribuyendo malware, dado que, aunque cada vez va perdiendo más peso, ha
sido un vector de entrada principal durante muchos años.

https://www.malware-traffic-analysis.net/2017/08/04/index.html (4 de agosto de
2017)
https://malware-traffic-analysis.net/2017/12/28/index.html (28 de diciembre de
2017)

18/101
Malware

https://blog.malwarebytes.com/cybercrime/2017/08/enemy-at-the-gates-reviewing-t
he-magnitude-exploit-kit-redirection-chain/ (2 de agosto de 2017)

Existen multitud de variantes de Exploit-kits, entre las que destacan:

Rig EK: https://www.malware-traffic-analysis.net/2017/08/01/index.html (1 de agosto de 2017)


y https://malware-traffic-analysis.net/2017/12/28/index.html (28 de diciembre de 2017).
Angler EK.

Magnitude EK: https://www.malware-traffic-analysis.net/2017/08/04/index.html (4 de agosto de 2017).

Este vector de entrada, aunque sigue activo, cada vez es menos frecuente, dando paso al
uso de TDS para la distribución activa de campañas, lo cual se detalla en el punto
específico sobre TDS (Traffic Director System) de este máster.

Dispositivos externos

Este punto quedará explicado más adelante.

Malware as a Service

Por último, cabe mencionar uno de los vectores de entrada más importantes en las campañas demalware, el
MaaS ( Malware as a Service), aunque este se detallará en profundidad más adelante debido a que se debe
conocer la estructura y tipología de las distintas familias de malware para poder abordarlo.

Actividades de reflexión

Realizar una prueba de concepto de la explotación de DDE.


Replicar el ataque de EternalBlue+DoublePulsar (se necesitarán tres máquinas
virtuales en local, dos SO Win y un SO Linux).

19/101
Malware

IV. Tipologías

Existen distintos tipos de malware que utilizan los atacantes, todos ellos con distintos
objetivos, funcionamiento, complejidad, etc.

A continuación, procedemos a introducir los tipos más comunes en la actualidad con el fin
de conocer a qué tipo de amenazas nos podemos enfrentar.

4.1. Ransomware
Esta tipología de malware se dio a conocer notablemente con la aparición deCryptoLocker, una familia de
ransomware que comenzó a ser distribuida en 2013.

El objetivo de estos tipos de malware es obtener beneficio económico tras solicitar una cuantía por recuperar
los ficheros “secuestrados”, es decir, cifrados.

Ficheros cifrados por un ransomware

Imagen 5.23. Ficheros cifrados por un ransomware.


Fuente: elaboración propia CyberAcademy.

Mensaje depositado por el ransomware tras el "secuestro" de archivos

Imagen 5.24. Mensaje depositado por el ransomware tras el "secuestro" de archivos.


Fuente: elaboración propia CyberAcademy.

20/101
Malware

Anotación: Un ransomware funciona de la siguiente manera

1. Infecta la máquina del usuario, convirtiéndola en un bot.


2. E l ransomware lista los ficheros contenidos en la máquina infectada para,
posteriormente, proceder al cifrado una vez que se le indique.
3. Siguiendo los pasos del fichero de configuración, cifra los archivos deseados
mediante una clave pública normalmente contenida en el propio código del binario.
4. Contacta con el servidor indicado en su fichero de configuración para informar de la
infección.
5. Deposita en el equipo una nota de rescate donde indica los pasos que hay que
realizar para proceder al pago del rescate.
6. Si el pago se realiza, el atacante facilita una herramienta con la clave privada para
realizar el descifrado de archivos.

Imagen 5.25. Pasos genéricos realizados por un ransomware.


Fuente: elaboración propia CyberAcademy.

Dependiendo de la familia de ransomware, existen unas técnicas y funcionamientos distintos; no obstante,


existen funcionalidades que se utilizan en la mayoría de ellos. El ransomware, tras ser ejecutado en una
máquina, realiza una serie de comprobaciones que se definen en su fichero de configuración, que es distinto no
solo en cada familia, sino también en cada campaña, aunque sea la misma variante.

A continuación, se muestra un fichero de configuración completo de un ransomware de la familia


Cerber que se irá comentando en cada función

21/101
Malware

En primer lugar, se muestra un diccionario denominado blacklist que contiene varias indicaciones que
hay que tener en cuenta para dejar intactos una serie de archivos:

Extensiones.
Archivos.
Directorios.
Idiomas.

Esto se realiza debido a que, si se cifrasen todos los ficheros de un sistema, este quedaría inoperativo,
imposibilitando, por tanto, la visualización del mensaje de descifrado, la navegación, etc. Por otro lado,
también hay ficheros que no conviene bloquear, como son los monederos de Bitcoin, ya que, si esto
sucede, la víctima se quedaría sin poder realizar el pago.

Extensiones de ficheros que no serán cifrados

Imagen 5.26. Extensiones de ficheros que no serán cifrados.


Fuente: elaboración propia CyberAcademy.

Ficheros que no serán cifrados

Imagen 5.27. Ficheros que no serán cifrados.


Fuente: elaboración propia CyberAcademy.

Directorios cuyo contenido no será cifrado

Imagen 5.28. Directorios cuyo contenido no serán cifrados.


Fuente: elaboración propia CyberAcademy.

22/101
Malware

Idiomas que, en caso de ser utilizados por el SO, cortarán el proceso de cifrado

Imagen 5.29. Idiomas que, en caso de ser utilizados por el SO, cortarán el proceso de cifrado.
Fuente: elaboración propia CyberAcademy.

Esta última captura de pantalla es curiosa, dado que muchas familias demalware incorporan funciones
que, en caso de detectar que está siendo ejecutado en una máquina cuyo sistema operativo está en
idioma de algún país del Este de Europa, no continuará con sus acciones.

“1049:ruso, 1058:ucraniano, 1059:bielorruso, 1067:armenio, etc.” (https://www.scien


ce.co.il/language/Locale-codes.php)

Esto se debe, posiblemente, a que la mayoría de creaciones de malware provienen de dichos países, lo
que implica que los actores no quieran afectar a sus compatriotas.

El siguiente diccionario realiza una comprobación de las listas del diccionarioblacklist que deberá tener
en cuenta.

Imagen 5.30. Comprobación de la lista "language".


Fuente: elaboración propia CyberAcademy.

A continuación, encontramos el diccionario default que define los dominios de los servidores que se
utilizarán para el mensaje de descifrado, así como la dirección del monedero para realizar el pago.

Imagen 5.31. Dominios y wallet.


Fuente: elaboración propia CyberAcademy.

23/101
Malware

El siguiente diccionario indica las extensiones de los ficheros que va a cifrar, así como elcheck de la
realización de la acción y algunas indicaciones que hay que tener en cuenta para ello.

Imagen 5.32. Indicaciones del cifrado I.


Fuente: elaboración propia CyberAcademy.

Imagen 5.33. Indicaciones del cifrado II.


Fuente: elaboración propia CyberAcademy.

L a global_public_key es la que define la clave pública que se utilizará para realizar el cifrado de los
archivos.

Imagen 5.34. Clave pública definida.


Fuente: elaboración propia CyberAcademy.

24/101
Malware

El diccionario help_files indica el contenido y nombre de los ficheros que depositará con el mensaje del
rescate. Alguna parte la muestra codificada en base64, otra en texto plano.

Imagen 5.35. Contenido del fichero del mensaje del secuestro codificado en base64.
Fuente: elaboración propia CyberAcademy.

Imagen 5.36. Extensión y nombre del fichero del mensaje del secuestro.
Fuente: elaboración propia CyberAcademy.

El diccionario servers indica los pasos que hay que seguir respecto a la comunicación, indicando, por
ejemplo, los servidores C&C, puertos utilizados, etc.

Imagen 5.37. Diccionario con indicaciones de red.


Fuente: elaboración propia CyberAcademy.

25/101
Malware

El diccionario wallpaper indica el contenido de la información que se mostrará como fondo de pantalla
tras la infección del equipo.

Imagen 5.38. Contenido del wallpaper.


Fuente: elaboración propia CyberAcademy.

Este fichero de configuración, como se puede apreciar, indica todos los datos que hay que considerar para las
acciones que hay que realizar por parte del ransomware.

Otra funcionalidad que hay que tener en cuenta es la del cifrado de archivos
incluidos en dispositivos externos.

26/101
Malware

La mayoría de ransomware añade la funcionalidad de cifrar los archivos en todos los dispositivos sobre los
que se tengan permisos de escritura.

La siguiente figura trata de ayudar a comprender esta situación.

Ejemplo de cifrado de ficheros de dispositivos conectados

Imagen 5.39. Ejemplo de cifrado de ficheros de dispositivos conectados.


Fuente: elaboración propia CyberAcademy.

En la figura anterior, se muestra cómo un ransomware infecta la máquina de un usuario a la que está
conectada un dispositivo externo en modo escritura, lo que significa que los archivos de dicho dispositivo
externo serán cifrados.

Existe, asimismo, un recurso compartido que se encuentra mapeado en la máquina del usuario, con modo
escritura, lo que significa que los archivos contenidos también serán cifrados.

27/101
Malware

Por otro lado, hay dos máquinas que también tienen acceso a dicho recurso, una directamente y otra a
través de un servidor. Dado que la máquina infectada no tiene acceso directo a las nuevas máquinas y
mucho menos con privilegios de escritura, estas no sufrirán el cifrado de sus archivos.

Algo también relevante en cuanto a los ransomware es la funcionalidad del cifrado de archivos mediante
una clave.

Aunque hace años los ficheros cifrados por algunas familias deransomware podían ser descifrados de
forma manual (tras mucho trabajo de análisis), las familias que existen en la actualidad no tienen este fallo, lo
que imposibilita en la mayoría de los casos poder descifrar los archivos si no es realizando el pago (lo cual
nunca es recomendable, dado que es una financiación a estos grupos).

Normalmente, el cifrado de archivos se realiza mediante el juego de clave pública y clave privada, es decir,
clave asimétrica.

Dicho esto, podrían crearse tres tipologías de ransomware distintas:

Clave privada contenida en el código del binario

En estos casos, tras realizar el reversing completo del malware, podría obtenerse la función de descifrado,
además de la clave privada que se necesita.

Se pueden descifrar los ficheros manualmente.

Clave privada alojada en el servidor C&C

En estos casos, aunque en algunas ocasiones se pueda obtener la función de descifrado tras elreversing
del malware, la clave privada se encuentra guardada en el servidor C&C utilizado por el atacante, por lo que
la única posibilidad de obtenerla es romper la comunicación o acceder de manera ilegítima al servidor.

Como norma general, no se puede descifrar, a no ser que se obtenga la clave privada del servidor.

28/101
Malware

Clave privada alojada por el atacante en un lugar desconocido

En estos casos, por mucho que se disponga de la función de descifrado, se desconoce la ubicación de la
clave privada, por lo que no existe manera de obtenerla.

Imagen 5.40. Contacto con el atacante tras el cifrado de los archivos.


Fuente: elaboración propia CyberAcademy.

No se puede descifrar manualmente.

Imagen 5.41. Tipologías de ransomware según la ubicación de la clave privada.


Fuente: elaboración propia CyberAcademy.​​

Aunque existen un sinfín de familias de malware, hay algunas que merecen ser mencionadas por la relevancia
que tuvieron en su momento o tienen actualmente.

29/101
Malware

CryptoLocker

Es importante incluir CryptoLocker, ya que fue la familia que consiguió poner a la amenaza deransomware
al frente de los ataques de malware.

Imagen 5.42. Mensaje de descifrado del ransomware Cryptolocker.


Fuente: elaboración propia CyberAcademy.

TorrentLocker

También conocido como CryptoLocker. TorrentLocker ha sido utilizado en múltiples ocasiones para
campañas masivas selectivas, como por ejemplo la de Correos mencionada anteriormente. Aunque disponía
de las claves privadas en los servidores C&C, en algunas ocasiones fue posible su descifrado manual, ya que
las claves fueron conseguidas.

Imagen 5.43. Mensaje de descifrado del ransomware TorrentLocker.


Fuente: elaboración propia CyberAcademy.

30/101
Malware

Petya

Fue un ransomware que cambió el formato típico utilizado hasta la fecha, ya que no les bastó a sus
creadores con el cifrado de los archivos, sino que también modificaban la MBR del sistema, imposibilitando el
acceso a la máquina.

Imagen 5.44. Pantalla mostrada tras la infección por parte de Petya I.


Fuente: elaboración propia CyberAcademy.

Imagen 5.45. Pantalla mostrada tras la infección por parte de Petya II.
Fuente: elaboración propia CyberAcademy.

31/101
Malware

Cerber

Fue un ransomware muy activo durante años, pero a día de hoy hay pocas campañas de distribución. Este
malware, además de por su éxito, se caracterizó por los rangos de direcciones IP utilizados como C&C (/27,
/22, /16…), realizando conexiones UDP al puerto 6893 en casi todas sus campañas.

Imagen 5.46. Configuración de la comunicación con los servidores C&C delransomware Cerber.
Fuente: elaboración propia CyberAcademy.

Imagen 5.47. Mensaje de descifrado mostrado por el ransomware Cerber.


Fuente: elaboración propia CyberAcademy.

32/101
Malware

Dharma (variante de “Crysis”)

Aunque el ransomware Dharma como tal es bastante sencillo, sin ninguna peculiaridad, el impacto que
está teniendo actualmente debido a su método de distribución y explotación de malas configuraciones en el
servicio RDP es muy grande.

Imagen 5.48. Login exitoso vía RDP.


Fuente: elaboración propia CyberAcademy.

Imagen 5.49. Mensaje de descifrado mostrado por el ransomware Dharma.


Fuente: elaboración propia CyberAcademy.

33/101
Malware

Locky

El ransomware Locky es el más profesional, en cuanto a su código se refiere, hasta la fecha. Además de
incorporar siempre nuevas funcionalidades y estar a la cabeza de la innovación en estos tipos de malware,
también lo ha estado en cuanto a la distribución, comunicación con servidores, etc. Se conoce que,
posiblemente, este ransomware está programado por el mismo grupo que los creadores del troyano bancario
Dridex. Este ransomware, gracias a su ofuscación, era capaz de pasar desapercibido durante horas, e incluso
días, por las casas de antivirus.

Imagen 5.50. Mensaje de descifrado del ransomware Locky I.


Fuente: elaboración propia CyberAcademy.

Imagen 5.51. Mensaje de descifrado del ransomware Locky II.


Fuente: elaboración propia CyberAcademy.

34/101
Malware

WanaCry

Este ransomware ha sido el más mediático hasta la fecha debido al impacto que supuso a causa de su
propagación, utilizando para ello el pack de EternalBlue+DoublePulsar para la explotación. Por otro lado,
también tuvo una curiosidad, que fue la del uso de un killswitch a través del cual se podía detener el proceso
de cifrado de los archivos, algo que no permitió a los atacantes obtener tanto beneficio como hubiesen
querido.

Imagen 5.52. Ficheros cifrados por WanaCry.


Fuente: elaboración propia CyberAcademy.

Imagen 5.53. Propagación con EternalBlue+DoublePulsar.


Fuente: elaboración propia CyberAcademy.

4.2. InfoStealer
Esta tipología de malware, aunque en el mundo de la ciberseguridad está un poco infravalorada en ciertas
ocasiones, es una amenaza muy compleja que es capaz de obtener muchísima información de los equipos
infectados, además de mantenerse activa durante más tiempo que un ransomware o un banker.

Además, a la hora de la distribución, el número de campañas, muestras y servidores nuevos que se utilizan es
mucho mayor que en cualquier otra tipología.

35/101
Malware

Imagen 5.54. Eventos generados para nuevas campañas detectadas.


Fuente: elaboración propia CyberAcademy.

El objetivo de estos tipos de malware es obtener datos sensibles de la máquina infectada, siendo dirigido
normalmente al robo de credenciales de correos electrónicos, FTP, wallets, gestores de contraseña, etc.

Anotación: Un InfoStealer funciona de la siguiente manera

1. Infecta la máquina del usuario, convirtiéndola en un bot.


2. Se oculta para no ser detectado por el usuario ni herramientas de seguridad.
3. Crea una tarea de persistencia para mantener la infección tras el apagado del
equipo.
4. Se mantiene a la escucha de los procesos realizados en la máquina, recogiendo la
información de los servicios que tenga definido en su código.
5. Cada cierto período, envía la información obtenida al servidor C&C.

36/101
Malware

Al contrario que en los ransomware, esta tipología de malware no suele disponer de un fichero de
configuración dinámico, sino que, ya sea en el servidor o en su propio código (normalmente viene integrado
en el builder), dispone de módulos que contienen las funciones de robo de información para cada servicio.

Imagen 5.55. Ejemplo de módulos utilizados por InfoStealer.


Fuente: elaboración propia CyberAcademy.

Dado que estos troyanos suelen venderse por un precio muy bajo en distintos foros fácilmente accesibles
y, en otras ocasiones, incluso el código se encuentra público, la distribución suele realizarse por grupos
profesionales y, en muchas ocasiones, se realizan por usuarios inexpertos, que dejan la estructura visible,
rastros de su creación, etc.

Imagen 5.56. Panel de InfoStealer LokiBot, accesible tras el listado del directorio.
Fuente: elaboración propia CyberAcademy.

Respecto al robo de información, los InfoStealer utilizan múltiples técnicas para ello, como son:

37/101
Malware

Keystrokes

A través de las pulsaciones de teclado, el malware es capaz de obtener la información introducida en los
sitios web que monitoriza.

Screenshots

Otra de las funcionalidades que suelen incorporar losInfoStealer es la capacidad para realizar capturas de
pantalla en los sitios web deseados, con el fin de obtener los datos introducidos en teclados virtuales, por
ejemplo.

MitM O MitB

Otra capacidad es la de capturar los paquetes de red, obteniendo así directamente la información enviada
al acceder a los sitios web que monitoriza.

A la hora de identificar una descarga de un InfoStealer o la presencia de este en una máquina, si hablamos en
labores de un analista, es algo relativamente fácil ya que, al igual que comentábamos que los usuarios
inexpertos suelen dejar rastros o fallos de configuración en la distribución, también suelen mantener la misma
estructura en las conexiones, mutex , claves de registro, directorios, etc.

Aunque existe un gran número de familias de InfoStealer, muchas de ellas muy conocidas, actualmente hay
dos familias que prácticamente copan todo el mercado:

Pony

Este InfoStealer es el más conocido hasta el momento, debido a los años que lleva en actividad, el impacto
que tiene y la gran comercialización de la que dispone, no solo siendo distribuido en campañas únicas, sino
siendo incluido en paquetes de distribución en conjunto, como por ejemplo el actual “Hancitor > Pony >
Evilpony > PandaBanker” (http://www.malware-traffic-analysis.net/2018/04/11/index2.html).

38/101
Malware

Imagen 5.57. Campaña de distribución de Hancitor > Pony > Evilpony > PandaBanker
Fuente: elaboración propia CyberAcademy.

Como mencionábamos anteriormente, la distribución de esta familia suele realizarse por usuarios
inexpertos, que dejan al descubierto, entre otras cosas, el contenido del directorio en el servidor
comprometido o, incluso a veces, mantienen el nombre del malware en el propio path del directorio.

Imagen 5.58. Estructura del directorio abierto en el servidor comprometido.


Fuente: elaboración propia CyberAcademy.

39/101
Malware

Imagen 5.59. Estructura del directorio abierto en un servidor comprometido utilizando elpath "pony".
Fuente: elaboración propia CyberAcademy.

Imagen 5.60. Panel estándar de un Pony.


Fuente: elaboración propia CyberAcademy.

Dentro de su código, hay un módulo llamado “password_modules.php”, que es el que contiene todos los
servicios y funcionalidades para el robo de información sensible.

Imagen 5.61. Estructura del código de Pony.


Fuente: elaboración propia CyberAcademy.

40/101
Malware

Imagen 5.62. Módulo "password_modules.php" de Pony.


Fuente: elaboración propia CyberAcademy.

LokiBot

LokiBot, que comparte su nombre con un troyano bancario creado para la plataforma Android, es el
InfoStealer que, en estos momentos, tiene mayor presencia tanto en el mercado de ventaunderground,
como en su actividad.

Se trata de un malware modular que tiene el código algo más estructurado que Pony, pero que tiene unas
funcionalidades muy similares.

Al igual que cuando hablábamos de Pony, los usuarios que distribuyen estemalware suelen ser, por lo
general, inexpertos, dejando directorios abiertos, no eliminando el kit comprimido del malware del servidor
comprometido y no modificando las rutas estándar del builder.

Imagen 5.63. Panel de LokiBot.


Fuente: elaboración propia CyberAcademy.

41/101
Malware

Dentro de su código, hay un directorio llamado “pass_modules”, que es el que contiene todos los módulos
con los servicios y funcionalidades para el robo de información sensible. En el mismo directorio donde se
encuentra “pass_modules”, hay otros módulos como “wallet.class.php” y “worker.class.php”.

Imagen 5.64. Directorio donde se incluyen los móduloswallet y worker.


Fuente: elaboración propia CyberAcademy.

Imagen 5.65. Directorio "pass_modules" con todos los módulos contenidos.


Fuente: elaboración propia CyberAcademy.

Una última particularidad dentro de este malware es el uso, por defecto, del User-Agent “Mozilla/4.08
(Charon; Inferno)”, algo que permite reconocer fácilmente tráfico relacionado con esta familia.

4.3. Keylogger
Aunque a día de hoy han perdido mucha relevancia, ya que la mayoría deInfoStealer incluyen funcionalidades
de keystroke, hubo una época en la que los malware de tipo keylogger presentaban mucha actividad, debido a la
gran cantidad de información que obtenían y la rapidez de robo.

Como su propio nombre indica, el objetivo de estatipología es guardar todas las pulsaciones de teclado,
además de dónde se realizan.

Anotación: Un keylogger funciona de la siguiente manera

1. Infecta la máquina del usuario, convirtiéndola en un bot.


2. Se oculta para no ser detectado por el usuario ni herramientas de seguridad.
3. Crea una tarea de persistencia para mantener la infección tras el apagado del
equipo.
4. Obtiene todas las pulsaciones y accesos realizados en todo momento en el equipo
infectado.
5. Cada cierto período, envía la información obtenida al servidor C&C.

42/101
Malware

Puesto que no es una tipología muy activa en la actualidad, no vamos a entrar en detalle en ella, ya que
podría prácticamente repetirse muchos de los puntos anteriores.

Una de las familias más conocidas de esta tipología fuePredator Pain. Esta familia, activa desde 2013, fue
distribuida de forma masiva en múltiples campañas, afectando tanto a usuarios como a grandes compañías.
También se distribuyó a través de dispositivos externos, algo más habitual en otra época.

Imagen 5.66. Distribución vía USB.


Fuente: elaboración propia CyberAcademy.

Entre sus funcionalidades se incluían el robo de información de servicios,keystroke y screenshots.


Además, utilizaba herramientas que no eran propias, sino que pertenecían a NirSoft, Affixiate, etc.
(WebBrowserPassView, MailPassView, etc.).

Creaba siempre 2 ficheros, llamados “pid.txt” y “pidloc.txt”, que contenían el PID del proceso activo y el
path donde se guardaba el ejecutable.

Toda la información que obtenía de los módulos de robo de información, la iba guardando en los ficheros
“holdermail” y “holderweb” para ser enviada, normalmente por correo, al atacante.

El resto de información, obtenida del módulo de keylogging, se iba guardando cada cierto periodo en un
ZIP en la carpeta %TEMP%, para ser enviado directamente al servidor C&C del atacante.

Estos troyanos, también se vendían completamente en mercados underground, por lo que disponían de
una aplicación builder para generar el binario con toda la estructura correspondiente.

Imagen 5.67. Panel de builder de Predator Pain.


Fuente: elaboración propia CyberAcademy.

43/101
Malware

4.4. Banker
Esta tipología de malware es una de las más activas actualmente, además de ser la que contiene varios de los
códigos más profesionales, con más técnicas e innovación constante.

El objetivo de estos tipos de malware es obtener credenciales de acceso de usuarios a las entidades
financieras, realizar transferencias de forma automática, etc.

Anotación: Un Banker funciona de la siguiente manera

1. Infecta la máquina del usuario, convirtiéndola en un bot.


2. Se oculta para no ser detectado por el usuario ni herramientas de seguridad.
3. Crea una tarea de persistencia para mantener la infección tras el apagado del
equipo.
4. Descarga su fichero de configuración para poder realizar los siguientes pasos.
5. Monitoriza la navegación del usuario con el fin de actuar si accede a alguno de los
sitios web objetivo indicados en el fichero de configuración.
6. A través de distintas técnicas (redirección, MitB, MitM, inyección, etc.) obtiene las
credenciales de acceso al sitio web.
7. Inyecta código en el navegador del usuario para obtener los métodos para saltarse el
multifactor de acceso o realizar transferencias desde su propia cuenta bancaria,
interactuando con él.

Imagen 5.68. Pasos genéricos de un


Banker I.
Fuente: elaboración propia CyberAcademy.

Imagen 5.69. Pasos genéricos de un Banker II.


Fuente: elaboración propia CyberAcademy.

44/101
Malware

Dependiendo de la familia de Banker, existen unas técnicas y funcionamientos distintos, no obstante,


existen funcionalidades que se utilizan en la mayoría de ellos. El Banker, tras ser ejecutado en una máquina,
se oculta y crea una tarea de persistencia, ya sea mediante clave de registro, tarea programada de Windows,
etc., ya que su objetivo es realizar el menor ruido posible para mantenerse siempre a la escucha de las
acciones del usuario, ya que no podrá realizar ninguna acción hasta que este acceda a alguno de los sitios
web a los que el ataque está dirigido.

Imagen 5.70. Tarea de persistencia creada por un malware bancario.


Fuente: elaboración propia CyberAcademy.

Imagen 5.71. Clave de registro creada para la persistencia.


Fuente: elaboración propia CyberAcademy.

Una vez que se encuentra asentado en el sistema operativo, el siguiente paso de todo troyano bancario es
realizar la descarga del fichero de configuración ya que, sin éste, no podrá continuar con la infección.

Este fichero de configuración, al igual que sucede en los ransomware, aunque en este caso con mucha
más relevancia, varía totalmente dependiendo de la familia, de la campaña e incluso a veces una misma
muestra es capaz de realizar la descarga de un fichero de configuración u otro, según dónde se encuentre o
el momento en que contacte con el servidor C&C.

45/101
Malware

Imagen 5.72. Fragmento del fichero de configuración de un troyano bancario I.


Fuente: elaboración propia CyberAcademy.

Imagen 5.73. Fragmento del fichero de configuración de un troyano bancario II.


Fuente: elaboración propia CyberAcademy.

Aunque cada fichero de configuración es distinto, existen unos patrones comunes en la mayoría de ellos.

Imagen 5.74. Estructura básica de un fichero de configuración.


Fuente: elaboración propia CyberAcademy.
set_url

Esta etiqueta, aunque no siempre se refleja en los ficheros de configuración, es la que indica lastring
que desencadenará la función siguiente una vez que el usuario acceda.

Por ejemplo, si en un fichero de configuración se muestra “set_url https://*gle.es”, quiere decir que
cuando un usuario infectado acceda al sitio web “https://google.es”, se activará la función que se indique a
continuación en la config.

Los caracteres G y P que se incluyen indican que se capturarán los accesos tanto GET como POST.

Como comentábamos anteriormente, no siempre se muestra la etiqueta “set_url”, sino que puede ser
modificada por cada familia de malware.

Imagen 5.75. Muestra de un fragmento de fichero de configuración sin "set_url".


Fuente: elaboración propia CyberAcademy.

46/101
Malware

data_before

Esta etiqueta es la que indica la string tras la cual se realizará la inyección de código malicioso.

No siempre es necesaria, ya que en muchas ocasiones no se fusiona el código legítimo con el


inyectado, sino que toda la visualización se realizará sobre el propio código malicioso.

data_end

Esta etiqueta es la que indica la string donde acabará la inyección de código realizada.

Al igual que se mencionaba anteriormente, no siempre es necesaria, ya que en la mayoría de ocasiones


no se fusiona el código legítimo con el inyectado.

data_inject

Esta etiqueta es una de las más importantes, ya que define el código que se va a inyectar en el
navegador del usuario infectado.

47/101
Malware

Esto es algo muy importante de comprender, ya que el código nunca se inyecta sobre el sitio web de la
entidad, eso sería comprometer dicha compañía, sino que se realiza sobre el navegador del usuario
infectado una vez que trata de acceder a dicho sitio web, algo muy distinto.

En algunas ocasiones, como en la figura que se muestra a continuación, el código que se va a inyectar
aparece directamente en el fichero de configuración.

Imagen 5.76. Código a inyectar mostrado en el propio fichero de configuración.


Fuente: elaboración propia CyberAcademy.

Sin embargo, esto es algo poco común actualmente, ya que la cantidad de código que se va a inyectar es
muy grande, lo que provocaría un tamaño considerable en el fichero de configuración.

Para ello, se incluye dentro del propio fichero de configuración, muchas veces codificado en base64 o con
algún tipo de cifrado, una URL desde donde se realizará la descarga de dicho código.

Imagen 5.77. URL desde donde se debe realizar la descarga del código a inyectar.
Fuente: elaboración propia CyberAcademy.

Existen múltiples tipos de inyecciones en cada familia, botnet, campaña, etc. No


obstante, hay varios cánones que siguen de acuerdo al tipo de banco al que atacan
o a la seguridad que estos incorporan.

48/101
Malware

Inyección para modificar campos de Usuario y Contraseña

La inyección más antigua es la que se realiza en cierta parte del código legítimo, para modificar los
campos de Usuario y Contraseña, algo muy propio de troyanos como Zeus.

A día de hoy, este tipo de inyecciones ya no se utilizan ya que la información obtenida apenas es útil, dado
que las entidades financieras incluyen multifactores, tanto para el acceso como para las acciones.

Imagen 5.78. inyección de código para solicitar clave de firma.


Fuente: elaboración propia CyberAcademy.

Imagen 5.79. Inyección de código simple.


Fuente: elaboración propia CyberAcademy.

El siguiente paso fue incluir más campos necesarios para el multifactor, como preguntas de seguridad,
etc., ya fuese fusionando el código malicioso con el legítimo, realizando una redirección a un sitio web
malicioso de tipo phishing , como era el caso del antiguoDridex, o cargando un JS completo que hiciese
overlay , algo muy típico entre los troyanos bancarios de la plataforma Android o el antiguoUrsnif.

Imagen 5.80. Fragmento de objetivos de la config de un antiguo Ursnif.


Fuente: elaboración propia CyberAcademy.

49/101
Malware

Inyecciones por Dyreza y TrickBot

Otro tipo de inyección, más enfocada a obtener credenciales de cuentas bancarias de empresas, son los
utilizados por Dyreza en su momento y TrickBot actualmente, es la de la obtención de todas las credenciales
y datos introducidos mediante MitB.

De esta forma, el malware, además de obtener las credenciales de acceso, va recogiendo todos los datos
de la tarjeta de coordenadas, algo que podría convertirse en un proceso largo, excepto si se habla de cuentas
de empresas que están realizando acciones constantemente.

Imagen 5.81. Información introducida en un sitio web tras la infección por TrickBot.
Fuente: elaboración propia CyberAcademy.

Imagen 5.82. Información extraída de la petición.


Fuente: elaboración propia CyberAcademy.

50/101
Malware

Inyección por troyanos como Tinba, Gozi o URLZONE

Otro ejemplo de inyección, mucho más compleja, es la realizada por troyanos comoTinba, Gozi o
URLZONE.

Dado que la mayoría de entidades bancarias comenzaron a introducir múltiples métodos de detección de
usuarios infectados, bloqueo de usuarios, factores de autenticación, etc., los atacantes necesitaban ir un
paso más allá y no quedarse con datos de acceso, sino tratar de que fuese el propio usuario quien le
ayudase a llevar el fraude a cabo.

¿Cómo hicieron esto? Como siempre, con ingeniería social.

En este caso, la inyección no se realizaba en la página delogin, sino una vez que el usuario ya había
accedido a su cuenta.

Ya con el panel del sitio web cargado, el código inyectado conseguía mostrar un mensaje, con el formato
de cada entidad a la que afectase (imaginad el nivel de estudio realizado para ello) en el que se mostraba
una supuesta transferencia recibida por error a favor del usuario y que debía ser devuelta de inmediato ya
que, si no, no se podrían realizar acciones con dicha cuenta.

Estimado %nombre_usuario%. Hemos recibido la información de que el importe de


%cantidad_dinero% EUR ha sido ingresado a su cuenta %número_cuenta% por error.
Para obtener más información sobre la transferencia, verifique el historial de sus
operaciones. Su cuenta permanecerá restringida hasta que se finalize la devolución del
dinero conforme con la ley y la política interna del banco. El banco no tiene derecho de
realizar cualquier movimiento en su cuenta y necesita su aprobación para el retorno de los
fondos. Su cuenta se desbloqueará automáticamente después de la devolucion del
importe indicado. *La comisión por transferencia será devuelta en el transcurso de 1-2
días hábiles. Le pedimos disculpas por las molestias que le fueron causadas. Por favor
pulse "Continuar" para devolver la transferencia.

Imagen 5.83. Mensaje de transferencia supuestamente recibida.


Fuente: elaboración propia CyberAcademy.

Este mensaje, para tratar de tener credibilidad, indicaba haber sido enviado desde alguna compañía
conocida, como, por ejemplo, Vodafone.

51/101
Malware

Imagen 5.84. Supuesto emisor de la transferencia.


Fuente: elaboración propia CyberAcademy.

Imagen 5.85. Mensaje introductorio de la supuesta transferencia.


Fuente: elaboración propia CyberAcademy.

Para dar aun más credibilidad al incidente, la inyección de código modificaba la tabla de movimientos,
añadiendo una nueva fila en la que se podía apreciar esta nueva recepción de dinero, sumándose a lo que ya
se tenía.

Una vez que el usuario decidía devolver esa supuesta transferencia y hacía clic en el botón “Continuar” o
“Devolver”, se ejecutaba una función en la que, tras una petición a un servidor, se obtenía la cuenta mula
destinataria de esta “devolución”, la cual, como analistas, debe ser identificada tras el estudio de la inyección.
Está técnica es conocida como ATS, “Automatic Transfer System”.

Imagen 5.86. Ejemplo de servidor que alojaba cuentas mula.


Fuente: elaboración propia CyberAcademy.

Imagen 5.87. Función para el pago fraudulento.


Fuente: elaboración propia CyberAcademy.

Imagen 5.88. Función de envío de transferencia.


Fuente: elaboración propia CyberAcademy.

52/101
Malware

De esta forma, cuando le solicitasen los factores de autenticación al usuario para confirmar la
transferencia, sería este mismo quien lo introduciría, dando permiso para realizar esta transferencia
fraudulenta ante su total desconocimiento.

Una vez finalizado el pago, desaparecería todo el código inyectado, visualizándose únicamente una nueva
fila en la tabla de movimientos en la que se aprecia la pérdida del dinero transferido.

Imagen 5.89. Pasos generales para una inyección con interacción del usuario.
Fuente: elaboración propia CyberAcademy.

Inyección malware como PandaBanker

Un tipo de inyección que se utiliza desde hace varios años, pero que sigue vigente hoy en día pormalware
como PandaBanker, es el de combinar la inyección en el navegador con capturar el factor de autenticación
enviado al dispositivo móvil.

Esto fue algo en lo que tuvieron que trabajar los creadores de inyecciones debido a que las entidades
financieras incorporaron un factor externo a la hora de completar la autenticación y validación de
transferencias.

Para ello, además de solicitar información como la tarjeta de coordenadas, usuario, contraseña, etc., las
inyecciones de código también mostraban campos en los que se solicitaba al usuario que introdujese
información de su dispositivo móvil, como es el sistema operativo y número de teléfono.

Imagen 5.90. Inyección de código preparada para obtener los datos de la tarjeta de coordenadas.

53/101
Malware

Fuente: elaboración propia CyberAcademy.

Imagen 5.91. Mensaje en el que se indica al usuario que existe una nueva aplicación de seguridad para
dispositivos móviles, y que elija su SO.
Fuente: elaboración propia CyberAcademy.

Imagen 5.92. Variable de elección del SO - codificada en base64.


Fuente: elaboración propia CyberAcademy.

Imagen 5.93. SO que se permite elegir al usuario en el desplegable I.


Fuente: elaboración propia CyberAcademy.

Imagen 5.94. SO que se permite elegir al usuario en el desplegable II.


Fuente: elaboración propia CyberAcademy.

Imagen 5.95. Mensaje en el que se solicita al usuario el número de teléfono.


Fuente: elaboración propia CyberAcademy.

Con todos estos datos, el atacante envía un SMS al dispositivo móvil, en el que se indicará un enlace
(acortadora) en el que debe descargar una aplicación de seguridad para trabajar con la banca, obviamente
se trata de una aplicación maliciosa.

Imagen 5.96. Instrucciones para el SMS que se recibirá en el dispositivo móvil.


Fuente: elaboración propia CyberAcademy.

De esta forma, el atacante es capaz de interceptar los códigos de seguridad enviados por la entidad para
aprobar las transacciones realizadas.

54/101
Malware

Imagen 5.97. Pasos generales para una inyección en la que se capture el SMS enviado al dispositivo móvil.
Fuente: elaboración propia CyberAcademy.

Inyección por Dridex y GootKit

Por último, una inyección que se está llevando a cabo por troyanos bancarios muy activos en estos
momentos, como son Dridex y GootKit, es la que se desarrolla para poder bypassear la seguridad en factores
de autenticación en tokens físicos, como son los lectores de tarjeta.

Esta medida de seguridad es muy utilizada por algunas entidades de Reino Unido o LATAM por lo que,
entre las entidades financieras definidas como objetivo de estos ataques, suelen aparecer generalmente.

En primer lugar, en estos casos se solicita las credenciales genéricas de acceso al sitio web.

Imagen 5.98. Solicitud de ID y contraseña.


Fuente: elaboración propia CyberAcademy.

Tras introducirlas, se muestra un mensaje de error a lo que continúa la solicitud de más factores de
autenticación, como las preguntas de seguridad, etc.

55/101
Malware

Imagen 5.99. Solicitud de otras opciones de autenticación.


Fuente: elaboración propia CyberAcademy.

Ya con todos estos datos, se solicita el número de tarjeta de crédito y su PIN.

Imagen 5.100. Solicitud de tarjeta de crédito y PIN.


Fuente: elaboración propia CyberAcademy.

Y, por último, para completar el último paso de la autenticación, se solicita al usuario que cargue su lector
de tarjeta, introduzca su código y PIN.

Imagen 5.101. Solicitud de opciones para el lector de tarjetas.


Fuente: elaboración propia CyberAcademy.

De esta manera, los atacantes son capaces de acceder al sitio web una vez el usuario ha introducido los
datos obtenidos del token físico y pueden llevar a cabo todas las acciones que deseen.

Todas estas inyecciones dejan ver la cantidad de personas que trabajan detrás de
estas amenazas, además de la continua mejora e innovación que requiere, así
como el estudio en profundidad de todos sus objetivos.

56/101
Malware

Entre las familias de malware bancario más destacadas actualmente están las siguientes:

Dridex

Dridex es el troyano bancario más profesional que existe hasta la fecha. Atribuido al mismo grupo que está
detrás del ransomware Locky, Dridex ha ido evolucionando constantemente, no solo en la parte de las
inyecciones, sino, sobre todo, en cuanto a técnicas anti análisis se refiere, y se ha convertido en un malware
referente en este campo, causando mucho daño en su segunda aparición en julio de 2016.

A día de hoy, aunque sigue siendo un malware muy temido para la gran mayoría de analistas, sus técnicas
antianálisis han ido siendo bypasseadas u omitidas por algunos grupos de analistas avanzados, permitiendo
realizar el su análisis en detalle.

Su distribución se basa mayoritariamente en campañas masivas de correo electrónico, utilizando asuntos


típicos para estos fraudes como “Invoice”, “Business Card”, “Account statement”, “Fax message”, etc.

https://blog.trendmicro.com/trendlabs-security-intelligence/banking-trojan-dridex-uses-macros-for-infection/

http://blog.dynamoo.com/2015/05/malware-spam-attn-outstanding-invoices.html

https://heimdalsecurity.com/blog/security-alert-dridex-malware-creators-deceive-victims-with-fake-ikea-recei
pt/

https://myonlinesecurity.co.uk/business-card-tracey-gittens-js-malware/

https://myonlinesecurity.co.uk/dridex-delivered-via-spoofed-quickbooks-invoice-00482-imitating-random-co
mpanies/

https://malware-traffic-analysis.net/2017/06/05/index.html

https://myonlinesecurity.co.uk/account-statement-pineislandweb-com-malspam-delivers-dridex-banking-troj
an/

Además de sus técnicas anti análisis, es importante destacar la cantidad debotnets que tienen para
distintos países que afectan prácticamente a escala global.

57/101
Malware

Imagen 5.102. Ejemplo de botnets utilizadas por Dridex.


Fuente: elaboración propia CyberAcademy.

58/101
Malware

GootKit

GootKit nace de una mezcla de códigos ya existentes de otras familias de malware.

Siguiendo la tendencia de Dridex, incorpora también múltiples funcionalidades de antianálisis que están en
continua evolución para mantenerse como referente en el mundo de los troyanos bancarios.

A día de hoy, existen múltiples campañas de GootKit que se distribuyen de manera masiva casi a diario.

https://myonlinesecurity.co.uk/more-gootkit-banking-trojan-via-fake-invoice-overdue-notice-spoofing-metro-fi
nance-using-mailgun-smtp-relay-service/

Imagen 5.103. Campaña de distribución de GootKit.


Fuente: elaboración propia CyberAcademy.

Aunque, por lo general, la botnet utilizada afecta a Reino Unido, se están incorporando nuevos ficheros de
configuraciones que también incluyen a entidades de otros países, como por ejemplo Italia, entre sus
objetivos.

Imagen 5.104. Fragmento de fichero de configuración de Dridex en una botnet italiana.


Fuente: elaboración propia CyberAcademy.

PandaBanker

PandaBanker lleva siendo una de las familias más activas, por no decir la que más, desde finales de 2017.

Este malware, además de incorporar también bastantes técnicas antianálisis (es la tónica habitual desde la
aparición de Dridex), tiene tres características que permiten reconocerlo fácilmente.

La primera de ellas es la forma en que estructura su fichero de configuración, creando una lista de todos
los objetivos por un lado para después, por otro lado, listar todas las inyecciones en conjunto. Esto es algo
que en su día lo hizo el primer troyano bancario, Zeus , aunque PandaBanker lo ha mejorado con creces.

59/101
Malware

Imagen 5.105. Listado con los objetivos.


Fuente: elaboración propia CyberAcademy.

Imagen 5.106. Listado con las inyecciones.


Fuente: elaboración propia CyberAcademy.

En segundo lugar, dispone de una amplia variedad de botnets que utiliza en cada una de las campañas,
incluyendo filtrado por dirección IP para cada uno de los países a los que afecta.

60/101
Malware

Imagen 5.107. Inyecciones para entidades de distintos países según la botnet.


Fuente: elaboración propia CyberAcademy.

Otra característica típica es la de su distribución, no solo en campañas únicas, sino también en conjunto
con otros troyanos como, por ejemplo; “Hancitor > Pony > Evilpony > PandaBanker”.

Imagen 5.108. Campaña de distribución de Hancitor > Pony > Evilpony > PandaBanker
Fuente: elaboración propia CyberAcademy.

BankBot

BankBot es una de las familias de malware bancario más conocidas entre las que afecta a la plataforma
Android, en parte, debido a que en 2016 su código fue filtrado en un foro underground.

61/101
Malware

Imagen 5.109. Post en el que se filtró el código fuente de BankBot.


Fuente: elaboración propia CyberAcademy.

Desde entonces, se ha convertido en uno de los malware más activos de los preparados para la plataforma
Android. Tal es su notoriedad, que ha llegado incluso a difundirse haciendo uso de la tienda de aplicaciones
oficial de Google, Google Play.

Los siguientes enlaces muestran un ejemplo de estas campañas:

https://blog.avast.com/es/troyano-bancario-en-google-play-afecta-a-usuarios-espanoles-mediante-una-app-
de-ajedrez

https://blog.trendmicro.com/trendlabs-security-intelligence/bankbot-found-google-play-targets-ten-new-uae-
banking-apps/

https://www.welivesecurity.com/2017/09/25/banking-trojan-returns-google-play/

https://www.zscaler.com/blogs/research/malware-google-play-abusing-accessibility-service

Sin embargo, la manera más común en la que se llevan a cabo las campañas, es mediante la creación de
dominios desde los que se puede descargar la aplicación maliciosa.

Cuando Bankbot infecta un dispositivo, automáticamente este pasa a formar parte de la lista debots en el
servidor C&C. A partir de ese momento, el actor malicioso que se encuentre al cargo de ese C&C podrá
llevar a cabo una gran cantidad de acciones maliciosas sobre el dispositivo.

62/101
Malware

Imagen 5.110. Panel de un servidor C&C con los dispositivos infectados.


Fuente: elaboración propia CyberAcademy.

Una de estas operaciones, es la obtención de las credenciales de acceso a la bancaonline de los usuarios
del teléfono. La manera en la que se lleva a cabo es mediante la superposición ( overlay ) de un phishing ,
cuando se abre en el dispositivo una de las aplicaciones de las entidades bancarias objetivo.

Una vez que las credenciales han sido obtenidas, se almacenan en el servidor C&C.

63/101
Malware

Imagen 5.111. Inyecciones preparadas para algunas de las entidades financieras objetivo.
Fuente: elaboración propia CyberAcademy.

Bankbot es un malware en constante evolución, como prueba de ello, las aplicaciones de las últimas
campañas, además de contar con la funcionalidad de troyano bancario presentada, permiten llevar a cabo
acciones propias de malware de tipo Ransomware y RAT.

TrickBot

Para acabar, cabe mencionar TrickBot, primero, por su longevidad entre las familias demalware con
actividad diaria, que data de principios de 2017, aunque también por dos características muy propias.

TrickBot, no utiliza servidores C&C como casi todo el resto de familias demalware, sino que la red de
equipos infectados, denominados bots, se comunica con el servidor C&C empleando equipos intermedios de
salto. La mayoría de ellas, máquinas comprometidas expuestas a internet.

Entre ellas se encuentran: routers, cámaras IP o antenas y repetidores wifi.

64/101
Malware

Imagen 5.112. Interfaz web de configuración de un router Mikrotik vulnerado.


Fuente: elaboración propia CyberAcademy - MikroTik.

Imagen 5.113. Interfaz web de configuración de una antena AirOS vulnerada.


Fuente: elaboración propia CyberAcademy - AirOS.

El acceso a estos equipos se consigue mediante la explotación de distintas vulnerabilidades,


configuraciones inseguras o mediante ataques de fuerza bruta sobre los usuarios por defecto.

Imagen 5.114. Ataque de fuerza bruta sobre routers Mikrotik.


Fuente: elaboración propia CyberAcademy.

65/101
Malware

Los atacantes, una vez que logran acceso a los dispositivos, crean reglas que redirigen las conexiones
entrantes desde los bots por un puerto específico al servidor C&C real. Todo ello, de forma transparente para
los usuarios de los dispositivos implicados (routers, antenas, etc.).

Imagen 5.115. Regla de redirección de tráfico al C&C.


Fuente: elaboración propia CyberAcademy.

De esta forma, los propietarios de labotnet, tratan de introducir una capa de abstracción que impide la
identificación del C&C real, permitiendo de esta manera un mayor up-time frente a labores de reporte y cierre
por parte de las empresas de seguridad.

Imagen 5.116. Representación conceptual de la Infraestructura intermedia.


Fuente: elaboración propia CyberAcademy.

Por otro lado, otra de sus características es la capacidad para actualizar las direcciones IP de contacto
conforme el atacante lo vaya decidiendo, a través de un fichero de configuración.

66/101
Malware

Imagen 5.117. Configuración que contiene los servidores de contacto.


Fuente: elaboración propia CyberAcademy.

4.5. Miner
Aunque las criptomonedas han existido desde hace mucho tiempo y se usan con fines legítimos, los
delincuentes han ensuciado su reputación.

Esta tipología de malware se dio a conocer notablemente en 2017 con la aparición deAdylkuzz, una familia de
bitcoinminer, que cobró notoriedad al utilizar el Exploit KitEternalBlue CVE-2017-0144, supuestamente creado
por la NSA, semanas más tarde que lo explotase mundialmente el ransomware WanaCry.

No obstante, esta amenaza se encuentra activa desde 2011 y como se puede observar en la gráfica (datos de
Kaspersky de 2011- Primer Semestre 2017), se encuentra en crecimiento.

Imagen 5.118. Datos de Kaspersky Lab con equipos infectados.

67/101
Malware

Fuente: elaboración propia CyberAcademy - Kasperskly Lab.

Este crecimiento se debe, en parte, al aumento exponencial que han experimentado las criptomonedas. Como
curiosidad, cabe destacar que dicha amenaza está siendo una de las más lucrativas para los grupos de
cibercriminales, por lo que algunos grupos están sustituyendo la distribución de ransomware por miners.

El objetivo de este tipo de malware es obtener beneficio económico tras minar criptomonedas en una cuenta
propiedad de los cibercriminales.

Anotación: un miner funciona de la siguiente manera

1. Infecta la máquina del usuario, convirtiéndola en un b o t que forma parte de una


botnet.
2. Busca infectar servidores, por su gran poder de computación, siendotargets ISP,
universidades e instituciones de investigación, incluso superordenadores en
infraestructuras críticas.
3. Se oculta para no ser detectado por el usuario ni herramientas de seguridad.
4. Monitoriza el rendimiento del equipo, para saber cuándo puede minar. Cuando el
rendimiento es bajo, se comunica con el servidor C&C, donde mina las
criptomonedas.

Aunque esta amenaza, a simple vista, parece inofensiva, y mucho menos peligrosa que cualquier otra
ciberamenaza (ransomware, InfoStealer, etc.), no ha de ser menospreciada, ya que los miners que no están
siendo administrados alteran los procesos críticos de una empresa o infraestructura al sobrecargar los equipos,
comprometiendo el rendimiento llegando hasta el punto de provocar un cierre o que éstos dejen de responder.

4.6. BackDoor
Esta tipología de malware es un tipo específico que permite el acceso al sistema infectado y su control remoto.
Es decir, el atacante puede llevar acabo cualquier acción desde el equipo comprometido.

Un backdoor funciona de la siguiente manera:

1. Infecta la máquina del usuario, para tener el control total de la esta.


2. Crea una puerta secreta al equipo.
3. La mayoría de los malware actuales, tienen funcionalidad de backdoor o se
descargan uno.

Son programas maliciosos diseñados con la única finalidad de crear una “puerta trasera” que permita al
ciberdelincuente, tener acceso al sistema.

El objetivo final es conseguir tener una gran cantidad de equipos comprometidos, para formar una granbotnet.

68/101
Malware

Una de las familias más conocidas de esta tipología es elAndromeda, cuyo vector de entrada suele ser la
descarga por diferentes familias bancarias como el Citadel, o el worm Sinowal.

4.7. RAT
Esta tipología de malware es un tipo específico que controla los sistemas utilizando herramientas de acceso
remoto ( Remote Access Tools).

Se instala con la finalidad de que, una vez que se compromete el equipo de la víctima, pase a ser un equipo
remoto controlado en su totalidad por el atacante, realizando multitud de acciones como por ejemplo instalando
programas adicionales, normalmente troyanos.

Anotación: un RAT funciona de la siguiente manera

Infecta la máquina del usuario, para tener el control total de esta.


Monitoriza el comportamiento, bien a través de keyloggers u otros spyware .
Actuar como puerta trasera.

Se oculta y pasa inadvertido ya que no se lista en los programas que están corriendo ni tareas, todo ello para
no ser detectado por el usuario ni por herramientas de seguridad.

Una de las familias más populares de esta tipología fuenjRAT, también conocido como Bladabindi. Esta
familia que afectaba a una gran cantidad de usuarios, está activa desde 2012, fue distribuida de forma masiva en
múltiples campañas y detectada en ataques dirigidos a mediados de 2014 en India.

Imagen 5.119. Builder de njRAT.


Fuente: elaboración propia CyberAcademy.

69/101
Malware

Entre sus funcionalidades están:

Robo de credenciales almacenadas en los navegadores.


Log keystrokes.
Tomar capturas de pantalla, grabar con lawebcam y el micrófono.
Modificar el registro del sistema operativo.
Matar procesos que considere que pueden detectarle.
Habilitar una shell remota, para que el atacante pueda acceder.
Manipulación de ficheros.
Posibilidad de ejecución remota de archivos o programas del ordenador comprometido.
Acceso remoto completo del equipo.
Monitoriza y registra en su panel de control, además de toda esta información arriba listada, el
nombre de la máquina comprometida, su IP, usuarios, OS, fecha de instalación, país, etc.

Una vez que se conecta, envía las conexiones a un servidor remoto.

Imagen 5.120. Tráfico comprometido del njRAT.


Fuente: elaboración propia CyberAcademy.

Como curiosidad, cabe destacar que algunos realizaban conexiones a través del servicio “no-ip.com”. Debido
a la gran cantidad de infecciones que estaba experimentándose, Microsoft decidió filtrar el tráfico a través de
“no-ip.com” lo que provocó la caída de más de 4 millones de páginas web en 2014. (https://krebsonsecurity.com/
2014/07/microsoft-darkens-4mm-sites-in-malware-fight/#more-26708).

V. Indicadores de compromiso
Algo muy valioso tanto para las compañías como para los analistas, son los indicadores de compromiso
obtenidos de los análisis de malware realizados.

Los IOC (indicador de compromiso), son patrones que determinan una infección, es
decir, identificadores de una campaña, muestra, proceso, conexión, etc. Por ejemplo, la URI
“/linuxsucks”, es un IOC que identifica una comunicación con un servidor C&C por parte de
un ransomware Locky.

Estos indicadores, son muy valiosos a la hora de realizar una respuesta ante incidentes, un análisis de una
familia de malware, bloquear conexiones maliciosas que pasen por un proxy, etc.

Dado que se recogen cientos o miles de IOC diariamente, algunos más valiosos que otros, existe la necesidad
de contenerlos en alguna plataforma, al igual que disponer de un estándar para ello (STIX, openIOC, etc.).

MISP

70/101
Malware

En este curso, vamos a utilizar la plataforma open source MISP (Malware Information Sharing Platform),
creada por el CIRCL para introducir todos estos IOC. (http://www.misp-project.org/,
https://github.com/MISP/MISP).

Imagen 5.121. Panel de MISP.


Fuente: elaboración propia CyberAcademy - MISP Threat Sharing Platform.

MISP es una plataforma que fue diseñada, y a día de hoy sigue siendo mantenida, por el CIRCL y que
recibió una gran aceptación por parte de las entidades, organismos y analistas desde el primer momento.
Está creada para la compartición, almacenamiento y correlación de indicadores de compromiso (IOC).

Esta base de datos distribuida permite la compartición de información relativa a malware entre distintas
organizaciones, por lo que la detección y prevención de ataques es más rápida, lo que reduce el número de
falsos positivos.

A continuación, se detallan unos términos que deben ser conocidos para el entendimiento de este punto:

Server o Instance:

Una instancia MISP es una instalación del software MISP y la base de datos conectada. Todos los
datos visibles para los usuarios se almacenan localmente en la base de datos y los datos compartibles
(basados en la configuración de distribución) se pueden sincronizar con otras instancias a través de las
acciones de sincronización. Las instancias pertenecientes a otras organizaciones se denominarán
"instancias remotas".

Event :

Un evento de MISP es una amenaza conocida, documentada con metadatos y atributos, siendo estos
los IOC asociados a la amenaza.

71/101
Malware

Attributes :

IOC individuales presentes en un evento. Estos son los elementos fundamentales que utiliza MISP para
entablar correlaciones. La versión actual de MISP permite etiquetar atributos individualmente, así como
definir niveles de sensibilidad y, por tanto, compartición a este nivel.

Tags:

Las etiquetas o tags permiten realizar una clasificación de eventos y agruparlos por una característica
que pueda indicar que varios eventos tienen algo en común. Por ejemplo, se pueden clasificar todos los
eventos relacionados con ransomware mediante una misma etiqueta.

Taxonomies:

Grupos de etiquetas que tienen unas características comunes. Pueden definirse taxonomíascustom ,
así como utilizar taxonomías típicas (Admiralty scale, VERIS, etc.).

Organisation:

Dentro de un servidor, es decir, de una instancia MISP, tiene que haber al menos una organización local.
Además de la organización necesaria, puede haber más. A su vez, cada usuario debe pertenecer a una
organización. Cuando se crea un evento, se selecciona qué organización u organizaciones pueden
acceder a la información de dicho evento.

Community:

Conjunto de organizaciones dadas de alta en una instancia de MISP.

Sharing group:

Es un grupo de compartición personalizado de modo que un evento o un atributo solo será visto por los
organismos que pertenecen a dicho grupo. Dichas organizaciones pueden pertenecer tanto a la instancia
local como a otra remota.

Proposal:

Dado que un usuario no puede modificar un evento del que no es dueño, existe la posibilidad de añadir
información a eventos que son propiedad de otro por medio de una propuesta de nuevos atributos. A
través de esta propuesta, el propietario del evento podrá decidir si incluir dichos atributos en el evento.

Roles de usuarios:

A la hora de utilizar MISP, hay distintos roles de usuarios que hay que tener muy en cuenta, sobre todo a la
hora de la compartición de eventos.

72/101
Malware

Admin:

Tiene permisos de administrador en el servidor, es decir, puede realizar cualquier acción sobre la
información almacenada en su servidor.

Org admin:

Tiene permisos de administrador en una organización.

User:

Tiene permisos para crear eventos y para modificar o eliminar los creados por él, pero no puede
publicarlos.

Publisher:

Tiene permisos para crear eventos y para modificar, eliminar y publicar los eventos creados por él.

Sync user:

Este tipo de usuario se puede utilizar como usuario de sincronización. La clave de autenticación de este
usuario se puede entregar al administrador de una instancia MISP remota para permitir que las funciones
de sincronización funcionen, pudiendo así compartir información.

Read only:

Permite al usuario explorar eventos a los que su organización tiene acceso, pero no permite que realice
cambios en la base de datos.

Niveles en el intercambio de eventos

Otro punto importante es la definición de niveles a la hora del intercambio de eventos, lo cual se define
dentro de la plataforma por el parámetro “distribution”.

Además de la visibilidad que tendrán los usuarios sobre los eventos dentro de MISP, este parámetro
también controla si el evento será sincronizado con otras instancias. En la visibilidad del evento juega un
papel fundamental la organización (organisation) a la que pertenece el usuario que crea el evento. Esta
organización se define en la creación del propio usuario. Se establecen 5 niveles de intercambio de
información:

Your organization only:

Este nivel solo permite que los usuarios pertenecientes a la misma organización puedan ver el evento.
Si se desea compartir el evento con instancias remotas, el usuario de sincronización deberá pertenecer a
dicha organización.

73/101
Malware

This community only:

Este nivel permite que los usuarios que pertenecen a la misma comunidad puedan ver el evento, es
decir, los usuarios pertenecientes a la propia organización del usuario, a todas las organizaciones
existentes en la propia instancia de MISP y a las organizaciones que sincronizan con la instancia de
MISP.

Connected communities:

Permite que los usuarios que formen parte de la comunidad puedan ver los eventos de su comunidad
de origen y de comunidades vecinas. Es decir, todas las organizaciones definidas en la propia instancia
de MISP, todas las organizaciones en instancias remotas de MISP que se sincronicen directamente y el
de las instancias que se conectan a estas últimas (dos saltos desde la instancia inicial).

All communities:

Se compartirá el evento con todas las comunidades permitiéndose que se propague de un servidor a
otro.

Sharing group:

Es una visibilidad personalizada en la que se incluyen determinadas organizaciones para que puedan
visualizar el evento.

Una vez dentro de la herramienta, se pueden visualizar los eventos que se vayan generando, con campos
de interés como “Info” y “Tags”.

Imagen 5.122. Eventos en MISP


Fuente: elaboración propia CyberAcademy.

Dentro de estos, se incluyen los atributos, definiendo su categoría.

74/101
Malware

Imagen 5.123. Atributos en MISP.


Fuente: elaboración propia CyberAcademy.

Esta información es muy valiosa para los analistas, como comentábamos anteriormente, tanto a la hora de
correlar campañas como para una respuesta ante incidentes.

Esta campaña de InfoStealer Pony, por ejemplo, tenía un binario cuyos metadatos también fueron
observados en otra campaña de días anteriores.

Imagen 5.124. Relación de atributos I.


Fuente: elaboración propia CyberAcademy.

Imagen 5.125. Relación de atributos II.


Fuente: elaboración propia CyberAcademy.

75/101
Malware

Por otro lado, si por ejemplo tenemos un incidente en el que se ha cifrado los archivos de un equipo con la
extensión “.ykcol”, antes de comenzar con el análisis forense, análisis de la muestra, análisis delogs, etc.,
podríamos realizar una búsqueda del string en la plataforma y, en caso de que esta disponga de todos los
IOC que hayamos ido obteniendo hasta la fecha, podría mostrar tanto la familia causante de este incidente,
como la fecha, otros IOC, vector de entrada, etc.

Imagen 5.126. Eventos relacionados con la extensión ".ykcol".


Fuente: elaboración propia CyberAcademy.

Por otro lado, tomando esta información como indicadores para incluir en el bloqueo de la seguridad
perimetral, bastaría con recoger dichos atributos en el formato que deseemos para incluirlos en un
orquestador que envíe, en cada formato necesario, la información a las herramientas pertinentes.

Actividades de reflexión

1. Despliega una instancia de MISP en una máquina local.


2. Crea Tags y eventos en los que poder correlar información.
3. Utiliza la sincronización con el listado de feeds1 gratuitos para alimentar la instancia
de MISP.
1 Feeds disponibles en MISP por defecto: https://www.misp-project.org/feeds/

76/101
Malware

Para ayudarte a realizar esta actividad, puedes revisar la unidad 5 del temario, en la que no
solo se explica cómo realizar el ejercicio, sino que también puedes encontrar enlaces de los
feeds gratuitos de MISP.

VI. MaaS (Malware as a Service )


Como comentábamos anteriormente en los vectores de entrada utilizados por las distintas familias de
malware, hay una de ellas que se conoce como MaaS. Esta ha ido creciendo a lo largo del tiempo y hoy en día
es una opción muy interesante para los atacantes.

Ahora que conocemos la estructura de un malware, podemos abordar este vector de entrada ya que todos los
términos nos resultarán familiares.

La siguiente figura muestra un resumen de los distintos tipos de vectores de entrada que nos encontramos en
la actualidad.

Imagen 5.127. Resumen de vectores de entrada.


Fuente: elaboración propia CyberAcademy.

77/101
Malware

Las 2 tipologías que se hallan en la Deep Web, “Crime as a Service” y “Pay per Install”, son parte del mercado
de MaaS.

Pay per install

En primer lugar, hablaremos sobre Pay per Install, que consiste en la contratación del servicio de una
botnet exitosa para distribuir nuevas muestras de malware en estas.

Imagen 5.128. Estructura de una botnet.


Fuente: elaboración propia CyberAcademy.

En este caso, los botmaster ofrecen su servicio en mercados de laDeep Web, mostrando el precio del
pago que hay que realizar por cada instalación de una muestra de malware.

La siguiente figura muestra una oferta, ya bastante antigua, en el que uno de los productos ofrecidos en un
mercado ruso es el PPI.

78/101
Malware

Imagen 5.129. Precio de PPI en mercado underground.


Fuente: elaboración propia CyberAcademy.

Como se puede apreciar, el precio ha ido disminuyendo considerablemente cada año a causa de 2
razones.

La primera de ellas es la competencia y es que, con el paso de los años, hay más atacantes en el
mercado, por lo cual existen más botnet y la lucha por el precio crece, al igual que la demanda.

La segunda es que, conforme va pasando el tiempo, el valor de unabotnet disminuye a causa de que los
bots contenidos en esta tienen más infecciones, por lo que su uso es menos exitoso.

Crime as a Service

Por otro lado, se encuentra el Crime as a Service, que consiste en la contratación del servicio del
botmaster de un malware exitoso para distribuir nuevas instrucciones, como ficheros de configuración con
nuevos objetivos, distintas inyecciones, etc.

79/101
Malware

Imagen 5.130. Crime as a Service.


Fuente: elaboración propia CyberAcademy.

Un ejemplo de esto sería, por ejemplo, si el actor X se hace con unabotnet tras la distribución de un
troyano bancario Dridex entre cuyos objetivos se encuentran las entidades financieras de Italia. Este podría
ofertar en algún mercado underground la inclusión de un nuevo fichero de configuración e inyección que
afecte a otras entidades financieras en las máquinas infectadas.

De esta manera, si un actor Y paga la cantidad de precio solicitada por el actor X y le facilita un fichero de
configuración que afecte a entidades de Francia, todos los bots que comprenden la botnet del actor X, se
verán afectados también por este.

Este método es muy común entre las organizaciones de atacantes, ya que necesitan diversificar sus tareas
cada vez más entre programadores de malware, distribuidores, creadores de inyecciones, programadores de
packers, gestores de servidores, etc.

Otro método es el alquiler de paquetes completos de malware para su distribución, lo que puede realizarse
por parte del propio comprador, como por parte del actor utilizando sus botnets o métodos de distribución.

En la siguiente figurase muestra un ejemplo del ofrecimiento del alquiler durante 2 semanas de un paquete
completo para el troyano bancario de Android, RedAlert.

80/101
Malware

Imagen 5.131. Oferta de alquiler del paquete RedAlert.


Fuente: elaboración propia CyberAcademy.

En dicha publicación, además de detallar las características técnicas como si de cualquier producto legal
se tratase, el actor fija un precio de salida de 500 $ por el alquiler de la infraestructura del troyano.

Esta infraestructura se compone del fichero APK, inyecciones, servidor C&C y el tráfico necesario para que
el malware sea accesible por el mayor número de usuarios posibles. Además, se ofrece soporte 24x7 por
parte del desarrollador.

Imagen 5.132. Aclaraciones realizadas por el desarrollador.


Fuente: elaboración propia CyberAcademy.

En esta captura anterior, el propio actor confirma que se trata de un servicio de MaaS, de forma que, una
vez finaliza su implementación, se proporciona el servicio de alquiler y soporte 24x7.

Actividades de reflexión

81/101
Malware

Tras la creación de una identidad digital y la navegación por laDeep Web, trata de
encontrar un servicio de MaaS en el que se ofrezca el alquiler de un paquete o el
ofrecimiento de PPI.

Como puedes observar, la oferta es muy amplia, pero recuerda que no se recomienda en
ningún caso la obtención de paquetes, puesto que estaremos fomentando actividades
ilegales.

VII. Técnicas de evasión


Bien para dificultar la tarea de ingeniería inversa al analista o bien para impedir que la muestra pueda ser
analizada por sandboxes o ejecutada en entornos virtuales, varias familias de malware implementan técnicas en
su código con tal propósito.

Si bien no se trata métodos que puedan mantener a raya a unreverser con cierta experiencia, un analista que
nunca se haya enfrentado a esta situación sí que puede encontrar dificultades para analizar la muestra y los
sistemas automáticos pueden ser inútiles frente dichas técnicas.

Desde el lado de los atacantes, interesa que sus campañas consigan mantenerse activas el mayor tiempo
posible (up-time), pues cuanto más se prolonguen en el tiempo, mayor podrá ser el beneficio que obtengan a
través de su actividad cibercriminal.

Las técnicas empleadas para alargar la vida de las campañas consisten en dificultar el análisis de las
muestras mediante métodos de programación que rompan el desensamblado del que se servirán los analistas
para realizar los procesos de ingeniería inversa o directamente impedir que se pueda correr la pieza de malware
para analizar bajo un debugger .

En cuanto a impedir el análisis automático por medio desandboxes, se implementan técnicas con el fin de
detectar entornos virtuales para bien finalizar la ejecución o modificar el comportamiento de la muestra y ocultar
su funcionalidad real.

82/101
Malware

Aunque las explicaciones que se muestran a continuación carezcan prácticamente de sentido hasta que os
encontréis inmersos en el módulo de reversing, dado que el nivel de dificultad de comprensión es muy alto, es
importante conocer algunas de las técnicas utilizadas.

7.1. Técnicas anti-disassembly


Junk instructions

Imagen 5.133. Junk instructions.


Fuente: elaboración propia CyberAcademy.

Se trata de un método de ofuscación más que anti-disassembly.

En la captura se muestra cómo se realizan cientos de modificaciones aleatorias a un registro que no


afectan al flujo del programa, pues se trata de operaciones que son despreciables o que no tienen
importancia. El objetivo de esta técnica es hacer perder tiempo al analista analizando un código basura que
puede ser tan extenso como se establezca en el software de ofuscación.

En el listado se puede observar cómo se modifica el registro ESI pero nunca se guarda en memoria y su
valor siempre es machacado por otro nuevo. Además, al final del todo, se vuelve a machacar el valor del
registro con un valor de la pila. Teniendo en cuenta estos detalles, se puede asegurar que la secuencia de
instrucciones no tiene ningún propósito y se pueden obviar.

83/101
Malware

Instrucciones Jump con condiciones constantes

Imagen 5.134. Instrucciones Jump con condiciones constantes.


Fuente: elaboración propia CyberAcademy.

Aunque en el listado se muestre un Jump condicional, la condición siempre es la misma, por tanto, se trata
de un Jump incondicional.

El objetivo de este método es que, según las técnicas de análisis de código que ofrecen los
desensambladores, se pueda llegar a romper el desensamblado.

Dado que la secuencia de código comienza con XOR EAX, EAX, el registro XOReado se establecerá a 0 y,
por tanto, se activará el ZF con total seguridad.

Como la siguiente instrucción es un salto condicional que se tomará si se activa el ZF, realmente nos
encontramos ante un salto incondicional, debido a que el ZF siempre se activará en una secuencia como
esta.

El problema reside en que el desensamblador procesa primero la rama con la condición falsa, entrando en
conflicto con la rama verdadera.

Jumps con el mismo destino

Imagen 5.135. Jumps con el mismo destino.


Fuente: elaboración propia CyberAcademy.

En esta ocasión se presentarán en el listado dosJumps consecutivos con condiciones opuestas, ambos
apuntando a la misma dirección, por tanto, siempre se tomará el salto. En el ejemplo de la imagen se saltará
a la dirección loc_401C27, tanto si el resultado de una comparación es menor como si no lo es (es decir el
100 % de los posibles resultados), se continuará la ejecución por el mismo sitio.

El problema de esta técnica reside en que el desensamblador procesa instrucción a instrucción y mediante
este tipo de saltos condicionales, el código que les precede nunca será ejecutado, por tanto, el
desensamblado se puede romper en este punto.

7.2. Técnicas anti-debugger

84/101
Malware

IsDebuggerPresent()

Se trata de una técnica básica de detección que chequea elPEB2 para ver si está activado el flag
BeingDebugged.

Imagen 5.136. IsDebuggerPresent().


Fuente: elaboración propia CyberAcademy.
2 Process Environment Block. Sección de memoria que contiene ciertos parámetros de
ejecución asociados a un proceso. Entre esos parámetros se encuentran las variables de
entorno, módulos cargados por el proceso, direcciones en memoria e información de debugging.
Se puede consultar su estructura en: https://docs.microsoft.com/en-us/windows/desktop/api/wint
ernl/ns-winternl-_peb

NtGlobalFlag

El PEB tiene otro campo llamado NtGlobalFlag (en el offset 0x68) para detectar si el programa ha sido
cargado por un debugger :

Si no está siendo debuggeado, el valor de este campo es 0x0.

Si está siendo debuggeado, contiene el valor 0x70.

Imagen 5.137. NtGlobalFlag.


Fuente: elaboración propia CyberAcademy.

85/101
Malware

CheckRemoteDebuggerPresent()

CheckRemoteDebuggerPresent() es otra API que se puede usar para ver si un programa está siendo
debuggeado.

Esta función se invoca con dos parámetros, un manejador al proceso y unboolean donde se devolverá el
resultado de si el proceso está siendo debuggeado o no.

Debugger exceptions

Esta técnica se basa en el hecho de que el debugger va a ser el encargado de manejar las excepciones
que se eleven en el programa, en lugar de ser el manejador de excepciones quien se encargue de ellas.

De esta manera, si se generan excepciones de forma premeditada y en el manejador de excepciones se da


un valor a un flag para confirmar que ha sido él el que ha tratado la excepción, se puede deducir si un
programa está siendo debuggeado al pasarse al usuario el control del programa y no al manejador de
excepciones y, por tanto, si asignar determinado valor al mencionado flag.

Timing checks

Cuando se debuggea un proceso, se emplean ciclos de CPU tanto por el código deldebugger como por el
reverser traceando el programa.

Analizando el tiempo de ejecución entre diversos puntos del programa, se puede deducir si se está
corriendo bajo un debugger .

Las siguientes llamadas permiten calcular estos tiempos:

Rdtsc (Read Time-Stamp Counter)


GetTickCount()

Proceso padre

Generalmente, un proceso tiene como padre a explorer.exe, pues es el encargado de lanzarlo cuando se
realiza un doble clic sobre un ejecutable.

Se puede iterar sobre los procesos en ejecución en un sistema y si el PID del proceso padre del proceso
que interese saber si está corriendo bajo un debugger no es el PID de explorer.exe, es posible que esté
siendo debuggeado.

86/101
Malware

Procesos asociados a debuggers

Otra forma de ver si hay un debugger ejecutándose en el sistema es listar todos los procesos y buscar si
alguno de los nombres se corresponde a debuggers :

Ollydbg.exe
x32dbg.exe y x64dbg.exe
Idaq.exe
Windbg.exe

Detección de BP

Cuando se establece un BP en el código, se reemplaza elopcode original por un 0xCC (int3).

Un ejecutable puede implementar una rutina que escanee el código en busca de esteopcode y detectar de
esta manera que está siendo debuggeado.

No solo los BP en software pueden ser detectados, los basados en hardware también.

7.3. Técnicas anti-vm


Es común tratar de detectar entornos virtuales a través de los artefactos, trazas y ficheros que lossoftwares
de virtualización dejan sobre ellos.

A continuación, se recoge en un listado organizado por las posibles categorías de elementos que permitirían
detectar sistemas virtualizados:

Claves de registro

HARDWARE\DEVICEMAP\Scsi\Scsi Port 0\Scsi Bus 0\Target Id 0\Logical Unit Id 0 (Identifier) (VBOX)


HARDWARE\DEVICEMAP\Scsi\Scsi Port 0\Scsi Bus 0\Target Id 0\Logical Unit Id 0 (Identifier)
(QEMU)
HARDWARE\Description\System (SystemBiosVersion) (VBOX)
HARDWARE\Description\System (SystemBiosVersion) (QEMU)
HARDWARE\Description\System (VideoBiosVersion) (VIRTUALBOX)
HARDWARE\DEVICEMAP\Scsi\Scsi Port 0\Scsi Bus 0\Target Id 0\Logical Unit Id 0 (Identifier)
(VMWARE)
HARDWARE\DEVICEMAP\Scsi\Scsi Port 1\Scsi Bus 0\Target Id 0\Logical Unit Id 0 (Identifier)
(VMWARE)
HARDWARE\DEVICEMAP\Scsi\Scsi Port 2\Scsi Bus 0\Target Id 0\Logical Unit Id 0 (Identifier)
(VMWARE)

Ficheros de Sistema

"system32\drivers\VBoxMouse.sys"
"system32\drivers\VBoxGuest.sys"

87/101
Malware

"system32\drivers\VBoxSF.sys"
"system32\drivers\VBoxVideo.sys"
"system32\vboxdisp.dll"
"system32\vboxhook.dll"
"system32\vboxmrxnp.dll"
"system32\vboxogl.dll"
"system32\vboxoglarrayspu.dll"
"system32\vboxoglcrutil.dll”
"system32\vboxoglerrorspu.dll"
"system32\vboxoglfeedbackspu.dll"
"system32\vboxoglpackspu.dll"
"system32\vboxoglpassthroughspu.dll"
"system32\vboxservice.exe"
"system32\vboxtray.exe"
"system32\VBoxControl.exe"
"system32\drivers\vmmouse.sys"
"system32\drivers\vmhgfs.sys"

Directorios

"%PROGRAMFILES%\oracle\virtualbox guest additions\"


"%PROGRAMFILES%\VMware\”

Direcciones MAC

"\x08\x00\x27” (VBOX)
"\x00\x05\x69” (VMWARE)
"\x00\x0C\x29” (VMWARE)
"\x00\x1C\x14” (VMWARE)
"\x00\x50\x56” (VMWARE)

Procesos

vboxservice.exe (VBOX)
vboxtray.exe (VBOX)
vmtoolsd.exe (VMWARE)
vmwaretray.exe (VMWARE)
Vmwareuser (VMWARE)
vmsrvc.exe (VirtualPC)
vmusrvc.exe (VirtualPC)
prl_cc.exe (Parallels)
prl_tools.exe (Parallels)
xenservice.exe (Citrix Xen)

88/101
Malware

CPUID

Se trata de una instrucción que puede detectar entornos virtuales dependiendo del parámetro que se le
pase en el registro EAX de forma previa a su llamada:

Presencia del Hypervisor haciendo uso de (EAX = 0x1)


Hypervisor vendor haciendo uso de (EAX = 0x40000000)

Red Pill

Técnica implementada por Joanna Rutkowska, que busca la dirección de laStore Interrupt Descriptor Table
(SIDT).

Si la dirección devuelta es:

Mayor que 0xD0 -> Máquina virtual


Menor o igual -> Máquina real

Detecta máquinas virtuales que corran con un único procesador.

7.4. Máquinas físicas


Puede darse la posibilidad de que sea muy complejo lidiar con las técnicas implementadas para la detección
de entornos virtuales. Una posible solución es desplegar máquinas físicas para el análisis de estas muestras.

Como volver a un estado limpio del sistema no sería tan sencillo como revertir unsnapshot de una máquina
virtual, se puede hacer uso de software que ayude a devolver la máquina a un estado libre de infección, como
por ejemplo Deep Freeze, o implementar un sistema de reinstalación de la imagen del sistema, aunque sería
más tedioso y lento.

Actividades de reflexión

Modifica todos los registros, configuraciones, etc. necesarios en una VM para tratar de
tener el menor número de “checks” posibles en la herramienta Pafish (https://github.com/a0rt
ega/pafish).

Propuesta de solución

89/101
Malware

A continuación, se facilita una resolución parcial de la actividad propuesta consistente en


crear una VM indetectable.

Para resolverlo, se puede aprovechar los scripts públicos que ya existen en Internet como,
por ejemplo:

GitHub, https://github.com/nsmfoo/antivmdetection/blob/master/antivmdetect.py

No obstante, siempre es positivo realizar a mano algunas de las acciones, para de esta
manera comprender los tipos de cambios que se realizan y observar lo fácil que es para las
distintas muestras de malware identificar que están siendo ejecutadas en un entorno virtual.

90/101
Malware

Antes de nada

Siempre que se quiera trabajar sobre registros y procesos en una VM, lo más importante estomar un
“snapshot” para que, en caso de que se elimine o modifique algo que no se deba y, a causa de esto, se deje
inoperativo el sistema, podamos volver a recuperarlo en cuestión de segundos.

Para ello, y suponiendo que estemos trabajando en VirtualBox, se deberá ir a “Máquina > Tomar
instantánea”:

Imagen 5.138. Tomar instantánea en VBox.


Fuente: elaboración propia, 2019.

Imagen 5.139. Guardar instantánea en VBox.


Fuente: elaboración propia, 2019

91/101
Malware

Una vez hecho esto

Es preciso comenzar a modificar nuestra VM con el fin de eliminar rastros que pueda identificar elmalware
(estos dependerán del tipo de SO que se utilice, de su versión, etc.).

Así, en el panel de inicio de Windows, se debe escribir “regedit” para acceder a los registros de Windows:

Imagen 5.140. Regedit I.


Fuente: elaboración propia, 2019.

Imagen 5.141. Regedit II.


Fuente: elaboración propia, 2019

Una vez en el panel de los registros de Windows, se ha de ir eliminando/modificando uno por uno cada valor
que pueda identificar a la VM. A continuación, se verán algunos ejemplos:

92/101
Malware

HKLM\SYSTEM\CurrentControlSet\Control\Video\*\0000

Imagen 5.142. Ejemplo de registro VBox 1.


Fuente: elaboración propia, 2019.

93/101
Malware

HKLM\SYSTEM\ControlSet001\Control\CriticalDeviceDatabase\ pci#ven_80ee&dev_cafe

Imagen 5.143. Ejemplo de registro VBox 2.


Fuente: elaboración propia, 2019.

94/101
Malware

HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\{91e53227-52d3-11e7-8d0b-
806e6f6e6963}\shell\command

Imagen 5.144. Ejemplo de registro VBox 3.


Fuente: elaboración propia, 2019.

HKLM\HARDWARE\ACPI\DSDT\VBOX_

Imagen 5.145. Ejemplo de registro VBox 4.


Fuente: elaboración propia, 2019.

95/101
Malware

HKLM\HARDWARE\ACPI\FADT\VBOX_

Imagen 5.146. Ejemplo de registro VBox 5.


Fuente: elaboración propia, 2019.

Y como estos ejemplos hay cientos de registros más que evidencian el tipo de entorno en el que la muestra se
ha detonado.

Sin embargo, las muestras de malware no solo comprueban los registros del SO, sino también, por ejemplo:

El número de procesadores de los que consta el sistema, los cuales deben ser siempre igual o mayores
que 2.

Imagen 5.147. Ejemplo de VM que sería detectada por el check del procesador.
Fuente: elaboración propia, 2019.

Si se está moviendo o no el ratón, lo cual es fácil de eludir si el analista interactúa con la VM. Sin embargo,
en el caso de que utilicemos Cuckoo o cualquier otro sistema para automatizar los análisis, esto debiera
tenerse en cuenta.

96/101
Malware

El tamaño del disco duro, el mínimo es de 50 GB.

Imagen 5.148. Ejemplo de VM que sería detectada por el check del procesador.
Fuente: elaboración propia, 2019.

En función de la versión de SO que se utilice, del tipo de entorno, del tipo de muestras a la
que nos enfrentemos o, incluso, de qué herramienta de antiVM check utilicemos (ya sea
“pafish”, o por ejemplo, “Al-khaser”: GitHub, https://github.com/LordNoteworthy/al-khaser), se
tendrá que mantener y modificar nuestro entorno virtual para que este asemeje serlo lo
mínimo posible.

Por último, se debe tener en cuenta que la cantidad dechecks que las muestras de
malware van incorporando es cada vez mayor y más compleja, de modo que el trabajo de
ocultación de las VM es continuo.

VIII. Resumen
Si en la unidad anterior nos hemos centrado en elphishing , en esta unidad le ha tocado el turno almalware,
programas diseñados con fines delictivos.

En este caso, nos hemos centrado en los vectores de entrada y distribución, ya sea mediante correo
electrónico, páginas web falsas, SMS, etc.

A continuación, hemos desgranado los principales tipos de malware, como el ransomware, keyloggers o
bankers, entre otros. Algunos de estos tipos de malware son conocidos incluso por los usuarios no expertos, ya
que este tipo de ataque está muy de moda entre la comunidad cibercriminal y tiene una gran cobertura
mediática.

Otro aspecto a tener en cuenta por los analistas es el de los Indicadores de Compromiso
(IoC). En esta unidad, los hemos definido y hemos hablado de la plataforma open-source
MISP, ampliamente utilizada en la industria para compartir inteligencia sobre amenazas.

Para terminar, hemos hablado sobre el Malware as a Service y hemos enumerado y explicado las principales
técnicas de evasión del malware, como las anti-debugger o las anti-vm.

97/101
Malware

El panorama del malware está en constante expansión y actualización: los atacantes cada vez emplean
métodos más sofisticados para realizar sus paquetes de malware y “colarlos” a los usuarios de Internet. Como
analistas, es nuestro trabajo mantenernos al día en la escena del malware para ir un paso por delante de los
ciberdelincuentes.

98/101
Malware

Recursos

Enlaces de Interés
https://malware-traffic-analysis.net/2017/12/28/index.html
https://malware-traffic-analysis.net/2017/12/28/index.html
28-12-2017

https://www.malware-traffic-analysis.net/2017/08/04/index.html
https://www.malware-traffic-analysis.net/2017/08/04/index.html
04-08-2017

https://msdn.microsoft.com/es-es/library/windows/desktop/aa813706(v=vs.85).aspx
https://msdn.microsoft.com/es-es/library/windows/desktop/aa813706(v=vs.85).aspx
PEB

Bibliografía
Artículo de blog sobre Exploit-kits.: https://blog.malwarebytes.com/cybercrime/2017/08/enemy-at-the-
gates-reviewing-the-magnitude-exploit-kit-redirection-chain/
Boletín de seguridad de Microsoft sobre el servicio SMB.: https://docs.microsoft.com/en-us/security-
updates/securitybulletins/2017/ms17-010
Lista de campañas de malware (agosto de 2017).: https://www.malware-traffic-
analysis.net/2017/08/04/index.html
Lista de campañas de malware (diciembre de 2017).: https://malware-traffic-
analysis.net/2017/12/28/index.html
Lista de campañas del exploit-kit Magnitude EK (agosto de 2017).: https://www.malware-traffic-
analysis.net/2017/08/04/index.html
Lista de campañas del exploit-kit Rig EK (agosto de 2017).: https://www.malware-traffic-
analysis.net/2017/08/01/index.html
Lista de campañas del exploit-kit Rig EK (diciembre de 2017).: https://malware-traffic-
analysis.net/2017/12/28/index.html
Lista de campañas del InfoStealer Pony (abril de 2018).: http://www.malware-traffic-
analysis.net/2018/04/11/index2.html
Lista de campañas del malware Dridex.: https://malware-traffic-analysis.net/2017/06/05/index.html
Lista de códigos de idioma.: https://www.science.co.il/language/Locale-codes.php
Motor de búsqueda de dispositivos conectados a Internet.: https://www.shodan.io/
Noticia sobre el malware BankBot.: https://blog.avast.com/es/troyano-bancario-en-google-play-afecta-
a-usuarios-espanoles-mediante-una-app-de-ajedrez
Noticia sobre el malware BankBot.: https://blog.trendmicro.com/trendlabs-security-intelligence/bankbot-
found-google-play-targets-ten-new-uae-banking-apps/
Noticia sobre el malware BankBot.: https://www.welivesecurity.com/2017/09/25/banking-trojan-returns-
google-play/
Noticia sobre el malware BankBot.: https://www.zscaler.com/blogs/research/malware-google-play-
abusing-accessibility-service
Noticia sobre el malware Dridex.: https://blog.trendmicro.com/trendlabs-security-intelligence/banking-
trojan-dridex-uses-macros-for-infection/

99/101
Malware

Noticia sobre el malware Dridex.: http://blog.dynamoo.com/2015/05/malware-spam-attn-outstanding-


invoices.html
Noticia sobre el malware Dridex.: https://heimdalsecurity.com/blog/security-alert-dridex-malware-
creators-deceive-victims-with-fake-ikea-receipt/
Noticia sobre el malware Dridex.: https://myonlinesecurity.co.uk/business-card-tracey-gittens-js-
malware/
Noticia sobre el malware Dridex.: https://myonlinesecurity.co.uk/dridex-delivered-via-spoofed-
quickbooks-invoice-00482-imitating-random-companies/
Noticia sobre el malware Dridex.: https://myonlinesecurity.co.uk/account-statement-pineislandweb-
com-malspam-delivers-dridex-banking-trojan/
Noticia sobre el malware GootKit.: https://myonlinesecurity.co.uk/more-gootkit-banking-trojan-via-fake-
invoice-overdue-notice-spoofing-metro-finance-using-mailgun-smtp-relay-service/
Noticia sobre la explotación de macros en Microsoft Word.: https://myonlinesecurity.co.uk/new-
malware-campaign-using-dde-exploit-delivering-malware/
Noticia sobre la explotación de macros en Microsoft Word.: https://myonlinesecurity.co.uk/dde-
exploits-still-happening-despite-microsoft-updates-to-stop-them/
Noticia sobre la explotación de macros en Microsoft Word.: https://myonlinesecurity.co.uk/more-
locky-ransomware-delivered-via-dde-exploit-pretending-to-come-from-your-own-company-or-email-
address/
Página oficial de MISP en GitHub.: https://github.com/MISP/MISP
Página oficial de Nessus.: https://www.tenable.com/products/nessus/nessus-professional
Página oficial del Proyecto MISP.: http://www.misp-project.org/
Paquete de explotación de la vulnerabilidad en el servicio SMB.:
https://github.com/misterch0c/shadowbroker/tree/master/windows/exploits
Publicación que explica cómo explotar macros en Microsoft Word.:
https://sensepost.com/blog/2017/macro-less-code-exec-in-msword/

Glosario.
Captcha: Tipo de medida de seguridad conocido como autenticación pregunta-respuesta que solicita
al usuario completar una prueba para demostrar que es un humano.

Debugger: También conocido como “depurador”, es un programa usado para probar y depurar
(eliminar) los errores de otros programas.

Exploit kit: Paquete de software alojado en sitios web, diseñado para explotar vulnerabilidades de los
usuarios que accedan a estos.

IoC (indicadores de compromiso): Patrones que determinan una infección, es decir, identificadores
de una campaña, muestra, proceso, conexión, etc. Por ejemplo, la URI “/linuxsucks”, es un IOC que
identifica una comunicación con un servidor C&C por parte de un ransomware Locky.

Malware: Software malicioso que se crea con el fin de perpetrar acciones ilegítimas o maliciosas en un
dispositivo.

MISP: Plataforma que fue diseñada, y a día de hoy sigue siendo mantenida, por el CIRCL y que recibió
una gran aceptación por parte de las entidades, organismos y analistas desde el primer momento. Está
creada para la compartición, almacenamiento y correlación de indicadores de compromiso (IOC).

Ransomware: Malware que restringe el acceso a determinadas partes o archivos del sistema
infectado, por ejemplo, cifrándolos, y pide un rescate a cambio de quitar esta restricción.?

100/101
Malware

Sandbox: Entorno cerrado que aísla en tiempo real los cambios en el código, fruto de la
experimentación, del propio entorno de producción.

101/101

También podría gustarte