La porte dérobée malveillante Pikabot est modulaire, avec un chargeur et un composant central qui implémente la plupart des fonctionnalités. Un certain nombre de techniques anti-analyse sont utilisées, ce qui rend difficile la détection d'activités malveillantes.
L'analyse a révélé une similitude avec Qakbot en termes de mode de distribution, de campagnes et de comportement des logiciels malveillants, sans indiquer s'il s'agit des mêmes auteurs de logiciels malveillants. Il est capable de recevoir des commandes d'un serveur de commande et de contrôle, qui injecte n'importe quel shellcode, DLL ou fichier exécutable.
Fonctionnalité malveillante
Après l'infection initiale par le chargeur, le module principal implémente la fonctionnalité malveillante, qui inclut la possibilité d'exécuter des commandes arbitraires et d'injecter la charge utile réelle. Il utilise un injecteur de code qui déchiffre le module principal. Ils utilisent un certain nombre de techniques d'anti-analyse, telles que la fonction API Windows Beep pour retarder l'exécution, la fonction API Windows CheckRemoteDebuggerPresent ou le rechargement de fausses bibliothèques pour détecter les bacs à sable. De plus, des informations système telles que la mémoire ou le nombre de processeurs sont interrogées. De plus, l'outil public ADVobfuscator est utilisé pour obscurcir des chaînes importantes du logiciel malveillant. Si les tests d'anti-analyse échouent, Pikabot s'arrêtera de fonctionner.
Lors du rechargement des modules principaux, Pikabot procède comme suit : Tout d'abord, un ensemble d'images png stockées dans la zone des ressources est chargé. Ceux-ci sont décodés par une opération XOR au niveau du bit. Chacune des images contient une partie chiffrée du module principal. Une clé de 32 octets est utilisée pour décrypter le code via AES (mode CBC), les 16 premiers octets des données cryptées étant utilisés comme vecteur d'initialisation. Après avoir déchiffré la charge utile principale, l'injecteur Pikabot crée un processus sur un chemin de données, comme WerFault, et injecte le module principal.
retard d'exécution
Semblable à l'injecteur, le module central s'appuie également sur des contrôles anti-analyse supplémentaires, tels qu'une « fonction veille » pour retarder l'exécution. Cela inclut la fonction API NtContinue avec une minuterie pour l'activation. En plus de ces tests, la langue du système infecté est enregistrée. Si l'une des langues suivantes est découverte, l'exécution est interrompue : géorgien, kazakh, ouzbek, tadjik, russe, ukrainien, biélorusse ou slovène. Une telle approche est souvent observée parmi les acteurs menaçants des pays de la CEI pour éviter les poursuites. Une fois le processus de chargement terminé, Pikabot enregistre l'hôte compromis sur le serveur de commande et de contrôle en utilisant les informations système collectées. Comme pour les autres botnets, un identifiant unique est créé. Une fois l'inscription terminée, Pikabot démarre son activité avec des requêtes au serveur.
Plus sur Zscaler.com
À propos de Zscaler Zscaler accélère la transformation numérique afin que les clients puissent devenir plus agiles, efficaces, résilients et sécurisés. Zscaler Zero Trust Exchange protège des milliers de clients contre les cyberattaques et la perte de données en connectant en toute sécurité les personnes, les appareils et les applications partout. Le Zero Trust Exchange basé sur SSE est la plus grande plate-forme de sécurité cloud en ligne au monde, distribuée dans plus de 150 centres de données à travers le monde.