Investigación

OnionPoison: instalador de Tor Browser infectado

Mientras nos dedicábamos a nuestra habitual caza de amenazas, identificamos múltiples descargas de instaladores maliciosos de Tor Browser, al que todavía no le habíamos asignado una categoría de malware. Según nuestra telemetría, todas las víctimas a las que apuntan estos instaladores, se encuentran en China. Como el sitio web de Tor Browser está bloqueado en China, las personas de este país suelen recurrir a la descarga de Tor desde sitios web de terceros. En nuestro caso, un enlace a un instalador de Tor malicioso se había publicado en un canal popular de YouTube en chino, cuya temática es el anonimato en Internet. Este canal tiene más de 180 000 suscriptores, mientras que el número de visualizaciones del vídeo, con el enlace malicioso, supera las 64 000. Este vídeo se publicó en enero de 2022, y las primeras víctimas comenzaron a aparecer en nuestra telemetría en marzo de 2022.

La instalación de Tor Browser malicioso está configurada para ser menos privada que el Tor original. A diferencia del navegador legítimo, el Tor infectado almacena el historial de navegación y los datos puestos en los formularios de sitios web. Y lo que es más importante, una de las bibliotecas, incluidas en el navegador malicioso Tor, está infectada con un software espía, que recoge varios datos personales y los envía a un servidor de administración. Además, el software espía permite ejecutar comandos de shell en la máquina de la víctima, con lo que transfiere el control sobre ella al atacante.

Decidimos llamar a esta campaña “OnionPoison”, en honor a la técnica de enrutamiento Onion que se utiliza en Tor Browser.

Captura de pantalla del vídeo con un enlace al instalador malicioso de Tor Browser en la sección de descripción

Captura de pantalla del vídeo con un enlace al instalador malicioso de Tor Browser en la sección de descripción

Infección inicial

Es probable que las víctimas de la campaña OnionPoison hayan llegado al vídeo, con el enlace malicioso, a través del sistema de búsqueda de YouTube. El vídeo con el enlace malicioso aparece en el primer lugar de los resultados de búsqueda de la consulta ‘Tor浏览器’ (‘Tor Browser’ en chino). La descripción de este vídeo contiene dos enlaces: el primero va al sitio web oficial de Tor Browser, mientras que el otro lleva a un ejecutable malicioso de instalación de Tor Browser, alojado en un servicio chino de intercambio de archivos en la nube. Como el sitio web original de Tor está prohibido en China, el público del vídeo tiene que ir al enlace del servicio de intercambio en la nube para descargar el navegador.

Página de descarga del instalador malicioso de Tor Browser

Página de descarga del instalador malicioso de Tor Browser

El instalador malicioso

MD5 9AABCABABD5B677813589F7154302EE0
SHA1 7E8B9D2BD32B3AEA0E298B509D3357D4155AF9BC
SHA256 877FE96CDFA6F742E538396B9A4EDB76DD269984BFB41CAD5D545E72CE28FFDE
Hora del enlace 2021-Sep-25 21:56:47
Tipo de archivo Ejecutable PE32+ (GUI) x86-64, para MS Windows
Compilador Visual Studio 2003 – 7.10 SDK
Tamaño del archivo 74 MB
Nombre del archivo torbrowser-install-win64-11.0.3_zh-cn.exe

La interfaz de usuario del instalador malicioso de Tor Browser es idéntica a la original; sin embargo, el instalador malicioso no tiene una firma digital, y algunos de los archivos que lanza difieren de los incluidos en el instalador original:

Nombre del archivo Comentario
freebl3.dll El archivo freebl3.dll está presente en el instalador original de Tor Browser; sin embargo, su contenido es completamente diferente del DLL del instalador malicioso
freebl.dll Solo el instalador malicioso contiene un archivo con este nombre. Es una copia de la biblioteca freebl3.dll del instalador original
firefox.exe El ejecutable del instalador infectado solo difiere del original en un byte: el instalador infectado contiene la cadena https://aus1.torproject.org/torbrowser/update3/%CHANNEL%/%BUILD, mientras que la cadena correspondiente (en el instalador original) es https://aus1.torproject.org/torbrowser/update_3/%CHANNEL%/%BUILD. Al sustituir el guión bajo por un guión, los delincuentes impedían que la instalación maliciosa de Tor Browser se actualizara. Es probable que hayan desactivado las actualizaciones para impedir que se sobrescriba la biblioteca freebl3.dll modificada.

Lo que también es interesante sobre la instalación maliciosa de Tor Browser es que los delincuentes la hicieron menos privada. Modificando el archivo de configuración \defaults\preferences\000-tor-browser.js que está almacenado en el archivo browser\omni.ja, configuraron Tor para:

  • Almacenar el historial de navegación;
  • Activar el almacenamiento en caché de páginas en el disco;
  • Habilitar el rellenado automático de formularios y registrar los datos de acceso;
  • Almacenar datos de sesión adicionales para los sitios web.

Fragmentos del archivo 000-tor-browser.js modificado (izquierda) y original (derecha)

