Skip to content
Nouveau rapport : Obtenez votre exemplaire du rapport 2024 sur l'état de l'internet ! | Télécharger aujourd'hui
Blogs

Déballer le réseau de zombies BADBOX avec Censys

Résumé : BADBOX est un réseau de zombies récemment découvert qui cible à la fois des appareils Android de marque et des appareils connus, souvent avec des logiciels malveillants qui ont pu être préinstallés en usine ou à un stade plus avancé de la chaîne d'approvisionnement. Plus de 190 000 appareils infectés ont été observés jusqu'à présent, y compris des modèles haut de gamme comme les téléviseurs QLED Yandex 4K. En utilisant Censys, j'ai identifié un certificat SSL/TLS suspect commun à l'infrastructure BADBOX, révélant cinq IP et de nombreux domaines, tous utilisant le même certificat et la même clé hôte SSH. Cela indique clairement qu'un seul acteur contrôle un environnement modélisé. L'ampleur et la nature furtive de BADBOX soulignent la nécessité de surveiller l'intégrité de la chaîne d'approvisionnement et le trafic réseau.

Je surveille cette menace émergente depuis un certain temps et, à première vue, il s'agit d'une énième campagne de logiciels malveillants pour Android. Le hic ? BADBOX est souvent intégré au micrologiciel, de sorte que les utilisateurs déballent de nouveaux appareils déjà compromis avant même qu'ils ne rejoignent un réseau. Les chercheurs de BitSight ont récemment mis en évidence le nombre considérable d'appareils communiquant avec les serveurs BADBOX, ce qui suggère une compromission complète de la chaîne d'approvisionnement qui va bien au-delà d'un incident typique de logiciel malveillant à chargement latéral. Ci-dessous, je vais vous expliquer comment j'ai utilisé Censys pour suivre le certificat en question et cartographier les IP et les domaines associés.

Cette échelle a piqué ma curiosité - en particulier la partie concernant un certificat commun qui a été repéré dans la nature. Armé de cette information sur le DN de l'émetteur du certificat, je me suis tourné vers la Censys Internet Intelligence Platform pour voir si je pouvais trouver d'autres preuves. Le DN de l'émetteur en question est : "C=65, ST=singapore, L=singapore, O=singapre, OU=sall, CN=saee" que j'ai converti en la requête de certificat suivante pour trouver le certificat exact utilisé par les opérateurs de BADBOX.

cert.parsed.issuer_dn="C=65, ST=singapore, L=singapore, O=singapre, OU=sall, CN=saee"

Un seul résultat correspondait à ces critères, ce qui indique clairement qu'une seule entité (ou un petit groupe) est à l'origine de l'injection généralisée de logiciels malveillants.BADBOX C2 Certificate saee - CERTIFICAT | AS OF SEP 09, 202305:48 UTC Tags : never-trusted, self-signed, unexpired, untrusted Issuer : C=65, ST=singapore, L=singapore, O=singapre, OU=sall, CN=saee Validity Period : DEC 12, 2020 | DEC 10, 2030 Browser Trust : Untrusted x All Names : saee MATCHED FIELDS : cert.parsed.issuer_dn C=65, ST=singapore, L=singapore, 0=singapre, OU=sall, CN=saee

Cela m'a rendu curieux de savoir sur quels hôtes ce certificat est présenté, et j'ai donc accédé au menu pivot.

Pivots DropdownPivots Dropdown Menu - RELATED CERTIFICATES - With the same identity (key + subject) - On With the same public key - With the same serial number - With the same names - CERTIFICATE TRANSPARENCY - Associated Pre-certificates - WHAT'S USING THIS CERTIFICATE? - Hosts <---- This is what we want

Ce pivot a produit la requête suivante, qui recherche l'empreinte SHA-256 du certificat.

host.services.tls.fingerprint_sha256 = "61609d67762922a390bf4c5ccc2b5ed43c1980a6777a0152e9a49c5b96d0d623"

Les hôtes renvoyés par la requête : host.services.tls.fingerprint_sha256 = "61609d67762922a390bf4c5ccc2b5ed43c1980a6777a0152e9a49c5b96d0d623" (empreinte digitale du certificat du botnet BADBOX)

J'ai obtenu cinq adresses IP présentant ce certificat, toutes de Singapour et toutes de l'ASN d'Akamai. J'étais curieux de connaître les autres attributs qu'elles partagent et j'ai remarqué qu'elles ont toutes le port 22 SSH ouvert. Voici l'un de ces services.

