Una nueva variedad del malware Glupteba recientemente descubierta
contiene dos componentes adicionales a las funcionalidades originales del
troyano: uno de ellos es un payload que permite hacerse con el control del
navegador, y el otro se trata de un exploit para el router, según el artículo
escrito por los investigadores Jaromir Horejsi y Joseph Chen para Trend Micro.
El payload que se hace con el control del navegador de la víctima tiene
la capacidad de robar el historial de navegación, cookies, y nombres de cuentas
de usuarios junto a sus contraseñas; los navegadores afectados son Chrome,
Opera y Yandex. Por su parte, el exploit para el router aprovecha una antigua
vulnerabilidad que ya fue resuelta, MikroTik RouterOS, la cual permite a
atacantes autentificados de manera remota escribir archivos diversos. La
ejecución del exploit permitiría a los atacantes configurar el router como un
proxy SOCKS a través del cual encaminar tráfico malicioso con el objetivo de
ocultar su IP real.
«Parece que los atacantes siguen mejorando el malware y puede que estén
intentando expandir su red proxy al Internet de las Cosas (IoT)», informaban
los investigadores.
No obstante, lo que resulta digno de mencionar es la nueva funcionalidad
de Glupteba para actualizar los C&C. Según Trend Micro, el malware usa la
función discoverDomain la cual «enumera servidores de cartera Electrum Bitcoin
usando una lista pública, y luego intenta hacer una petición al historial del
hash del blockchain del script con un hash incrustado. Posteriormente, este
comando revela todas las transacciones relacionadas».
«Luego cada transacción es analizada, buscando la instrucción
OP_RETURN«, continúan los investigadores en el artículo. «La información
seguida por esta instrucción es usada como parámetro para una rutina de
descifrado AES… Esta técnica hace más cómodo al atacante reemplazar los
servidores C&C. Si pierden el control de un servidor C&C por algún
motivo, tan solo necesitan añadir un nuevo script de Bitcoin y las máquinas
infectadas obtendrán un nuevo servidor C&C al descifrar la información del
script y retomar la conexión».
Esta versión de Glupteba fue distribuida mediante una campaña
publicitaria de malware (malvertising) que tenía como objetivo sitios web que
compartían archivos, de acuerdo a la información proporcionada por Trend Micro.
Análisis de Glupteba
En primer lugar es necesario que se descargue el dropper. El binario
contiene un archivo autoextraíble personalizado escrito en Go y compilado para
que sea ejecutable. El dropper inicia la función ‘config information‘ tras
obtener información relativa al hardware y a las operaciones, así como
información incrustada en el binario. Se crea entonces una llave de registro
para almacenar todo la información obtenida
(HKEY_USERS\\Software\Microsoft\TestApp).
El siguiente paso es adquirir machine_guid junto a otros datos del
registro mediante la función sendParentProcesses. Esta información luego se
incrusta en una petición POST, se cifra en AES y se sube al servidor C&C:
hxxps:///api/parent-processes.
Después de esto el dropper revisa si el proceso se está ejecutando como
usuario SYSTEM. Si no es así, intentará explotar el método «fodhelper» para
elevar privilegios. Si esto se consigue pero aún no se es usuario SYSTEM, el
dropper ejecutará el instalador en modo confianza (método «Run as Trusted
Installer«).
El binario principal habrá incrustado algunos rootkits que son usados
para ocultar archivos y procesos y algunas herramientas de GitHub para instalar
los drivers necesarios.
Los investigadores destacaban cuatro funciones en su post:
- Función executeTask, que procesa los siguientes comandos: hide
(para esconder el PID de la tarea usando WinMon incrustado), update (para
cancelar y borrar la versión actual y reemplazarla con una nueva) y
cleanup (para desinstalar).
- Función mainInstall: comprueba si hay algún antivirus instalado,
añade reglas de firewall y excepciones de seguridad.
- Función mainPoll: de manera regular obtiene nuevos comandos del
servidor C&C. Envía una petición POST a
hxxps://
/api/poll. - Función handleCommand: implementa una puerta trasera (backdoor).
La puerta trasera tiene funcionalidades estándar, pero destaca una en
particular: el malware puede actualizar su dirección del servidor C&C a
través del blockchain mediante la función discoverDomain. Esta función se puede
ejecutar mediante comandos o automáticamente con el dropper.
Control del navegador y exploit del router
Como se ha mencionado anteriormente, al hacerse con el control del
navegador lo que el atacante pretende es conseguir el robo de cookies,
contraseñas y perfiles del usuario. Estos archivos se comprimen y se suben al
servidor con ruta /api/log. Este componente también está escrito en Go, al
igual que el dropper principal, y compilado para ser ejecutable. Existe,
además, otra versión de esta funcionalidad llamada «vc.exe» cuyo objetivo es
extraer las contraseñas y cookies del navegador para publicar la información
extraída en la ruta /bots/post-en-data?uuid= del servidor.
En cuanto al exploit para el router, también se desarrolló en lenguaje
Go. El exploit investiga cuál es la puerta de enlace por defecto de la red de
la víctima mediante una lista de direcciones IP que obtiene llamando al comando
WMI «SELECT DefaultIPGateway FROM Win32_NetworkAdapterConfiguration WHERE
IPEnabled = true«. Además, otras tres direcciones IP adicionales son añadidas:
192.168.88.11, 192.168.0.1, 192.168.1.1. Es una vez obtenida la conexión con el
dispositivo puesto a la escucha en el puerto 8291 cuando se intenta explotar la
vulnerabilidad CVE-2018-14847. El exploit permite al atacante obtener las
credenciales de administrador de routers que no han sido actualizados frente a
esta vulnerabilidad.
Una vez se obtienen estas credenciales, se añade la tarea programada
«U6» al router. Esta tarea comprobará cada 10 minutos una URL del C&C y
ejecutará el contenido que se descargue de ella. Esta URL devolverá un mensaje
de error 404, pero cuando se le envía el comando adecuado devuelve un archivo
RSC que contiene el formato de la configuración del RouterOS y que sirve para
controlar el router.
Aunque es innegable que quienes fabrican el dispositivo juegan un papel
crucial en cuanto a las medidas de seguridad adoptadas, no debemos olvidar que
los usuarios también tienen parte de la responsabilidad en cuanto a la
protección de su privacidad, por lo que se recomienda mantener siempre los
equipos y dispositivos actualizados y estar al día de las posibles
vulnerabilidades que puedan comprometer la integridad de nuestros datos
personales.
Más información
Glupteba
malware exploits Bitcoin transactions to keep C2 servers updated https://www.scmagazine.com/home/security-news/malware/glupteba-malware-exploits-bitcoin-transactions-to-keep-c2-servers-updated/
Glupteba
Campaign Hits Network Routers and Updates C&C Servers with Data from
Bitcoin Transactions https://blog.trendmicro.com/trendlabs-security-intelligence/glupteba-campaign-hits-network-routers-and-updates-cc-servers-with-data-from-bitcoin-transactions/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+Anti-MalwareBlog+%28Trendlabs+Security+Intelligence+Blog%29
Fuente: Hispasec