Fragmentos del archivo 000-tor-browser.js modificado (izquierda) y original (derecha)

La biblioteca freebl3.dll

MD5 87E33DF76D70103A660783C02AAC44AC
SHA1 04C5A6543E61328B235339358D2E48C0002F0E46
SHA256 3BA945FD2C123FEC74EFDEA042DDAB4EB697677C600F83C87E07F895FB1B55E2
Hora del enlace 2021-Dic-21 09:44:08
Tipo de archivo PE32+ ejecutable (DLL) (GUI) x86-64, para MS Windows
Compilador Visual Studio 2010 – 10.10 SP1
Tamaño del archivo 627.2 kb
Nombre del archivo freebl3.dll

Cuando Tor Browser (ya sea el legítimo o el infectado) se inicia, carga la biblioteca freebl3.dll en el espacio de direcciones del proceso firefox.exe. En el caso de la instalación del navegador infectado, los delincuentes sustituyeron esta biblioteca por una maliciosa. Para asegurar el correcto funcionamiento de Tor, esta librería maliciosa envía todas sus exportaciones a freebl.dll (que es una copia de la librería original freebl3.dll ).

Exportaciones de la biblioteca maliciosa freebl3.dll

Exportaciones de la biblioteca maliciosa freebl3.dll

Al iniciarse, la biblioteca maliciosa crea un mutex con el nombre Global\TBrowser que impide que dos instancias del malware se ejecuten al mismo tiempo. A continuación, elige de forma pseudoaleatoria una de las siguientes URLs del servidor de administración y le envía una petición POST:

  • https://torbrowser.io/metrics/geoip
  • https://tor-browser.io/metrics/geoip

Curiosamente, la petición POST enviada al servidor de administración contiene los siguientes encabezados:

Nombre del encabezado Datos del encabezado
Date Fecha y hora actuales en formato GMT (por ejemplo, Mon, 10 Ago 2022 11:21:55 GMT)
User-Agent Agente de usuario por defecto, obtenido a través de la función API ObtainUserAgentString.
Host Dirección del servidor de administración
Autorization Contiene una firma HMAC-SHA1 de los datos de la solicitud (valor de encabezado de ejemplo: Autorization: SIGN QbqCdtmBBk3uH2Zj:gNe34o6RkQ/Hn82bRPSk7q1DO8w=). Aquí, QbqCdtmBBk3uH2Zj es un identificador de la clave HMAC, y gNe34o6RkQ/Hn82bRPSk7q1DO8w= es un hash HMAC-SHA1 codificado en Base64. Este hash se forma a partir de una cadena que contiene:

  • El tipo de solicitud (POST);
  • El hash MD5 del cuerpo de la solicitud (que está vacío en este caso);
  • La fecha y la hora vigentes;
  • La URL relativa de la solicitud (/metrics/geoip en este caso).

En respuesta a la solicitud POST, el servidor de administración devuelve un blob que contiene una carga útil cifrada, que se usan en la segunda etapa. Esta carga útil se descifra utilizando dos claves XOR: la primera clave se deriva de la longitud de la carga útil, mientras que la segunda clave es D65CB35A-58CB-4456-A7B7-E1B218770A9E. Después de descifrar el blob, la DLL maliciosa lo descomprime, utilizando la función RtlDecompressBuffer, obteniendo así otro archivo DLL. A continuación, el malware carga reflexivamente esta DLL e invoca su función de punto de entrada.

Obtención de la DLL de la infraestructura del servidor de administración

Durante nuestra investigación, intentamos comunicarnos con el servidor de administración y recuperar la DLL de la segunda etapa. Al principio, el servidor no devolvía la DLL en respuesta a nuestra petición POST. Por ensayo y error, descubrimos que el servidor de administración comprueba la dirección IP de la máquina víctima y envía la carga útil solo a las víctimas de China. Después de hacer una petición POST desde una máquina con una dirección IP china, logramos descargar la DLL de la segunda etapa. Por lo tanto, podemos decir que la campaña de OnionPoison se dirige a los usuarios que se encuentran en China. Otro aspecto que hay que tener en cuenta es que, la comprobación de la dirección IP, dificulta la obtención de la carga útil de la segunda etapa a través de cajas de arena de análisis de malware automatizadas.

La segunda etapa DLL

MD5 34C43C9B23B40D9D70B4530DE781F88A
SHA1 3EBF1E989791E3743CEAC1C7B397242DD717AEA9
SHA256 E5CC91FBE01005EF058B1C1D727CFBFB584B012390106BB9C941BC9B1AA96FF7
Hora del enlace 2022-Feb-16 09:56:56
Tipo de archivo PE32+ ejecutable (DLL) (GUI) x86-64, para MS Windows
Compilador Visual Studio 2010 – 10.10 SP1
Tamaño del archivo 788 kb
Nombre del archivo cloud.dll

Cuando se carga, la DLL de segunda etapa recupera la siguiente información del sistema:

  • GUID del volumen de disco del sistema operativo;
  • GUID de la máquina;
  • Nombre de la computadora;
  • Configuración regional de la computadora;
  • Nombre del usuario actual;
  • Direcciones MAC de los adaptadores de red.

