HAProxy Trojanizzato in Corea del Sud: backdoor “ted” intercetta traffico e nasconde il C2 nei log
Featured

HAProxy Trojanizzato in Corea del Sud: backdoor “ted” intercetta traffico e nasconde il C2 nei log

Un nuovo toolkit Linux finora non documentato è stato individuato all’interno di build trojanizzate di HAProxy utilizzate come load balancer in due organizzazioni della Corea del Sud. Invece di sfruttare una vulnerabilità di HAProxy, gli attaccanti avrebbero ottenuto esecuzione di codice sul server e poi sostituito il binario in esecuzione, inserendo un impianto chiamato ted, nome emerso da stringhe di debug presenti nel file.

L’obiettivo principale della backdoor è intercettare il traffico web e servire pagine modificate solo a visitatori selezionati. La parte più insidiosa è il modo in cui il canale di comando e controllo viene nascosto: alcune richieste non vengono mai inoltrate ai server di backend e vengono anche rimosse dai contatori interni delle connessioni di HAProxy. In questo modo, né i log applicativi a valle né le statistiche del bilanciatore evidenziano l’attività malevola, rendendo più difficile la rilevazione con i controlli tradizionali.

Il passaggio in modalità C2 avviene quando viene richiesto uno specifico percorso immagine. A quel punto il malware scrive il contenuto del comando in una named pipe sotto /tmp, azzera il canale di richiesta per non lasciare nulla da inoltrare e termina lo scambio direttamente sul load balancer. La risposta torna al client su socket grezzo con un header HTTP/1.0 200 OK, così la comunicazione appare come normale traffico web. Tramite questo canale l’operatore può eseguire comandi shell, caricare e scaricare file e aggiornare la configurazione.

La consegna di contenuti alterati è filtrata con più controlli, tra cui User-Agent, regole su URL e referer e un meccanismo di selezione basato su whitelist di indirizzi IP verificata anche a livello /24. In alternativa, una chiave operatore nell’header Accept-Language può bypassare il filtro per indirizzo. Per mascherare le modifiche, l’impianto riscrive Content-Type e Content-Length, forza lo status code a 200 e rimuove Accept-Ranges per impedire richieste a byte-range che potrebbero rivelare variazioni di dimensione.

Tra le tecniche di persistenza e copertura sono stati osservati componenti che si installano solo se HAProxy o cron sono già presenti, verificano i privilegi root, sovrascrivono binari legittimi e ripuliscono cronologia bash e diversi log di sistema. Sono citati anche altri binari trojanizzati e un RAT associato che effettua beaconing a intervalli lunghi, con variazioni controllate dall’operatore.