Introducción
Un botnet que llevaba operando desde 2003 no desaparece con un iptables -A INPUT -j DROP. Sality construyó durante más de dos décadas una red peer-to-peer sin servidor central, lo que la volvió resistente a los decomisos clásicos de dominios C2. Recién esta semana, una operación coordinada entre el Departamento de Justicia de EE.UU., el FBI, la DCIS, fuerzas de Bulgaria, Hungría y Rumania, y el equipo Counter Adversary Operations de CrowdStrike logró desmantelar esa arquitectura. El dato que importa para cualquier equipo de infraestructura: Sality infectó más de 15.000 dispositivos y, durante los últimos ocho años, distribuyó de forma silenciosa el payload EggJagger, una herramienta de clipjacking que reemplaza direcciones de wallets de criptomonedas en el portapapeles del usuario. Si tu organización opera en entornos donde usuarios comparten equipos, ejecutan scripts no auditados o conectan dispositivos IoT a la red corporativa, la superficie de riesgo sigue abierta aunque el takedown haya neutralizado el control centralizado.
Qué ocurrió
La operación combinó dos frentes. En el plano legal, el DOJ y el FBI confiscaron dominios vinculados a Sality alojados en territorio estadounidense, mientras que autoridades de Bulgaria, Hungría y Rumania incautaron dominios adicionales en servidores europeos. En el plano técnico, CrowdStrike ejecutó una operación de sinkhole sobre la lista de super peers conocida del botnet. Los super peers funcionan como el backbone de comunicación de una red P2P: coordinan la distribución de file packs (transferencia directa de payloads entre bots) y URL packs (instrucciones de descarga remotas). Al redirigir el tráfico de esos nodos a infraestructura controlada por los investigadores, se bloqueó la propagación de nuevos binarios y se purgaron las peer lists de las máquinas infectadas, dejándolas aisladas del operator.
CrowdStrike identificó al grupo criminal detrás de Sality como SALTY SPIDER, con probable base de operaciones en la República de Bashkortostan, Rusia. Durante la mayor parte de su historia, Sality distribuyó familias de malware dispares: robo de credenciales, spam masivo, servicios de proxy para terceros, explotación de red y ataques DDoS. La transición a EggJagger como payload dominante hace aproximadamente ocho años marcó un cambio de modelo: de un botnet multiuso a una operación focalizada en el robo de criptoactivos mediante manipulación del portapapeles.
Impacto para DevOps / Infraestructura / Cloud / Seguridad
El desmantelamiento de Sality no elimina el riesgo para infraestructuras cloud y entornos Linux, pero sí obliga a revisar supuestos. Primero: un botnet P2P activo durante 20 años generó un corpus masivo de tráfico malicioso que contaminó listas de reputación IP, reglas de IDS y alertas en SIEM. Equipos de SOC que operan reglas heredadas pueden tener falsos positivos acumulados o, peor, reglas que bloquean tráfico legítimo asociado a rangos que alguna vez alojaron nodos Sality. Segundo: la técnica de clipjacking de EggJagger no distingue entre un puesto de trabajo Windows y un terminal Linux con clipboard manager. Cualquier pipeline que copie claves SSH, tokens de AWS CLI o credenciales de Kubernetes en el portapapeles queda expuesto si el endpoint está comprometido.
En entornos AWS y EKS, el vector indirecto es más sutil. Un dispositivo de desarrollo comprometido puede filtrar credenciales de IAM, tokens de service account o kubeconfig files. La superficie de ataque no es el clúster en sí, sino la workstation del ingeniero que ejecuta kubectl o aws eks update-kubeconfig. Equipos que operan con Rust en microservicios o que usan VPN corporativas para acceso a VPCs deben considerar que un botnet P2P puede exfiltrar tráfico por canales que los firewalls de red no correlacionan con actividad de botnet, porque el tráfico se distribuye entre miles de peers legítimos.
Detalles técnicos
La arquitectura P2P de Sality se apoya en super peers que mantienen tablas de vecinos y enrutan paquetes de control. A diferencia de un botnet con C2 centralizado (donde un único dominio o IP aloja la infraestructura), eliminar un nodo Sality no degrada la red: los bots restantes reconfiguran sus peer lists automáticamente. El sinkhole ejecutado por CrowdStrike funcionó porque los investigadores conocían la lista de super peers activos y redirigieron sus IPs a un servidor de captura, interceptando así los file packs y URL packs antes de que alcanzaran los bots inferiores.
EggJagger opera a nivel de usuario: monitorea el portapapeles (en Windows vía AddClipboardFormatListener, en Linux vía xclip o wl-clipboard en Wayland) y aplica un regex sobre el contenido. Si detecta una dirección Bitcoin (patrón bc1[A-Za-z0-9]{27,34}), Litecoin, Ethereum (0x[0-9a-fA-F]{40}) o Monero, la reemplaza por una dirección del operador. El reemplazo ocurre antes de que el usuario pegue el valor en una wallet o en un campo de transferencia. No requiere privilegios de kernel ni acceso root; basta con ejecutar en el contexto del usuario.
El operativo de takedown también se enmarca en una secuencia de acciones internacionales de 2025: la disrupción de SocksEscort (marzo), el desmantelamiento de C2 de los botnets Aisuru, KimWolf, JackSkid y Mossad, la caída de un botnet de 17 millones de dispositivos operado desde Países Bajos (mayo) y la neutralización de QScan y QTRouter, plataformas de cyberespionaje vinculadas a grupos chinos.
# Verificar en endpoints Linux si hay procesos accediendo al portapapeles de forma sospechosa
# (EggJagger y variantes similares)
for pid in $(pgrep -f ‘xclip|wl-clipboard|xsel’); do
echo «PID $pid -> $(cat /proc/$pid/cmdline | tr ‘\0’ ‘ ‘)»
done
# Auditar conexiones salientes hacia rangos IP conocidos de botnets P2P
ss -tnp state established | grep -E ‘:(443|8080|9001|5222)$’ | awk ‘{print $4, $5, $6}’
En infraestructura AWS, conviene revisar CloudTrail para eventos AssumeRole o GetSessionToken que provengan de IPs no habituales, especialmente si coinciden con rangos que aparecen en feeds de amenaza post-takedown.
Qué deberían hacer los administradores y equipos técnicos
Revisar feeds de amenaza y reglas de detección. Actualizá las listas de dominios e IPs bloqueadas en firewalls, proxies y SIEM con los indicadores publicados por CrowdStrike y el DOJ tras el operativo. En Linux, verificá que no existan cron jobs o systemd timers (systemctl list-timers –all) que apunten a dominios Sality aún resueltos en caché local (resolv.conf, nscd, systemd-resolved).
Endurecer el portapapeles en endpoints de desarrollo. En estaciones Linux, desactivá clipboard managers de terceros que no sean auditablemente seguros. En macOS, habilitá la protección de portapapeles vía Gatekeeper. En Windows, confirmá que el endpoint protection (CrowdStrike Falcon, Defender for Endpoint) tenga activadas las reglas anti-clipjacking. Para pipelines que manejan secretos, reemplazá el copiado manual en portapapeles por Vault de HashiCorp o AWS Secrets Manager con acceso programático: aws secretsmanager get-secret-value –secret-id prod/db-creds –query SecretString.
Auditar el acceso a EKS y VPCs. Revisá los service accounts con permisos amplios en los namespaces de tu clúster. Ejecutá kubectl get clusterrolebindings -o wide y aws iam list-policies –scope Local para identificar credenciales que, si se filtran por un endpoint comprometido, habiliten movimiento lateral. Rotá claves de acceso de IAM que lleven más de 90 días sin renovación y activá MFA para todas las identidades humanas.
Monitorear tráfico VPN y egress. Si tu organización usa OpenVPN, WireGuard o AWS Client VPN, configurá logging de conexiones salientes y correlacioná con feeds de botnet. Un bot P2P puede tunelizar tráfico por una VPN corporativa sin que el firewall de borde lo identifique como anomalía si la sesión parece legítima.
Conclusión
El takedown de Sality demuestra que las arquitecturas P2P de botnets, aunque resistentes a bloqueos puntuales, no son inmutables: la combinación de presión legal sobre dominios registrados, colaboración internacional y operación técnica de sinkhole puede desmantelar redes que operan desde 2003. Para los equipos de infraestructura, el aprendizaje práctico no es «Sality ya no existe» sino «durante 20 años operó bajo el radar de controles que asumen una C2 centralizada». Revisar supuestos de arquitectura, endurecer endpoints de desarrollo y correlacionar tráfico de egress con feeds actualizados son acciones que trascienden a este botnet específico. Los operativos de 2025 —SocksEscort, Aisuru, el botnet de 17 millones de dispositivos, QScan— confirman que la superficie de amenaza P2P no se reduce, muta.
Fuentes
- https://www.bleepingcomputer.com/news/security/sality-botnet-infrastructure-dismantled-in-joint-global-takedown/
