Analyse d'Artefact : BITS (Background Intelligent Transfer Service)
1. L’attrait de BITS pour les adversaires
Section intitulée « 1. L’attrait de BITS pour les adversaires »Pour comprendre pourquoi BITS est un incontournable des cyberattaques modernes (des affiliés de ransomwares aux groupes APT), les analystes doivent observer ses avantages architecturaux :
- Exécution de confiance (Contournement de pare-feu) : les transferts BITS sont exécutés par un service Windows légitime hébergé au sein de
svchost.exe -k netsvcs. Les pare-feux hôtes et les EDR bloquent rarement le trafic HTTP/HTTPS sortant provenant de ce processus central du système d’exploitation, ce qui en fait un proxy idéal pour récupérer des charges utiles malveillantes. - Résilience extrême : BITS est conçu pour gérer les interruptions réseau. Si une machine redémarre ou perd sa connexion, la tâche (job) BITS est mise en pause et reprendra automatiquement une fois la connectivité rétablie. Cela fournit une persistance native pour le processus de téléchargement/téléversement.
- Furtivité (Bande passante inactive) : BITS donne la priorité à l’expérience utilisateur en n’utilisant que la bande passante “inactive”. Cela évite les pics de trafic massifs qui alerteraient normalement les outils de surveillance réseau (NDR) lors de l’exfiltration de données.
- Exécution de commande (Persistance) : BITS prend en charge une fonctionnalité appelée
SetNotifyCmdLine. Un attaquant peut configurer un job BITS pour exécuter une commande ou un script spécifique immédiatement après qu’un transfert se termine ou échoue, transformant un simple gestionnaire de téléchargement en un mécanisme de persistance hautement fiable.
2. Emplacement et structure de l’artefact
Section intitulée « 2. Emplacement et structure de l’artefact »L’activité de BITS est principalement tracée à deux endroits : une base de données interne et des journaux d’événements Windows dédiés.
A. La base de données BITS (qmgr.db)
Section intitulée « A. La base de données BITS (qmgr.db) »L’artefact forensique central est la base de données active du gestionnaire de file d’attente (queue manager).
- Chemin :
C:\ProgramData\Microsoft\Network\Downloader\qmgr.db(les anciens systèmes peuvent utiliserqmgr0.datetqmgr1.dat). - Format : base de données Extensible Storage Engine (ESE).
- Valeur forensique : cette base de données conserve un historique des jobs BITS. L’extraction et l’analyse de ce fichier révèlent :
- Le nom du job et sa description.
- L’URL source (le serveur C2 externe ou de staging).
- Le chemin de destination (où la charge utile a été déposée sur le disque).
- Les horodatages (création, modification, achèvement).
- La ligne de commande de notification (toute charge utile exécutée à la fin du job).
- Le SID utilisateur du compte ayant demandé le job.
B. Journaux d’événements Windows
Section intitulée « B. Journaux d’événements Windows »BITS maintient un journal opérationnel qui trace le cycle de vie de chaque transfert.
- Chemin du journal :
Journaux des applications et des services > Microsoft > Windows > Bits-Client > Operational - ID d’événements clés :
- Événement 59 : BITS a démarré un travail de transfert. (contient l’URL et le fichier de destination).
- Événement 60 : BITS a arrêté le transfert de données. (indique l’achèvement ou l’échec).
- Événement 16411 : (sur Windows 10/11 moderne) fournit un contexte riche, y compris le nom du processus ayant initié la demande de job.
3. Stratégie d’investigation DFIR
Section intitulée « 3. Stratégie d’investigation DFIR »Lors de l’investigation d’une compromission suspectée, l’analyse de BITS fournit le lien critique entre l’activité réseau et l’exécution de fichiers.
- Acquérir et parser la base de données : parce que
qmgr.dbest une base de données ESE active, elle est verrouillée par l’OS. Les analystes doivent utiliser un lecteur de disque brut ou un cliché instantané (VSS) pour l’acquérir. Une fois acquise, utilisez un outil spécialisé commeBitsParserou KAPE pour convertir les tables ESE en un CSV lisible. - Analyser les artefacts : examinez la base de données parsée à la recherche d’extensions de destination anormales. Un job BITS qui télécharge un fichier
.datou.txtmais l’enregistre sur le disque sousC:\Users\Public\update.exeest un indicateur de compromission définitif. - Corrélation croisée des artefacts :
- Pivot réseau : prenez les URL sources extraites et interrogez les journaux de votre proxy/pare-feu pour identifier d’autres hôtes infectés.
- Pivot d’exécution : prenez le chemin de destination et interrogez le Prefetch (.pf) et l’Amcache pour prouver si la charge utile déposée a été exécutée par la suite.
4. Détection et Threat Hunting
Section intitulée « 4. Détection et Threat Hunting »Bien que l’analyse de la base de données soit une activité post-mortem, les analystes SOC peuvent chasser proactivement les abus de BITS en surveillant la télémétrie d’exécution des processus. Les adversaires interagissent généralement avec BITS en utilisant l’outil hérité bitsadmin.exe ou la cmdlet PowerShell moderne Start-BitsTransfer.
// Détecte l'utilisation suspecte de bitsadmin.exe et des cmdlets BITS PowerShellDeviceProcessEvents| where ProcessCommandLine has_any ("bitsadmin", "Start-BitsTransfer")// Recherche des indicateurs malveillants courants| where ProcessCommandLine has_any ("/transfer", "/create", "/addfile", "/SetNotifyCmdLine")// Filtrer les scripts administratifs attendus si nécessaire| where InitiatingProcessFileName !in~ ("sccm.exe", "msiexec.exe")| project TimeGenerated, DeviceName, InitiatingProcessAccountName, FileName, ProcessCommandLine| sort by TimeGenerated desctitle: Téléchargement Suspect via BITSAdminid: 1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6dstatus: stabledescription: Détecte l'utilisation de bitsadmin.exe pour télécharger des fichiers, une technique LOLBAS courante pour la préparation des charges utiles.logsource: category: process_creation product: windowsdetection: selection: Image|endswith: '\bitsadmin.exe' CommandLine|contains|all: - '/transfer' - 'http' # Optionnel : Ajouter une condition pour détecter SetNotifyCmdLine pour la persistance selection_persist: Image|endswith: '\bitsadmin.exe' CommandLine|contains: '/SetNotifyCmdLine' condition: selection or selection_persistlevel: hightags: - attack.defense_evasion - attack.t1197Références et lectures complémentaires
Section intitulée « Références et lectures complémentaires »- Projet LOLBAS : BITSAdmin.exe
- FireEye / Mandiant : Tracking Malware with BITS
- Artefact lié : Événement 4688 (Création de processus)
- Artefact lié : Amcache & RecentFileCache