Operation Highland: Velvet Ant spia una rete air-gapped per 10 anni backdoorando PAM e OpenSSH
@Informatica (Italy e non Italy)
Il gruppo cinese Velvet Ant ha mantenuto accesso continuativo per quasi un decennio a una rete di infrastrutture critiche isolata da internet, compromettendo i moduli PAM e i binari OpenSSH. La ricerca di Sygnia rivela come
Operation Highland: Velvet Ant spia una rete air-gapped per 10 anni backdoorando PAM e OpenSSH
Si parla di:
TogglePer quasi un decennio, un gruppo di spionaggio informatico legato alla Cina ha operato indisturbato all’interno di una rete isolata di infrastrutture critiche, compromettendo il cuore stesso del meccanismo di autenticazione Linux. La scoperta, firmata dai ricercatori di Sygnia, racconta di una pazienza operativa rara e di una sofisticazione tecnica che ridefinisce il concetto di persistenza avanzata.
Velvet Ant: chi è e cosa ha fatto in precedenza
Velvet Ant è un cluster di attività di cyberspionaggio attribuito a un attore nation-state cinese, già documentato da Sygnia nel 2024 in una campagna che aveva preso di mira dispositivi F5 BIG-IP rimasti compromessi per tre anni senza essere rilevati. Nello stesso anno, Cisco aveva segnalato lo sfruttamento di uno zero-day nei propri switch NX-OS da parte dello stesso gruppo. La nuova ricerca, denominata Operation Highland, supera però per portata e durata tutto ciò che era stato osservato in precedenza: dieci anni di accesso continuativo a una rete air-gapped di infrastrutture critiche appartenente a una grande organizzazione.La catena di attacco: dall’esterno alla rete isolata
L’intrusione ha avuto inizio nel 2016 con la compromissione di server esposti su internet. Su questi sistemi, Velvet Ant ha distribuito una versione modificata di GS-Netcat, uno strumento legittimo per creare tunnel cifrati, trasformato in una reverse shell persistente. Il file veniva mascherato come utility di sistemaauditdbe collocato in/usr/sbin/, stabilendo la persistenza tramite un servizio systemd malevolo oppure modificando gli script di avvio SysVinit a seconda del sistema.Per muoversi lateralmente senza generare traffico diretto verso internet, gli attaccanti hanno installato un proxy SOCKS5 scritto in Perl che mascherava il proprio processo come
smbd -D, usando filename, porte e nomi di processo diversi su ogni host per ostacolare il rilevamento.La parte più sofisticata riguarda però la costruzione del percorso di accesso verso la rete isolata. Velvet Ant ha modificato la configurazione di un server Nginx internet-facing per proxare richieste HTTP specificamente costruite verso un server backend compromesso. Questo backend aveva a sua volta Nginx configurato per inoltrare le richieste a un processo FastCGI (
fcgiwrap) in ascolto su una porta separata. Il FastCGI wrapper agiva come bridge di esecuzione, lanciando un binario personalizzato chiamatouptimeche stabiliva connessioni SSH verso sistemi nella rete isolata, usando parametri forniti tramite HTTP POST.“Concatenando queste modifiche, Velvet Ant ha stabilito un percorso di esecuzione remota nell’ambiente segregato tramite semplici richieste HTTP, senza mai richiedere una connessione diretta alla rete di infrastrutture critiche.” — Sygnia
Il colpo di genio: backdoor nell’autenticazione Linux
Una volta ottenuto l’accesso alla rete isolata, Velvet Ant ha spostato il focus verso la persistenza a lungo termine e la raccolta di credenziali, attaccando direttamente il sistema di autenticazione Linux: i Pluggable Authentication Modules (PAM).I ricercatori di Sygnia hanno identificato nove varianti distinte del modulo malevolo
pam_unix.so, ciascuna compilata in un ambiente di build separato — un indicatore di un attore con risorse abbondanti e operativamente disciplinato. Alcune varianti funzionavano come backdoor pura, accettando una password hardcoded che consentiva l’accesso bypassando l’autenticazione normale. Altre raccoglievano e memorizzavano localmente le credenziali di tutti gli utenti in un file nascosto.In parallelo, gli attaccanti hanno sostituito i componenti di OpenSSH — inclusi
ssh,sshdescp— con versioni trojanizzate capaci di:
- Catturare e registrare le password utilizzate nelle sessioni SSH
- Loggare tutti i comandi eseguiti dagli amministratori
- Nascondere le tracce dell’attività degli attaccanti
- Disabilitare SELinux quando avviati con privilegi root
- Permettere agli stessi attaccanti di disattivare il logging delle proprie sessioni tramite un flag speciale
Velvet Ant ha inoltre aggiunto le proprie chiavi pubbliche SSH negli
authorized_keysdei server compromessi, garantendosi un accesso persistente senza password indipendente dai moduli PAM manipolati.Dieci anni invisibili: perché il rilevamento era così difficile
La scelta di compromettere i componenti di autenticazione stessi, piuttosto che distribuire malware convenzionale, ha rappresentato il fattore chiave nella longevità dell’operazione. I tool di sicurezza cercano processi anomali e comunicazioni di rete sospette: un’autenticazione PAM modificata che accetta una password hardcoded sembra semplicemente un login legittimo. I log di sistema mostravano accessi normali. Non c’erano payload da rilevare, non c’erano connessioni C2 evidenti dall’interno della rete isolata.L’uso di nomi di file, porte e nomi di processo differenti su ogni host rendeva impossibile correlare l’attività attraverso la rete senza una visione completa e coordinata dell’intero ambiente.
Il cleanup: più pericoloso della compromissione
Sygnia descrive la fase di remediation come particolarmente complessa. Velvet Ant aveva sostituito tanti componenti critici con versioni personalizzate che la loro rimozione scorretta avrebbe potuto bloccare l’accesso degli amministratori legittimi, causando interruzioni operative in sistemi di infrastruttura critica.Il team di risposta ha dovuto costruire un laboratorio di test per validare il processo di sostituzione dei binari, profilare ogni host per identificare le versioni corrette dei componenti, testare le procedure di ripristino e preparare rollback prima di tentare qualsiasi intervento in produzione. Ogni step veniva validato verificando che l’autenticazione SSH continuasse a funzionare correttamente.
Indicatori di compromissione e due righe difensive
Sygnia raccomanda di trattare componenti come PAM, OpenSSH e Windows LSASS come asset di sicurezza critici da proteggere con:
- File Integrity Monitoring (FIM) sui binari di autenticazione e sui moduli PAM
- EDR con regole specifiche per modifiche a
/lib/security/pam_unix.so,/usr/sbin/sshd,/usr/bin/ssh- MFA obbligatoria per l’accesso privilegiato, anche in reti air-gapped
- Backup immutabili verificati periodicamente con procedure di ripristino testate offline
- Monitoring delle chiavi SSH nei file
authorized_keyssu tutti i server
# File e percorsi da monitorare con FIM /lib/security/pam_unix.so /lib/x86_64-linux-gnu/security/pam_unix.so /usr/sbin/sshd /usr/bin/ssh /usr/bin/scp /etc/ssh/sshd_config /root/.ssh/authorized_keys /home/*/.ssh/authorized_keys # Processi sospetti identificati nell'operazione smbd -D # proxy SOCKS5 mascherato uptime # binario custom per SSH verso rete isolata auditdb # GS-Netcat reverse shell # Pattern di accesso sospetto # Login PAM con password non corrispondente agli hash in /etc/shadow # Sessioni SSH con flag speciali non documentati # Traffico HTTP verso Nginx con parametri POST insoliti verso backend interni
Operation Highland dimostra che la sicurezza delle reti air-gapped non può essere data per scontata. Quando un attore sufficientemente motivato riesce a ottenere l’accesso iniziale, la mancanza di connettività internet non è un ostacolo insuperabile: è semplicemente un problema da risolvere con creatività tecnica. E come questa operazione mostra, quella creatività può restare nascosta per un decennio.