BADBOX Botnet Control Server SSH service running on port 22 over TCP LAST OBSERVED JAN 21, 2025 06:05 UTC HOST KEY - Algorithm: ecdsa-sha2-nistp256 - Fingerprint: a885b892e4820b90fd05e45eda6bdd5983170cba6da23fb3610ed1a61726bd14 <---- This might be useful NEGOTIATED - Key Exchange: curve25519-sha256@libssh.org - Symmetric Cipher: aes128-ctr, aes128-ctr - MAC: hmac-sha2-256, hmac-sha2-256

Pour savoir si les mêmes clés d'hôte SSH sont utilisées, nous pouvons créer un rapport sur le champ "host.services.ssh.server_host_key.fingerprint_sha256" de l'empreinte digitale de la clé d'hôte. Pour créer un rapport, cliquez sur l'onglet "Report Builder".

Onglets "Résultats de la recherche" et "Générateur de rapportsUn rapport sur les serveurs BADBOX Bonet montrant que les cinq adresses IP ont la même empreinte digitale de la clé d'hôte SSH.

Comme vous pouvez le voir, les cinq IP partagent la même clé d'hôte SSH, ce qui suggère que ces instances ont été modelées. En cliquant sur le tableau du rapport, je peux faire pivoter cette requête.

(host.services.tls.fingerprint_sha256 = "61609d67762922a390bf4c5ccc2b5ed43c1980a6777a0152e9a49c5b96d0d623") et host.services.ssh.server_host_key.fingerprint_sha256 = "a885b892e4820b90fd05e45eda6bdd5983170cba6da23fb3610ed1a61726bd14"

Ce que je nettoierais pour obtenir la requête suivante:

host.services.tls.fingerprint_sha256 = "61609d67762922a390bf4c5ccc2b5ed43c1980a6777a0152e9a49c5b96d0d623"
or host.services.ssh.server_host_key.fingerprint_sha256 = "a885b892e4820b90fd05e45eda6bdd5983170cba6da23fb3610ed1a61726bd14"

Cependant, j'ai également été intéressé par le nombre de domaines qui présentent également ce certificat.

web.cert.fingerprint_sha256 = "61609d67762922a390bf4c5ccc2b5ed43c1980a6777a0152e9a49c5b96d0d623"

Liste des domaines du botnet BADBOX et de leurs ports qui correspondent à la requête : web.cert.fingerprint_sha256 = "61609d67762922a390bf4c5ccc2b5ed43c1980a6777a0152e9a49c5b96d0d623"

Il est intéressant de noter que les 25 semblent utiliser nginx 1.20.1 sous CentOS. À partir de là, je pourrais soit créer une collection pour suivre tous ces indicateurs, soit simplement extraire les instances actuelles. Voici la requête finale avec tous les indicateurs ci-dessus

host.services.tls.fingerprint_sha256 = "61609d67762922a390bf4c5ccc2b5ed43c1980a6777a0152e9a49c5b96d0d623"
or host.services.ssh.server_host_key.fingerprint_sha256 = "a885b892e4820b90fd05e45eda6bdd5983170cba6da23fb3610ed1a61726bd14"
or web.cert.fingerprint_sha256 = "61609d67762922a390bf4c5ccc2b5ed43c1980a6777a0152e9a49c5b96d0d623"

Indicateurs

IPs
139.162.36[.]224
139.162.40[.]221
143.42.75[.]145
172.104.186[.]191
192.46.227[.]25
172.104.178[.]158
Domaines
bluefish[.]work
www.bluefish[.]work
cool.hbmc[.]net
giddy[.]cc
www.giddy[.]cc
jolted[.]vip
joyfulxx[.]com
msohu[.]shop
www.msohu[.]shop
mtcpuouo[.]com
www.mtcpuouo[.]com
pasiont[.]com
sg100.idcloudhost[.]com
www.yydsmb[.]com
www.yydsmd[.]com
ztword[.]com
tvsnapp[.]com
pixelscast[.]com
swiftcode[.]work
old.1ztop[.]work
cast.jutux[.]work
home.1ztop[.]work
www.jolted[.]vip

A propos de l'auteur

Aidan Holland
Chercheur en sécurité
Aidan est un chercheur en sécurité au sein de l'équipe de recherche qui travaille à l'utilisation de nos données pour enrichir les flux de travail des professionnels de la sécurité partout dans le monde. Aidan est spécialisé dans le développement de logiciels libres et l'ingénierie de la cybersécurité.

Contenu similaire

Retour au centre de ressources
Solutions de gestion de la surface d'attaque
En savoir plus