Esta nueva herramienta de hacking está apuntando a Windows, macOS y Linux
Investigadores de seguridad cibernética han descubierto un framework de ataque y comando y control (C2) llamado ‘Alchimist’. Alchimist se está usando activamente en ataques dirigidos a sistemas Windows, Linux y macOS.
El framework y todos sus archivos son ejecutables de 64 bits escritos en Go. GoLang es un lenguaje de programación que facilita mucho la compatibilidad cruzada entre diferentes sistemas operativos.
Alchimist ofrece una interfaz basada en la web que utiliza el idioma chino simplificado y es muy similar a Manjusaka. Manjusaka es un framework de ataque posterior a la explotación surgido recientemente que se está volviendo popular entre los hackers chinos.
Herramientas similares
Alchimist y Manjusaka siguen la misma filosofía de diseño, aunque implementados de diferentes maneras, hasta el punto de que ambos parecen tener la misma lista de requisitos a pesar de ser implementados por diferentes programadores.
Sin embargo, Manjusaka y Alchimist tienen prácticamente el mismo conjunto de características. Ambos han sido diseñados e implementados para operar como ejecutables independientes basados en Go que pueden distribuirse con relativa facilidad a los operadores. Los frameworks en el interior llevan los implantes y toda la interfaz de usuario web.
La configuración del implante se define mediante la Web UI (Web User Interface), que en ambos casos está completamente escrita en chino simplificado. Además, ambos mencionan el protocolo poco común SNI en un caso ya compatible (Alchimist), con planes de admitirlo en el otro (Manjusaka).
Las principales diferencias radican en los enfoques adoptados para implementar la interfaz de usuario web y la forma en que implementan la función de archivo único. Los desarrolladores de Manjusaka aprovechan el framework web de Gin y usan packr, un framework de agrupación de activos, para incrustar y almacenar los implantes. Los autores de Alchimist adoptaron un enfoque más básico, utilizando solo las funciones básicas de Go para implementar las mismas funciones.
También hay diferencias en el código del implante, pero en cuanto a la funcionalidad, son bastante similares, ya que implementan las funciones disponibles en el C2. Alchimist, además del HTTP/S normal, también admite protocolos como SNI, WSS/WS. Manjusaka, por otro lado, menciona SNI, WSS/WS en su documentación, pero solo admite HTTP.
Preparando ataques
Alchimist brinda a los operadores un framework fácil de usar que les permite generar y configurar payloads colocados en dispositivos infectados para tomar capturas de pantalla, ejecutar comandos arbitrarios y ejecutar shellcode de forma remota.
El framework admite la creación de mecanismos de infección personalizados para colocar el troyano de acceso remoto (RAT) ‘Insekt’ en los dispositivos. Asimismo, ayuda a los hackers generando fragmentos de código PowerShell (para Windows) y wget (para Linux) para la implementación de RAT.
El payload de Insekt se puede configurar en la interfaz de Alchimist usando varios parámetros como C2 IP/URL, plataforma (Windows o Linux), protocolo de comunicación (TLS, SNI, WSS/WS) y si se ejecutará como un demonio o no.
La dirección C2 está codificada para el implante generado y contiene un certificado autofirmado generado durante la compilación. Se hace ping al C2 diez veces por segundo, y si fallan todos los intentos de conexión, el malware vuelve a intentarlo después de una hora.
El troyano de acceso remoto Insekt
Si bien los servidores de comando y control de Alchemist entregan comandos para ejecutar, es el implante Insekt el que los lleva a cabo en los sistemas Windows y Linux infectados.
El comportamiento malicioso que puede realizar un implante Insekt incluye:
- Obtener tamaños de archivo.
- Obtener información del sistema operativo.
- Ejecutar comandos arbitrarios a través de cmd.exe o bash.
- Actualizar el implante Insectkt actual.
- Ejecutar comandos arbitrarios como un usuario diferente.
- Descansar por períodos definidos por el C2.
- Iniciar/dejar de tomar capturas de pantalla.
Además, Insekt puede servir como proxy (usando SOCKS5), manipular claves SSH, realizar escaneos de puertos e IP, escribir o descomprimir archivos en el disco y ejecutar shellcode en el host.
“La variante de Linux de Insekt también tiene la funcionalidad de enumerar el contenido del directorio “.ssh” en el directorio de inicio de la víctima y agrega nuevas claves SSH al archivo Authorised_Keys”.
“Usando esta función, el atacante puede comunicarse con la máquina de la víctima desde el C2 a través de SSH”.
Explicación de Cisco Talos en el informe
Los operadores de Alchimist también pueden enviar comandos predeterminados al implante relacionados con la creación de usuarios, la encuesta de usuarios administradores, la activación de terminales y la desactivación y configuración del firewall.
Ataques para macOS
Insekt aún no funciona en macOS, por lo que Alchimist cubre este vacío con un archivo Mach-O. Este es un ejecutable de 64 bits escrito en GoLang que contiene un exploit para CVE-2021-4034.
Esta es una vulnerabilidad de escalada de privilegios en la utilidad pkexec de Polkit. Sin embargo, el framework no la inyecta en el objetivo. Esto significa que para que el ataque funcione, los hackers deben instalar la utilidad en la máquina objetivo.
Alchimist también ofrece el mismo exploit para la plataforma Linux, siempre que pkexec esté instalado en el sistema.
Aumento de los framework todo en uno
Alchimist es otro framework de ataque disponible para los ciberdelincuentes que no tienen el conocimiento o la capacidad para construir todos los componentes necesarios para los ciberataques sofisticados.
Desafortunadamente, estos frameworks listos para usar son de alta calidad y ricos en funciones. Además, son buenos para evadir la detección y efectivos para colocar implantes en los objetivos.
Por ejemplo, la funcionalidad de las interfaces web de Manjusaka y Alchimist que muestran capacidades de administración remota, realizadas a través de los RATs, muestra la plétora de funcionalidades incluidas en estos frameworks C2. Un atacante que obtiene acceso de shell privilegiado en la máquina de una víctima es como tener una navaja suiza, lo que permite la ejecución de comandos o códigos de shell arbitrarios en el entorno de la víctima, lo que tiene efectos significativos en la organización objetivo.
Dicho esto, los frameworks incluso son beneficiosos para los atacantes más avanzados que desean minimizar sus gastos operativos y combinarse con el tráfico malicioso aleatorio de otros hackers para evadir la atribución.