La Unidad 42 de Investigadores de Palo Alto Networks, haciendo uso del entorno HoneyCloud, un conjunto de honeypots empleados para identificar y estudiar nuevos ataques basados en la nube en entornos de nube pública, han descubierto un nuevo gusano peer-to-peer (P2P) dirigido a la nube, llamado P2PInfect, que ataca instancias vulnerables de Redis para su posterior explotación.
El nombre a este gusano es generado debido al término «P2PInfect» que aparece en los símbolos filtrados que reflejan la estructura del proyecto del autor del malware, como se muestra en la Figura 1.
Según la entidad, P2PInfect explota servidores Redis que se ejecutan tanto en sistemas operativos Linux como Windows, lo que lo hace más escalable y potente que otros gusanos. Además, este gusano está escrito en Rust, un lenguaje de programación altamente escalable y amigable con la nube.
Se estima que hasta 934 sistemas Redis únicos pueden ser vulnerables a la amenaza. La primera instancia conocida de P2PInfect se detectó el 11 de julio de 2023.
Una característica notable del gusano es su capacidad para infectar instancias vulnerables de Redis explotando una vulnerabilidad crítica de escape de Sandbox Lua, CVE-2022-0543 (puntuación CVSS: 10,0), que ha sido explotada previamente para distribuir múltiples familias de malware como Muhstik, Redigo y HeadCrab durante el año pasado.
Tras la infección inicial a través de la explotación de la vulnerabilidad Lua, se ejecuta una carga útil inicial que establece una comunicación P2P con la botnet C2 más grande, que sirve como red P2P para entregar otras cargas útiles a futuras instancias Redis comprometidas. Una vez establecida la conexión P2P, el gusano extrae cargas útiles adicionales, como un escáner. La instancia recién infectada se une entonces a las filas de la red P2P para proporcionar cargas útiles de escaneado a futuras instancias de Redis comprometidas.
Cómo P2PInfect aprovecha el CVE-2022-0543 para ataques
El vector de infección inicial del gusano P2PInfect – exploit de Redis a través de CVE-2022-0543 – no es común entre otros gusanos centrados en cryptojacking conocidos por atacar instancias Redis, como los creados por los actores de amenazas Adept Libra (alias TeamTnT), Thief Libra (alias WatchDog) o los que distribuyen variantes de Money Libra (alias Kinsing). Estos grupos utilizan vulnerabilidades alternativas de Redis o configuraciones erróneas para operar.
CVE-2022-0543 es una vulnerabilidad de la biblioteca Lua relacionada con la forma en que Redis es empaquetado y entregado por la gestión de paquetes de Debian Linux. Como tal, sólo afecta a los usuarios de Redis que utilizan las distribuciones Debian o derivadas (Ubuntu y otras). Debido al enfoque en el sistema operativo y el aprovechamiento de un subcomponente de Redis para comprometerlo, los esfuerzos de explotación de P2PInfect son, por lo tanto, complejos. La figura 2 muestra un ejemplo de un exploit capturado para CVE-2022-0543.
En la imagen anterior, se puede ver cómo la vulnerabilidad se convierte en un arma. Mediante el uso de peticiones de red a través de /dev/tcp, como se ve en la línea cuatro, el actor de la amenaza se conecta a una dirección IP C2, escrita como ip-cnc a través del puerto 60100. El puerto 60100 es uno de los puertos de comunicación P2P utilizados por P2PInfect para mantener la comunicación C2. El payload inicial, también visto en la línea cuatro, establece la petición GET al directorio /linux, que es el dropper principal que mantiene la funcionalidad central del gusano P2PInfect.
Comunicaciones entre nodos
El dropper principal se comunica con cualquier otro miembro P2P a la escucha en la lista actual de nodos configurados utilizando TLS 1.3. La infraestructura C2 se actualiza cuando el nodo comprometido envía una solicitud json con todos los nodos conocidos a la red P2P. Las actualizaciones de la infraestructura C2 se descargarán automáticamente. La siguiente imagen muestra un ejemplo de actualización de nodos.
Etapa Post-Explotación y Características Técnicas
Una vez dentro de una instancia de Redis, el gusano ejecuta un script Powershell que altera la configuración del firewall local, impidiendo que los propietarios legítimos accedan a la instancia de Redis infectada y permitiendo a los operadores del gusano un acceso sin restricciones.
Una de las sofisticadas técnicas de persistencia del gusano consiste en un proceso denominado «Monitor», almacenado en la carpeta /temp del directorio AppData del usuario. Este proceso descarga varios ejecutables P2PInfect con nombres aleatorios junto con un archivo de configuración cifrado, lo que garantiza su presencia a largo plazo en los sistemas infectados.
Aunque las muestras descargadas del C2 incluyen archivos etiquetados como «miner» y «winminer», todavía no hay pruebas de que P2PInfect se dedique a la minería de criptomonedas utilizando las instancias infectadas. Los expertos especulan con la posibilidad de que el gusano esté sentando las bases para futuras campañas, que podrían implicar actividades de minería utilizando la red de bots.
Todas las muestras identificadas por los investigadores de la Unidad 42 han sido escritas en Rust, y algunas tienen «símbolos filtrados» en su interior, lo que proporciona indicadores sobre la estructura del proyecto de los autores del malware. Por ejemplo, el hilo de ejecución principal de la muestra de Windows filtra el nombre del proyecto, así como el uso del directorio de archivos del actor de la amenaza:
El uso exclusivo del lenguaje de programación Rust por parte de P2PInfect suscita preocupación entre los expertos en ciberseguridad, ya que muchos grupos de ransomware también se han pasado a Rust debido a ventajas como un cifrado más rápido y la evasión de los métodos de detección habituales.
Dado que el panorama de las amenazas sigue evolucionando, los investigadores siguen de cerca el comportamiento del gusano, incluida la posibilidad de que se añadan nuevos comportamientos y funciones a P2PInfect en el futuro.
Aunque Rust ofrece numerosas ventajas más allá de su uso en malware, su adopción en gusanos sofisticados como P2PInfect pone de relieve la importancia de la vigilancia constante y las medidas de seguridad proactivas frente a las ciberamenazas en constante evolución. Se insta a organizaciones y particulares a que actualicen sus instancias de Redis y apliquen prácticas de ciberseguridad sólidas para protegerse de posibles ataques.
A raíz de este descubrimiento, la comunidad de ciberseguridad debe permanecer vigilante y proactiva para salvaguardar los sistemas y datos críticos frente a amenazas emergentes como P2PInfect y otras cepas de malware avanzado.
Indicadores de compromiso (IoC)
SHA256
Linux: 88601359222a47671ea6f010a670a35347214d8592bceaf9d2e8d1b303fe26d7
Miner: b1fab9d92a29ca7e8c0b0c4c45f759adf69b7387da9aebb1d1e90ea9ab7de76c
Windows: 68eaccf15a96fdc9a4961daffec5e42878b5924c3c72d6e7d7a9b143ba2bbfa9
WinMiner: 89be7d1d2526c22f127c9351c0b9eafccd811e617939e029b757db66dadc8f93
IPs
35.183.81[.]182
66.154.127[.]38
66.154.127[.]39
8.218.44[.]75
97.107.96[.]14
Peticiones CNC
GET /linux
GET /linux_sign
GET /miner
GET /miner_sigg
GET /winminer
GET /winminer_sign
GET /windows_sign
GET /Windows
Referencia:
https://thehackernews.com/2023/07/new-p2pinfect-worm-targeting-redis.html