Creusement des procédés

  • Aperçu: Le videment des processus est une technique d’injection de code spécifique et relativement sophistiquée utilisée pour dissimuler un code malveillant dans l’espace d’adressage virtuel d’un processus légitime, donnant l’impression que seul le processus légitime s’exécute.

  • Mécanisme:

    1. Créer un processus de suspension : L’attaquant lance une nouvelle instance d’un processus Windows légitime et de confiance (par exemple, , , ) mais le crée en état suspendu en utilisant le drapeau avec .svchost.exe explorer.exe notepad.exe CREATE_SUSPENDED CreateProcess

    2. Annuler le code légitime : La région mémoire contenant le code original légitime du processus suspendu est alors décartée ou déallouée de force à l’aide de fonctions comme ou . Cela « creuse » l’espace d’adressage du processus.NtUnmapViewOfSection ZwUnmapViewOfSection

    3. Allouer une nouvelle mémoire : Une nouvelle mémoire est allouée dans l’espace d’adressage désormais vide du processus vidé en utilisant .VirtualAllocEx

    4. Injecter du code malveillant : Le code malveillant de l’attaquant (qui doit être un exécutable PE complet, souvent emballé) est écrit dans cette nouvelle région mémoire allouée en utilisant .WriteProcessMemory

    5. Redirection de l’exécution : Le contexte d’exécution du thread principal du processus suspendu est modifié (en utilisant et ) de sorte que son pointeur d’instruction (par exemple, registre RIP/EIP) pointe vers le point d’entrée du code malveillant injecté au lieu du point d’entrée du processus d’origine.GetThreadContext SetThreadContext

    6. Processus de CV : Le processus de suspension reprend enfin en utilisant . Il commence alors à exécuter le code malveillant, mais du point de vue du système d’exploitation (et dans des outils comme le Gestionnaire des tâches), il semble toujours être le processus légitime d’origine (par exemple, ).ResumeThread svchost.exe

  • Pourquoi les tricheurs l’utilisent : Principalement pour la discrétion et l’évasion. Il masque effectivement la présence de l’exécutable malveillant (la triche) en l’exécutant sous l’identité d’un processus système de confiance. Cela peut contourner la liste blanche des processus, la simple surveillance des processus, et rendre la triche plus difficile à détecter dans une liste de processus en cours.

  • Détection: La détection du creux de processus nécessite généralement une analyse de mémoire ou une surveillance comportementale avancée : Remarque : Pour créer un Process Hollow, il faut un fichier exécutable qui en creuse un autre. Évidemment, la façon la plus simple de prouver qu’un processus est creux est de prouver qu’un ex-exécutif servant de creux a été lancé. Si cet exe a été lancé via l’injection sans fichiers, alors le prouver via la méthode de détection de l’injection sans fichier est la solution

    • Analyse de la mémoire (volatilité) : Les plugins comme celui-ci sont spécifiquement conçus pour détecter des indicateurs courants de creusement des processus, tels que les divergences entre le processus listé dans le PEB (Process Environment Block) et le code réel trouvé en mémoire, ou l’identification des processus avec des sections exécutables non cartographiées. Peut aussi signaler la région du code injecté.hollowfind malfind

    • Inspection de la mémoire des processus (System Informer) : Comparez le chemin de processus listé dans System Informer avec les modules réels et le contenu mémoire. Trouver du code exécutable dans des régions de mémoire privée qui ne correspond pas aux modules légitimes du processus hôte est indicatif. L’absence du module principal du processus original dans la liste des modules chargés pourrait aussi être un indice.

    • Anomalie de prélecture : Comme mentionné précédemment, parfois le creux des processus peut entraîner un champ « Chemin exécutable » vide ou manquant dans l’entrée de prélecture du processus hôte.

    • Dump en direct du noyau : L’analyse des chaînes dans un dump noyau peut révéler des traces laissées par l’outil ou le script utilisé pour effectuer le processus de videment lui-même (par exemple, des appels API liés à la création de processus, au démappage et à la modification du contexte). La recherche spécifique des mots-clés de dump présents dans les commandes a été notée comme potentiellement corrélée à certains outils ou techniques de videment.

Mis à jour