Ataques cibernéticos con lenguajes desconocidos.
El equipo de Investigación e Inteligencia de Amenazas de BlackBerry ha estado rastreando y monitoreando el panorama de amenazas en busca de la aparición de cuatro lenguajes de programación poco conocidos:
• Go
• D
• Nim
• Rust
Estos lenguajes se observan en la actualidad a fin de rastrear su uso y adopción por parte de los atacantes. La selección de estos lenguajes se debió, en parte, a un repunte en su utilización indebida para concretar actividades maliciosas. Otro factor es su rol cada vez mayor en las familias de malware creadas y reveladas dentro del panorama general de amenazas. Por lo general, se suelen desarrollar nuevos lenguajes de programación con el fin de mejorar diferentes aspectos o deficiencias de los lenguajes actuales. En consecuencia, esto también los convierte en una opción atractiva para el abuso por parte de los atacantes. Los nuevos lenguajes se pueden usar como contenedor o cargador de una familia de malware existente, para reescribir malware existente, o bien con el fin de desarrollar malware completamente nuevo. Esta tendencia se ha observado en el pasado con la utilización de VB6 y Delphi a fin de desarrollar contenedores para el malware vigente en ese momento.
Más recientemente, en marzo del 2021, la familia de malware BazarLoader se reescribió en el lenguaje de programación Nim y se denominó Nimzaloader. Varios meses después, en mayo, apareció RustyBeur, que fue una variante del malware Buer Loader reescrita en Rust. Desde el punto de vista de un atacante, el uso de lenguajes de programación exóticos ofrece muchas ventajas. Estas incluyen lo siguiente:
• Mejor rendimiento
• Falta de herramientas de análisis disponibles
• Desconocimiento de los analistas sobre su composición
• Mayor capacidad para evadir la detección de antivirus basados en firmas
Se podría argumentar que estos lenguajes actúan como una capa de ofuscación. Su novedad y la falta de herramientas de análisis disponibles hacen que puedan parecer bastante extraños para los investigadores inexpertos. BlackBerry observó que estos lenguajes se usaban en el desarrollo de una cantidad cada vez
mayor de “depositadores” (droppers) y cargadores. Se utilizaron como piezas nuevas e iniciales de malware diseñadas para depositar/decodificar, cargar y desplegar familias de malware. Las amenazas que actualmente utilizan estos nuevos lenguajes incluyen los troyanos de acceso remoto Remcos y NanoCore, y las balizas de Cobalt Strike.
Muchos de estos lenguajes también se pueden compilar de forma cruzada a fin de apuntar a múltiples sistemas operativos. Los atacantes han abusado incansablemente de esta poderosa funcionalidad. Específicamente, el grupo APT29 con sede en Rusia y su malware Wellmess, que fue escrito en Go y compilado para atacar los sistemas operativos Windows® y Linux®. Otro ejemplo de esto fue la aparición del malware ElectroRAT en enero del 2021. También se desarrolló en Go y, luego, se compiló de forma cruzada para atacar todos los principales sistemas operativos: Windows, macOS® y Linux.
Nim y Go se han empleado en diferentes partes de la misma cadena de ataque con el fin de mejorar la capacidad de evasión de detección del atacante. Por ejemplo, el grupo de amenazas APT28 aprovechó un descargador basado en Nim para recuperar una carga basada en Go en su malware Zebrocy. Los beneficios y la popularidad de estos lenguajes han impulsado su adopción de parte de la comunidad de seguridad. Debido a sus ventajas ofensivas, son de particular utilidad en el desarrollo de herramientas de Red Team. A fines del 2020, FireEye reveló que un atacante había obtenido acceso no autorizado a algunas de sus herramientas de Red Team. Como
contramedida, publicó una declaración junto con un repositorio de GitHub formado por varias firmas de detección para ayudar a identificar las herramientas robadas. En este repositorio, FireEye reveló que su Red Team había estado empleando una combinación de herramientas modificadas disponibles al público y herramientas personalizadas internas. Algunas de estas herramientas de Red Team se escribieron en DLang, Rust y Go.
Los binarios maliciosos creados en estos lenguajes actualmente son solo una pequeña parte de los que utilizan los atacantes. Sin embargo, su uso en los ataques cibernéticos es una tendencia que, probablemente, escale en la próxima década.
Así que, si quieres mejorar la ciberseguridad de tu empresa, en Grupo Babel, podemos ayudarte a implementarla, entenderla y administrarla