La puerta trasera maliciosa Pikabot es modular, con un cargador y un componente central que implementa la mayor parte de la funcionalidad. Se emplean varias técnicas antianálisis, lo que dificulta la detección de actividades maliciosas.
El análisis encontró una similitud con Qakbot en términos de modo de distribución, campañas y comportamiento del malware, sin indicar si son los mismos autores de malware. Es capaz de recibir comandos de un servidor de comando y control, que inyecta cualquier shellcode, DLL o archivo ejecutable.
Funcionalidad maliciosa
Después de la infección inicial por parte del cargador, el módulo central implementa la funcionalidad maliciosa, que incluye la capacidad de ejecutar comandos arbitrarios e inyectar la carga real. Utiliza un inyector de código que descifra el módulo central. Utilizan una serie de técnicas antianálisis, como la función de API de Windows Beep para retrasar la ejecución, la función de API de Windows CheckRemoteDebuggerPresent o la recarga de bibliotecas falsas para detectar sandboxes. Además, se consulta información del sistema como la memoria o el número de procesadores. Además, la herramienta pública ADVobfuscator se usa para ofuscar cadenas importantes del malware. Si las pruebas antianálisis fallan, Pikabot dejará de ejecutarse.
Al recargar los módulos principales, Pikabot procede de la siguiente manera: Primero, se carga un conjunto de imágenes png almacenadas en el área de recursos. Estos se decodifican mediante una operación XOR bit a bit. Cada una de las imágenes contiene una parte cifrada del módulo central. Se utiliza una clave de 32 bytes para descifrar el código a través de AES (modo CBC), y los primeros 16 bytes de los datos cifrados se utilizan como vector de inicialización. Después de descifrar la carga útil principal, el inyector Pikabot crea un proceso sobre una ruta de datos, como WerFault, e inyecta el módulo central.
retraso en la ejecución
Al igual que el inyector, el módulo central también se basa en comprobaciones antianálisis adicionales, como una "función de suspensión" para retrasar la ejecución. Esto incluye la función API NtC.ontinue Con un temporizador para su activación. Además de estas pruebas, se registra el idioma del sistema infectado. Si se descubre uno de los siguientes idiomas, se cancela la ejecución: georgiano, kazajo, uzbeko, tayiko, ruso, ucraniano, bielorruso o esloveno. Este enfoque se observa a menudo entre los actores de amenazas de los países de la CEI para evitar el procesamiento. Una vez completado el proceso de carga, Pikabot registra el host comprometido en el servidor de comando y control utilizando la información recopilada del sistema. Al igual que otras botnets, se crea un identificador único. Cuando se completa el registro, Pikabot inicia su actividad con consultas al servidor.
Más en Zscaler.com
Acerca de Zscaler Zscaler acelera la transformación digital para que los clientes puedan volverse más ágiles, eficientes, resilientes y seguros. Zscaler Zero Trust Exchange protege a miles de clientes de ataques cibernéticos y pérdida de datos al conectar personas, dispositivos y aplicaciones de forma segura en cualquier lugar. Zero Trust Exchange basado en SSE es la plataforma de seguridad en la nube en línea más grande del mundo, distribuida en más de 150 centros de datos en todo el mundo.