Alerta ⚠️ – El nuevo malware Pingback de Windows utiliza ICMP para la comunicación encubierta

Los investigadores han revelado hoy sus hallazgos sobre una nueva muestra de malware para Windows que utiliza el protocolo de mensajes de control de Internet (ICMP) para sus actividades de mando y control (C2).

Apodado «Pingback», este malware se dirige a los sistemas Microsoft Windows de 64 bits y utiliza el secuestro de DLL para ganar persistencia.

Abusa de un servicio real de Windows para cargar una DLL maliciosa
Hoy, el arquitecto senior de Trustwave, Lloyd Macrohon, y el investigador principal de seguridad, Rodel Mendrez, han publicado sus hallazgos sobre un nuevo malware para Windows que existe como DLL de 64 bits. a

Cabe destacar que el protocolo de comunicación elegido por la muestra de malware es ICMP, que también es utilizado por el popular comando ping y la utilidad Windows traceroute.

El archivo malicioso en cuestión es una DLL de apenas 66 KB llamada oci.dll, y suele ser lanzada dentro de la carpeta «Sistema» de Windows por otro proceso malicioso o vector de ataque.

Los investigadores pronto se dieron cuenta de que esta DLL no era cargada por la conocida aplicación de Windows rundll32.exe, sino que se basaba en el DLL Hijacking.

«Supimos que el archivo era sospechoso durante nuestra clasificación inicial, pero no pudimos averiguar cómo se cargó en el sistema porque la DLL no se cargó a través del tradicional rundll32.exe», afirman Macrohon y Mendrez.

El secuestro de DLL o DLL hijacking o también llamado inyección de DLL injection es una técnica utilizada por los atacantes en los sistemas Windows que consiste en colocar un archivo DLL malicioso en una de las carpetas en las que confía el sistema operativo Windows, de manera que una aplicación legítima del sistema recoge y ejecuta el archivo DLL malicioso.

De esta manera, los atacantes pueden explotar un proceso real y confiable de Windows para ejecutar su código malicioso arbitrario.

Actualmente se podía abusar de unos 300 ejecutables de Windows para el inyección de DLL.

En este caso, los investigadores de Trustwave identificaron que se estaba abusando del servicio Microsoft Distributed Transaction Control (msdtc) para cargar el malicioso oci.dll.

De hecho, msdtc.exe está presente en la lista de más de 300 ejecutables de Windows que son los candidatos perfectos para el secuestro de DLL, según la recopilación del investigador de PwC Wietze Beukema.

Al iniciarse, el servicio msdtc de Windows busca 3 DLL para cargar: oci.dll, SqlLib80.dll y xa80.dll.

El verdadero oci.dll representa una biblioteca de Oracle (Oracle Call Interface) que existe para soportar e interactuar con las bases de datos de Oracle. Pero, aquí está la trampa:

«Por defecto, las tres DLL de Oracle no existen en el directorio del sistema de Windows».

«Así que, en teoría, un atacante con privilegios en el sistema puede soltar una DLL maliciosa y guardarla usando uno de los nombres de archivo DLL que carga MTxOCI», explican los investigadores.

Aunque los investigadores experimentaron con el lanzamiento de los tres nombres de archivos DLL en Windows, descubrieron que sólo oci.dll podía ser cargado sin problemas por el servicio msdtc.

Pero, ¿de dónde viene la oci.dll maliciosa?

Aunque todavía se está investigando el vector de entrada inicial, los investigadores sospechan que otra muestra de malware, updata.exe, está detrás de dejar caer la oci.dll maliciosa en la carpeta «System» de Windows y de configurar msdtc para que se ejecute en cada inicio.

Según lo analizado por BleepingComputer, updata.exe ejecuta una secuencia de comandos para configurar msdtc para que se ejecute de forma persistente y además deja caer oci.dll:

sc stop msdtc
sc config msdtc obj= Localsystem start= auto
sc start msdtc

Utiliza el túnel ICMP para la comunicación encubierta
El malware oci.dll, una vez lanzado por msdtc, utiliza ICMP para recibir sigilosamente comandos de su servidor C2.

Los investigadores de Trustwave, que bautizaron este malware como «Pingback», afirman que la ventaja de utilizar ICMP para las comunicaciones es que Pingback permanece efectivamente oculto para el usuario.

Esto se debe a que ICMP no tiene el concepto de «puertos» y no utiliza ni TCP ni UDP. Como tal, oci.dll puede no ser captado por herramientas de diagnóstico como netstat.

Cada paquete ICMP, sin embargo, contiene un campo de «datos» con suficiente espacio para colar datos personalizados dentro del campo y transmitirlos de ida y vuelta entre dos sistemas:

Paquete ICMP con campo «data» utilizado por un malware para recibir comandos de un bot
Fuente: Trustwave

«La sección de datos ICMP es el lugar donde un atacante puede enviar un dato arbitrario a un host remoto. El host remoto responde de la misma manera, [piggybacking] una respuesta en otro paquete ICMP y enviarlo de vuelta», explican Macrohon y Mendrez.

El malware Pingback (oci.dll) simplemente escucha todos los paquetes ICMP entrantes en un sistema infectado y analiza selectivamente los paquetes con números de secuencia: 1234, 1235 o 1236.

Un paquete ICMP entrante con el número de secuencia 1234 indica al proceso malicioso que esta solicitud contiene carga útil o comandos, mientras que el 1235 y el 1236 son la forma que tiene Pingback de llevar la cuenta y reconocer si se ha recibido una solicitud en cualquiera de los extremos.

Los datos recibidos pueden contener comandos C2 como shell, download, upload, exec, etc.

En esencia, estos comandos se utilizan para transmitir datos de ida y vuelta entre el servidor controlado por el atacante y el sistema infectado y permiten a un atacante remoto ejecutar otros comandos arbitrarios en el sistema infectado.

BleepingComputer también se dio cuenta de que oci.dll hacía referencia a una ruta de archivo ficticia con el nombre de Visual Studio 2008 que puede parecer que contiene datos legítimos del proyecto para un observador casual, pero que probablemente es utilizado por el malware Pingback para sus actividades nefastas, como el almacenamiento de datos:

c:\Users\XL\Documents\Visual Studio 2008\Projects\PingBackService0509\x64\Release\PingBackService0509.pdb

«La tunelización de ICMP no es nueva, pero esta muestra en particular despertó nuestro interés como un ejemplo real de malware que utiliza esta técnica para evadir la detección», afirman los investigadores.

Sin embargo, dado que el ICMP también tiene usos legítimos como herramienta de diagnóstico, los investigadores aconsejan no desactivarlo, sino poner en marcha mecanismos de supervisión para detectar cualquier tráfico ICMP sospechoso.

Las conclusiones técnicas detalladas de Trustwave se recogen en una entrada del blog. Los investigadores también han creado un bot C2 de prueba para demostrar algunos de los comandos de Pingback.

Los indicadores de compromiso (IOC) asociados con el malware Pingback se presentan a continuación:

Archivo: oci.dll
SHA256: E50943D9F361830502DCFDB00971CBEE76877AA73665245427D817047523667F
SHA1: 0190495D0C3BE6C0EDBAB0D4DBD5A7E122EFBB3F
MD5: 264C2EDE235DC7232D673D4748437969

Red:
ICMP Type=8
Número de secuencia: 1234|1235|1236
Tamaño de los datos: 788 bytes

Artículos recientes

2 COMENTARIOS

Manténgase informado de las noticias diarias en su bandeja de entrada