Si se ejecuta por primera vez en la máquina víctima, la DLL también genera un GUID pseudoaleatorio de la víctima, y lo guarda en el valor SoftGuid de la clave de registro HKCUSOFTWARE\Mozilla\Firefox.

Después de recopilar la información del sistema, la DLL comienza a enviar mensajes de alerta al servidor de administración cada 2 minutos. El cuerpo de cada mensaje heartbeat contiene un objeto JSON, con información del sistema recopilada. Los mensajes heartbeat se envían, como peticiones POST, a la dirección https://torbrowser.io/metrics/heartbeat o a la URL https://tor-browser.io/metrics/heartbeat. La DLL también cifra el cuerpo de la petición con una clave pseudoaleatoria AES-128 (ECB) y luego cifra la clave AES con una clave pública RSA, especificada en la configuración.

En respuesta a los mensajes heartbeat, el servidor de administración puede solicitar recoger la siguiente información adicional:

  • Software instalado;
  • Procesos en marcha;
  • Historial de Tor Browser;
  • Historial de Google Chrome y Edge;
  • Identificaciones de cuentas de WeChat y QQ que pertenecen a la víctima;
  • Los SSID y las direcciones MAC de las redes Wi-Fi a las que están conectadas las víctimas.

La información adicional recopilada se envía al servidor de administración junto con el siguiente mensaje heartbeat.

Además, el servidor de administración puede solicitar la ejecución de un comando shell arbitrario, en la máquina víctima. Para ello, la DLL crea un nuevo proceso cmd.exe, y le pasa el comando, como argumento. También redirige la salida del proceso de la línea de comandos a una canalización, que después se utiliza para recuperar los resultados de la ejecución del comando. Una vez que el comando shell termina de ejecutarse, sus resultados se cifran (también con una combinación de criptografía simétrica y asimétrica) y se envían a través de una solicitud POST a la URL https://torbrowser.io/metrics/geoip o a la https://tor-browser.io/metrics/geoip.

Un detalle interesante sobre los sitios web del servidor de administración es que son visualmente idénticos al sitio web original de Tor Browser. Los enlaces de descarga del navegador, en el sitio web de la réplica, conducen al sitio web legítimo de Tor Browser.

Captura de pantalla de la página web de torbrowser[.]io

Captura de pantalla de la página web de torbrowser[.]io

Víctimas

Según nuestra telemetría, todas las detecciones parecen estar localizadas en China. Esto era de esperar porque el servidor de administración comprueba que la dirección IP externa de la máquina de la víctima proceda de China, como hemos mencionado en párrafos anteriores.

Conclusiones

En esta campaña, los atacantes utilizan el acceso al software de anonimización para atraer a los objetivos. El poner el enlace en un canal popular de YouTube hace que el instalador malicioso de Tor Browser parezca más fiable para las víctimas. Un dato curioso es que, a diferencia de los stealers comunes y corrientes, los implantes de OnionPoison no recogen de manera automática las contraseñas, cookies o billeteras de los usuarios, sino que recopilan datos que pueden utilizar para rastrear la identidad de las víctimas (como historiales de navegación, identificaciones de cuentas de redes sociales y redes Wi-Fi). Los atacantes pueden buscar, en los historiales exfiltrados de los navegadores, rastros de actividades ilegales, ponerse en contacto con las víctimas a través de las redes sociales y amenazarlas con denunciar las actividades observadas por las autoridades. En el pasado, también hemos visto casos en los que las fuerzas del orden (el FBI por ejemplo) han utilizado vulnerabilidades de día cero para desenmascarar la identidad de los usuarios de Tor, involucrados en sitios web de pedofilia de la red oscura. Otro caso similar fue la distribución del malware OnionDuke a través de inyecciones en conexiones HTTP no cifradas en nodos de salida de TOR.

Sin importar cuáles sean los motivos del creador de este malware, la mejor manera de no infectarse con los implantes OnionPoison es descargar siempre el software de los sitios web oficiales. Si el uso de estos sitios web no es una opción, es posible verificar la autenticidad de los instaladores, descargados de fuentes de terceros, examinando sus firmas digitales. Un instalador legítimo debe tener una firma válida, y el nombre de la empresa, especificado en su certificado, debe coincidir con el nombre del desarrollador del software.

OnionPoison: instalador de Tor Browser infectado

Su dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

 

Informes

BlindEagle vuela alto en LATAM

Kaspersky proporciona información sobre la actividad y los TTPs del APT BlindEagle. Grupo que apunta a organizaciones e individuos en Colombia, Ecuador, Chile, Panamá y otros países de América Latina.

MosaicRegressor: acechando en las sombras de UEFI

Encontramos una imagen de firmware de la UEFI infectada con un implante malicioso, es el objeto de esta investigación. Hasta donde sabemos, este es el segundo caso conocido en que se ha detectado un firmware malicioso de la UEFI usado por un actor de amenazas.

Suscríbete a nuestros correos electrónicos semanales

Las investigaciones más recientes en tu bandeja de entrada