Resumen ejecutivo: BADBOX es una red de bots recién descubierta que ataca tanto a dispositivos Android conocidos como a los de otras marcas, a menudo con malware que podría venir preinstalado de fábrica o en etapas posteriores de la cadena de suministro. Hasta ahora se han observado más de 190.000 dispositivos infectados, incluidos modelos de gama alta como los televisores QLED 4K de Yandex. Utilizando Censys, he identificado un certificado SSL/TLS sospechoso común a la infraestructura de BADBOX, que revela cinco IP y numerosos dominios, todos ellos utilizando el mismo certificado y clave de host SSH. Esto indica claramente que se trata de un único actor que controla un entorno planificado. La enorme escala y la naturaleza sigilosa de BADBOX subrayan la necesidad crítica de vigilar la integridad de la cadena de suministro y el tráfico de red.
Llevo un tiempo observando esta amenaza emergente y, a primera vista, parece una campaña más de malware para Android. ¿El giro? BADBOX a menudo viene incorporado en el firmware, por lo que la gente está descargando nuevos dispositivos que ya están comprometidos incluso antes de que se unan a una red. Recientemente, los investigadores de BitSight destacaron el enorme número de dispositivos que se comunican con los servidores de BADBOX, lo que sugiere un compromiso de la cadena de suministro en toda regla que va mucho más allá de un típico incidente de malware sideloaded. A continuación, te explicaré cómo utilicé Censys para rastrear el certificado en cuestión y localizar las IP y los dominios asociados.
Esta escala despertó mi curiosidad, especialmente la parte sobre un certificado común que se ha visto en la naturaleza. Armado con esta información sobre el DN del emisor del certificado, me dirigí a la Plataforma de Inteligencia de InternetCensys para ver si podía encontrar alguna prueba adicional. El DN del emisor en cuestión es: "C=65, ST=singapore, L=singapore, O=singapre, OU=sall, CN=saee", que convertí en la siguiente consulta de certificados para encontrar el certificado exacto utilizado por los operadores de BADBOX.
cert.parsed.issuer_dn="C=65, ST=singapur, L=singapur, O=singapre, OU=sall, CN=saee"
Hubo un único resultado que coincidía con esos criterios, lo que es un fuerte indicador de una única entidad (o un pequeño grupo) detrás de la inyección generalizada de malware.
Esto me hizo sentir curiosidad por saber en qué hosts se presenta este certificado, así que entré en el menú pivotante.


Este pivote produjo la siguiente consulta, que busca la huella digital SHA-256 del certificado.
host.services.tls.fingerprint_sha256 = "61609d67762922a390bf4c5ccc2b5ed43c1980a6777a0152e9a49c5b96d0d623"

Esto devolvió cinco direcciones IP que presentan ese certificado, todas de Singapur y todas del ASN de Akamai. Tenía curiosidad por saber qué otros atributos comparten y me di cuenta de que todas tienen el puerto 22 SSH abierto. Aquí está uno de esos servicios.

Para rastrear si se utilizan las mismas claves de host SSH, podemos hacer un informe en el campo Huella digital de clave de host "host.services.ssh.server_host_key.fingerprint_sha256". Para realizar un informe, haga clic en la pestaña "Generador de informes".


Como se puede ver, las cinco IPs comparten la misma clave de host SSH, lo que sugiere que estas instancias fueron planificadas. Haciendo clic en la tabla del informe puedo pivotar en esa consulta.
(host.services.tls.fingerprint_sha256 = "61609d67762922a390bf4c5ccc2b5ed43c1980a6777a0152e9a49c5b96d0d623") y host.services.ssh.server_host_key.fingerprint_sha256 = "a885b892e4820b90fd05e45eda6bdd5983170cba6da23fb3610ed1a61726bd14"
host.services.tls.fingerprint_sha256 = "61609d67762922a390bf4c5ccc2b5ed43c1980a6777a0152e9a49c5b96d0d623"
or host.services.ssh.server_host_key.fingerprint_sha256 = "a885b892e4820b90fd05e45eda6bdd5983170cba6da23fb3610ed1a61726bd14"
Sin embargo, también me interesaba el número de dominios que también presentan este certificado.
web.cert.fingerprint_sha256 = "61609d67762922a390bf4c5ccc2b5ed43c1980a6777a0152e9a49c5b96d0d623"
host.services.tls.fingerprint_sha256 = "61609d67762922a390bf4c5ccc2b5ed43c1980a6777a0152e9a49c5b96d0d623"
or host.services.ssh.server_host_key.fingerprint_sha256 = "a885b892e4820b90fd05e45eda6bdd5983170cba6da23fb3610ed1a61726bd14"
or web.cert.fingerprint_sha256 = "61609d67762922a390bf4c5ccc2b5ed43c1980a6777a0152e9a49c5b96d0d623"
Indicadores
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
Dominios
bluefish[.]trabajo
www.bluefish[.]trabajo
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[.]trabajo
old.1ztop[.]trabajo
cast.jutux[.]trabajo
home.1ztop[.]trabajo
www.jolted[.]vip