Malware-ul KeyDrift transformă controlerele Cisco SD-WAN în colectoare de chei de criptare
Atacatorii au folosit o vulnerabilitate de severitate maximă din Cisco Catalyst SD-WAN pentru a instala un implant construit special pe sistemele care orchestrează rețeaua extinsă a unei organizații. Malware-ul, urmărit sub numele KeyDrift, nu fură documente sau parole. Fură cheile criptografice care protejează traficul dintre sedii și le păstrează pentru mai târziu.
Ce s-a întâmplat
Punctul de intrare este CVE-2026-20127, o ocolire a autentificării în planul de control Catalyst SD-WAN, cu scor CVSS 10.0. Un atacator neautentificat, de la distanță, poate sări peste autentificare și obține privilegii administrative pe Controller (fostul vSmart), Manager (fostul vManage) și Validator (fostul vBond). Pe un Controller, atacatorul ajunge într-un cont intern cu privilegii ridicate, care nu este root, dar are drepturi mai mult decât suficiente pentru a instala software.
Cisco a livrat corecții în februarie 2026 și a extins avizul de securitate la Validator pe 16 iunie. Producătorul recunoaște o exploatare limitată în mediul real. Intruziunile KeyDrift documentate recent sunt descrise ca istorice, iar analiza publică nu precizează când au avut loc și nici dacă vreo cheie colectată a părăsit efectiv rețelele victimelor.
Cum funcționează KeyDrift
Într-o implementare Catalyst SD-WAN, fiecare router de margine generează periodic o cheie AES pentru propriul trafic și o trimite Controller-ului, care o distribuie celorlalte routere. Procesul care gestionează aceste sesiuni de control criptate se numește vdaemon. KeyDrift trăiește în interiorul lui.
Implantul are două componente principale:
- PolyFlame, modulul central, este injectat în fiecare proces vdaemon activ și rulează exclusiv în memorie. Poate funcționa ca un shell de comandă minimal, care execută comenzi și citește sau scrie fișiere, sau ca un releu care transmite comenzile operatorului către alte mașini. Primește instrucțiuni în interiorul traficului de control SD-WAN obișnuit, iar mostrele analizate nu conțineau niciun server de comandă fixat în cod, ceea ce îngreunează detecția la nivel de rețea.
- LittleFilch se agață de vdaemon pe un Controller compromis și citește mesajele de control după ce au fost decriptate. Pentru o listă predefinită de routere de margine, extrage adresa IP a fiecăruia și o valoare de 32 de octeți evaluată ca fiind materialul de cheie AES-256 pe care Controller-ul îl distribuie. Criptează datele colectate cu RSA, le scrie pe disc și le poate trimite prin UDP către o adresă citită dintr-un fișier de configurare, pe care îl șterge imediat după citire.
Persistența se obține prin modificarea scripturilor de serviciu runit pe care echipamentele le folosesc pentru a-și porni daemonii. Într-o variantă, scriptul care lansează serviciul SSH rulează mai întâi un încărcător numit conf_sshd, care înregistrează ID-urile proceselor vdaemon și le predă unui injector, rsshd, care încarcă PolyFlame în fiecare proces. Pe un Validator compromis, un serviciu fals numit aaamgr rulează un încărcător împachetat care decriptează și pornește PolyFlame. Componenta reală aaamgr este un pachet Python și nu rulează niciodată ca serviciu compilat, așa că simpla existență a acelui director este un indicator puternic. Operatorii au copiat și marcajele de timp și permisiunile fișierelor legitime peste propriile fișiere, ca să treacă neobservați.
Cine se află în spate
Activitatea este urmărită sub numele UAT-11473. Țintele cunoscute includ servicii spațiale și de sateliți, tehnologie de apărare și aerospațială și organizații de cercetare în politici publice. Infrastructura sa se suprapune considerabil cu Silent Train, o rețea de dispozitive compromise de tip small-office, home-office și IoT pe care grupul Volt Typhoon, asociat Chinei, a folosit-o pentru a-și ascunde operațiunile. Agențiile americane au atribuit public Volt Typhoon statului chinez în 2024.
Legătura merită o precizare. Se bazează pe infrastructură comună, nu pe unelte comune, și nimeni nu a afirmat că UAT-11473 și Volt Typhoon sunt același grup. Este, de asemenea, distinctă de un cluster de exploatare anterior, UAT-8616, legat de această vulnerabilitate încă din 2023. În plus, se raportează că Volt Typhoon exploata CVE-2026-20127 încă de la sfârșitul lui 2025 și a continuat după dezvăluirea din februarie, însă acea activitate nu a fost legată de KeyDrift.
De ce contează
Controlerele SD-WAN sunt ancora de încredere a întregului overlay. Cine deține cheile pe care le distribuie poate decripta și, potențial, reda sau altera traficul dintre fiecare sucursală, centru de date și punct de acces în cloud din rețea. Pentru că cheile sunt colectate din mesaje de control deja decriptate, în memorie, nu există zgomot de exploit pe fir odată ce implantul este instalat. Și pentru că KeyDrift păstrează cheile „pentru mai târziu”, o compromitere descoperită astăzi poate să fi expus trafic capturat cu luni în urmă.
Vulnerabilitatea afectează mai mult decât echipamentele on-premises. Implementările SD-WAN găzduite de Cisco în cloud, inclusiv mediile Managed și FedRAMP, sunt în aria de impact, deși Cisco a aplicat deja acolo restricții de acces.
Ce este de făcut
1. Actualizați la o versiune corectată. Nu există soluție alternativă.
| Ramură de versiune | Prima versiune corectată |
|---|---|
| Mai veche de 20.9 | Migrare la o versiune corectată |
| 20.9 | 20.9.8.2 |
| 20.11 | 20.12.6.1 |
| 20.12 | 20.12.5.3 sau 20.12.6.1 |
| 20.13 / 20.14 / 20.15 | 20.15.4.2 |
| 20.16 / 20.18 | 20.18.2.1 |
Ramurile 20.11, 20.13, 20.14 și 20.16, precum și orice versiune mai veche de 20.9, au ajuns la sfârșitul perioadei de întreținere software, deci este necesar un salt de ramură.
2. Restricționați porturile 22 și 830 pe componentele de control la adresele IP ale controlerelor și sistemelor de management cunoscute până când puteți actualiza. Cisco a validat măsura în laborator; testați-o în propria rețea. Rețineți că blocarea porturilor nu face nimic împotriva unui implant deja instalat.
3. Căutați KeyDrift. Nu au fost publicate hash-uri, adrese IP sau domenii, așa că vânătoarea se bazează pe fișiere și comportament:
- scriptul run din runit de sub
/etc/sv/sshd/modificat să apelezeconf_sshd; - un director
/etc/sv/aaamgr/și un binaraaamgrdpe un Validator; conf_sshd,rsshd,libdssl.so(PolyFlame) șilibcommon.so(LittleFilch);/tmp/system-vdaemon,/var/tmp/vdaemon.binși/var/tmp/vdaemon.conf.
Tratați cu suspiciune marcajele de timp ale acestor artefacte, întrucât grupul este cunoscut pentru falsificarea lor.
4. Verificați exploatarea vulnerabilității în sine. Căutați în /var/log/auth.log intrări „Accepted publickey for vmanage-admin” provenite de la adrese IP neașteptate. Rulați request admin-tech pe fiecare componentă de control și re-scanați rezultatul cu funcția Check Bug Applicability pentru bug-ul CSCws52722 înainte de a deschide un tichet de suport.
5. Activați acoperirea IDS. Regulile Snort 2 de la 67387 la 67416 și regulile Snort 3 de la 7:44 la 7:73 detectează conexiunile de comandă și control KeyDrift; regulile 65938 și 65958 acoperă vulnerabilitatea. Noile reguli Snort 2 vin dezactivate implicit, așa că activați-le.
6. Planificați evacuarea, nu doar patch-ul. Ghidul de remediere al Cisco avertizează că exploatările deja prezente pot supraviețui unei actualizări. Dacă găsiți vreun indicator, porniți răspunsul la incident, urmați ghidul de securizare Catalyst SD-WAN și luați serios în calcul abordarea impusă de CISA agențiilor federale americane în februarie: redistribuiți Manager, Controller și Validator din imagini curate, corectate, și migrați routerele de margine pe noile instanțe. Rotirea cheilor dintre sedii este presupunerea prudentă, întrucât întregul scop al implantului este să păstreze copii ale lor.
Vulnerabilități ca aceasta stau de obicei pe echipamente pe care nimeni nu le scanează, pentru că sunt „echipamente de rețea”, nu servere. Serviciul nostru de scanare de vulnerabilități inventariază interfețele de management expuse de planurile de control SD-WAN, VPN și firewall și semnalează versiunile necorectate și porturile de management accesibile înainte ca un atacator cu un exploit funcțional să le găsească primul.
