Investigadores de AhnLab han detectado la distribución de una versión modificada de "mimeTools[.]dll", un complemento estándar de Notepad++. Este archivo malicioso se ha incluido en la instalación de una versión específica de Notepad++ y se ha disfrazado como un archivo legítimo. MimeTools es un módulo predeterminado que permite la codificación en Base64 y otras funciones, y su inclusión en Notepad++ es automática, no requiriendo intervención manual del usuario, ya que este se activa al momento de iniciar el programa.
Modificación de Notepad++
El actor de amenazas ha realizado una intrusión al incorporar un código shell malicioso codificado dentro del archivo mimeTools[.]dll, además de incluir el código necesario para descifrar y ejecutar dicho código shell. En comparación con el paquete estándar de Notepad++, se ha identificado una discrepancia evidente en los archivos, siendo certificate[.]pem el archivo que alberga el código shell malicioso. Este archivo comprometido representa una amenaza potencial para la integridad y seguridad de los sistemas en los que se encuentra.
Ilustración 1: Comparación Notepad++ oficial y malicioso
Fuente: Blog AhnLab
Etapas de infección
Este malware utiliza técnicas de llamada al sistema indirecta para evadir productos antimalware. Esto implica bifurcar el código a través de una instrucción jmp para llamar a una función del sistema operativo directamente, en este caso, para evitar ser detectado por productos antimalware que monitorean la API nativa.
El malware descifra un shellcode en el área de proceso de Notepad++ que se ejecuta al principio. Este shellcode contiene un temporizador con un retraso de aproximadamente 10 minutos para evitar la detección. Luego, el binario incluido en el archivo certificado[.]pem se utiliza para transformarse en un código shell a través de los módulos Crypt32[.]dll y BCrypt[.]dll.
Se modifica el punto de entrada de BingMaps[.]dll y se sobrescribe el código dentro de la función de exportación GetBingMapsFactory() con un código de shell. Esto implica un cambio en el flujo de ejecución de la DLL, utilizando llamadas al sistema como NtCreateThreadEx() y NtGetContextThread() para establecer el registro RIP en el área sobrescrita con el código de shell.
La función GetBingMapsFactory() se sobrescribe con un código shell. Este código verifica los procesos en ejecución, realizando un cálculo SHIFT y XOR en cada letra de sus nombres para crear un valor hash. Si se detectan ciertos procesos de análisis, el malware finaliza. Si encuentra el proceso "explorer[.]exe", recopila información necesaria (PID) para futuras actividades maliciosas.
Una vez que se encuentra el proceso "explorer[.]exe", el malware asigna espacio dentro de este proceso, inyecta un shellcode y ejecuta el shellcode inyectado con un subproceso. Esto permite que el malware se ejecute en el área de memoria de explorer[.]exe, lo que le permite realizar actividades maliciosas más avanzadas.
El malware se conecta a un servidor de comando y control (C2), luego descarga y ejecuta un código shell adicional. La cadena utilizada en la comunicación con el C2 se convierte en una URL después de cierto procesamiento, y estas URLs se utilizan para la comunicación con el servidor C2.
Ilustración 2: Diagrama de infección
Fuente: Blog AhnLab
Información recopilada
Antes de enviar la solicitud de obtención al C2, la información recopilada del equipo comprometido se codifica en Base64, se agrega al encabezado y se envía al actor de la amenaza. La información recopilada incluye lo siguiente:
Apreciación
El descubrimiento de una versión modificada de Notepad++, que incluía un complemento predeterminado comprometido, destaca la creciente sofisticación y diversidad de las amenazas cibernéticas que aprovechan las vulnerabilidades en la cadena de suministro de software. Este incidente subraya la importancia crítica de la vigilancia continua y las medidas proactivas de seguridad en todas las etapas del ciclo de vida del software, desde el desarrollo y la distribución hasta el uso por parte de los usuarios finales. Para mitigar el riesgo de futuros ataques de este tipo, es fundamental que los desarrolladores adopten prácticas de seguridad robustas, que los usuarios descarguen software únicamente de fuentes confiables y que se fomente la conciencia y la educación en ciberseguridad en todos los niveles de la organización.
El Centro de Ciberinteligencia de Entel CyberSecure recomienda lo siguiente:
https://asec.ahnlab.com/en/64106/ |
Tipo | Indicador |
---|---|
Fake_Notepad++ | - |
hash | 4552e84edd73799b3a6e8e6d8ad... |
hash | a001642046a6e99ab2b412d9602... |
hash | 2da2fcd61d20eb6f842d833e7fd... |
hash | 5af95489c5c3c6e2643a4218543... |
hash | c6c250e1cd6d5477b46871ffe17... |
hash | fbd959e9578a01c763fd72bec06... |
hash | c4ac3b4ce7aa4ca1234d2d37873... |
hash | 6136ce65b22f59b9f8e56486382... |
hash | fe4237ab7847f3c235406b9ac90... |
hash | d29f25c4b162f6a19d4c6b96a54... |
hash | 8b7a358005eff6c44d66e44f5b2... |
hash | d5ea5ad8678f362bac86875cad4... |