Process Hacker est un excellent outil pour surveiller et étudier les processus créés par un malware. Cet outil d’analyse des malwares est apprécié des professionnels de la sécurité, car il peut extraire une multitude d’informations auprès des processus en cours d’exécution sur un appareil.
Cet article aborde les sujets suivants :
Qu’est-ce que Process Hacker ?
Process Hacker est un outil open source qui vous permet de connaître les processus qui sont exécutés sur un appareil, d’identifier les programmes qui consomment des ressources CPU et de voir les connexions réseau associées à un processus.
Ce sont ces fonctionnalités qui font de Process Hacker un outil idéal pour surveiller les malwares sur un appareil. En déterminant les processus qui sont créés et en identifiant les connexions réseau et les chaînes intéressantes dans la mémoire, il est possible de recueillir de précieux indicateurs de compromission (IOC) lors du triage d’une infection par un malware.
Les adresses IP et les domaines malveillants sont des atouts considérables lors de la réponse aux incidents. L’utilisation de Process Hacker pour recueillir ces informations permet d’identifier les hôtes compromis et de mettre en place des blocages proactifs afin de contenir une infection par malware.
L’outil Process Hacker est-il sûr ?
L’utilisation de Process Hacker est sûre à 100 %. Il est possible que certains fournisseurs d’antivirus le considèrent comme un « outil de piratage ». Pour cette raison, l’utilisation de Process Hacker peut déclencher des alertes dans les outils de sécurité de certaines organisations. Cela ne signifie pas qu’il contient un virus.
La valeur de hachage MD5 du fichier exécutable Process Hacker que j’utilise dans mon laboratoire d’analyse des malwares est « B365AF317AE730A67C936F21432B9C71 ».
Si vous recherchez cette valeur de hachage dans VirusTotal, vous verrez que certains fournisseurs d’antivirus l’ont identifiée comme malveillante :
Ainsi, si votre organisation utilise Symantec comme antivirus, Process Hacker sera considéré comme un outil malveillant et le fichier sera mis en quarantaine. Si vous n’utilisez pas l’un des antivirus ci-dessus mais une solution EDR, l’outil peut également être considéré comme malveillant, car 14 fournisseurs le classifient comme malveillant sur VirusTotal.
Cas d’utilisation et fonctionnement de Process Hacker
L’écran ci-dessous s’affiche par défaut lorsque vous lancez Process Hacker sur un appareil :
Le premier onglet, « Processes » (Processus) indique les processus qui sont exécutés sur l’appareil. Il contient les informations suivantes :
- Name : nom du processus qui est exécuté
- PID : identifiant du processus, à savoir un nombre unique attribué au processus
- CPU : indique la quantité de CPU consommée par le processus
- I/O total output : débit total en E/S
- Private bytes : octets privés
- User name : nom d’utilisateur du compte qui a été utilisé pour lancer le processus
- Description : description du processus
L’onglet « Processes » (Processus) utilise un code couleur pour identifier les processus répertoriés. Sélectionnez « Hacker » puis le menu « Options » pour consulter la légende des couleurs dans Process Hacker.
Le menu « Options » s’affiche.
Sélectionnez l’onglet « Highlighting » (Mise en surbrillance) pour savoir ce que chaque couleur représente :
Je ne vais pas expliquer ce que chaque couleur représente, mais cela permet d’identifier rapidement les processus système attendus et les processus packés, par exemple.
L’image ci-dessous montre les services identifiés par Process Hacker, les services exécutés en arrière-plan qui n’interagissent pas avec le bureau.
L’onglet « Services » affiche les informations suivantes :
- Name : nom du service identifié
- Display name : nom d’affichage du service
- Type : type du service identifié, par exemple Driver (Pilote)
- Status : statut du service, par exemple Running (En cours d’exécution)
- Start type : type de démarrage, par exemple Boot start
- Process : identifiant du service, le cas échéant
L’onglet « Network » (Réseau) est utile pour analyser les malwares, car les malwares essayent souvent de contacter l’infrastructure C2 des hackers (commande et contrôle).
L’onglet « Network » (Réseau) affiche les informations suivantes :
- Name : nom et identifiant du processus
- Local address : adresse locale
- Local port : port local utilisé par le processus
- Remote address : adresse distante à laquelle le processus se connecte
- Remote port : port distant de la connexion réseau
- Protocol : protocole utilisé par le processus
- State : état de la connexion réseau identifiée
- Propriétaire
L’onglet « Disk » (Disque) affiche des informations relatives aux fichiers sur le disque dur de l’appareil en cours d’utilisation :
L’onglet « Disk » (Disque) affiche les informations suivantes :
- Name : nom et identifiant du processus
- File : emplacement du fichier sur le disque
- Read rate average : taux de lecture moyen du disque dur en temps réel
- Write rate average : taux d’écriture moyen du disque dur en temps réel
- Total rate average : taux total moyen de sortie en lecture et en écriture
- I/O priority : priorité E/S
- Response time : temps de réponse
Identifier les chaînes dans la mémoire
L’une des fonctionnalités que je préfère dans Process Hacker est la possibilité d’extraire des chaînes intéressantes de la mémoire d’un processus qui a été créé par un malware.
Lorsque j’analyse un malware, je l’exécute souvent sur une machine virtuelle dotée d’une sandbox et conçue pour exécuter des malwares en toute sécurité. Lors de cette étape de mon analyse, je m’assure que Process Hacker est exécuté afin d’examiner la mémoire d’un processus en faisant un clic droit sur le nom du processus et en sélectionnant « Properties » (Propriétés).
Dans l’exemple ci-dessous, j’ai exécuté un exemple de malware Emotet qui a créé le processus « smsfwdr.exe ».
La fenêtre suivante s’ouvre et l’onglet « General » (Général) s’affiche par défaut :
Sélectionnez l’onglet « Memory » (Mémoire).
Cliquez sur le bouton « Strings » (Chaînes) pour pouvoir rechercher ensuite les chaînes dans la mémoire.
Cliquez sur « OK ». Toutes les chaînes contenues dans la mémoire s’affichent pour le processus sélectionné.
Pour faciliter l’identification des indicateurs de compromission des malwares, j’utilise des expressions régulières en cliquant sur le bouton « Filter » (Filtrer) et en sélectionnant « Regex (case-insensitive) » (Expression régulière (non sensible à la casse)).
Je peux ensuite saisir un modèle d’expression régulière. Dans cet exemple, je recherche des adresses IP et j’ai utilisé l’expression régulière suivante :
(?:(?:\d|[01]?\d\d|2[0-4]\d|25[0-5])\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d|\d)(?:\/\d{1,2})?
Toutes les chaînes qui correspondent au modèle d’expression régulière sont ensuite retournées. L’image ci-dessous contient plusieurs faux positifs, mais il y a aussi plusieurs adresses IP qui tentent de se connecter à l’infrastructure C2 des hackers sur le protocole HTTP.
Ceci est un excellent cas d’utilisation pour Process Hacker, car je peux maintenant vérifier si ces adresses IP sont bloquées par les contrôles de sécurité de mon entreprise et effectuer des vérifications afin de m’assurer qu’aucun appareil ne communique avec ces adresses IP.
Je peux également utiliser d’autres modèles d’expression régulière pour rechercher d’autres informations telles que des URL :
([A-Za-z]+://)([-\w]+(?:\.\w[-\w]*)+)(:\d+)?(/[^.!,?”<>\[\]{}\s\x7F-\xFF]*(?:[.!,?]+[^.!,?”<>\[\]{}\s\x7F-\xFF]+)*)?
Identifier le trafic réseau à partir de processus en cours d’exécution
Lors de l’analyse d’un malware, vous voudrez peut-être déterminer les connexions qui sont établies par un processus spécifique afin de comprendre le comportement du malware.
En utilisant le même malware que dans le cas d’utilisation précédent, j’ai sélectionné l’onglet Network (Réseau) et j’ai saisi à droite le nom du processus qui m’intéresse, à savoir « smsfwdr ».
Tous les autres processus sont alors masqués et Process Hacker affiche uniquement le trafic réseau pour ce processus.
Il s’agit d’un autre excellent moyen d’identifier les adresses IP C2 malveillantes ainsi que les ports locaux et de destination utilisés par les hackers.
Comment installer Process Hacker
Vous pouvez télécharger Process Hacker à partir du site Web officiel où se trouve un lien vers la page de téléchargement.
Dans la section de téléchargement, vous pouvez choisir de télécharger un fichier d’installation ou un fichier binaire portable. Dans cet exemple, j’ai choisi le fichier exécutable d’installation.
Une fois que vous avez téléchargé le fichier d’installation, double-cliquez sur le fichier exécutable et sélectionnez « Run » (Exécuter).
La fenêtre contextuelle UAC s’affiche et vous êtes invité(e) à autoriser Process Hacker à apporter des modifications à votre appareil. Sélectionnez « Yes » (Oui).
Acceptez l’accord de licence en sélectionnant « Next » (Suivant) :
Choisissez l’emplacement d’installation de Process Hacker et sélectionnez « Next » (Suivant) :
Sélectionnez les composants à installer, puis « Next » (Suivant). Tous les composants sont sélectionnés par défaut.
Choisissez l’emplacement des raccourcis du programme et sélectionnez « Next » (Suivant) :
Sélectionnez des tâches supplémentaires :
Sélectionnez « Finish » (Terminer) pour terminer l’installation et lancer Process Hacker :
Quelques réflexions pour conclure :
J’aime beaucoup Process Hacker et je l’utilise à chaque fois que j’analyse le comportement d’un malware. Si cet article vous a été utile, lisez cet article de blog où je parle de mes outils préférés d’analyse des malwares ainsi qu’un article récent sur Autoruns, qui est un excellent outil pour comprendre comment le malware essaye de rester présent sur un appareil compromis.
Si vous voulez en savoir plus sur la façon de protéger votre organisation contre les malwares, je vous conseille de lire cet article sur la protection contre les malwares et de consulter la page sur la solution de détection et de réponse aux menaces de Varonis qui a pour but de réduire considérablement le temps nécessaire pour détecter les cyberattaques et y répondre.
Que dois-je faire maintenant ?
Vous trouverez ci-dessous trois solutions pour poursuivre vos efforts visant à réduire les risques liés aux données dans votre entreprise:
Planifiez une démonstration avec nous pour voir Varonis en action. Nous personnaliserons la session en fonction des besoins de votre organisation en matière de sécurité des données et répondrons à vos questions.
Consultez un exemple de notre évaluation des risques liés aux données et découvrez les risques qui pourraient subsister dans votre environnement. Cette évaluation est gratuite et vous montre clairement comment procéder à une remédiation automatisée.
Suivez-nous sur LinkedIn, YouTube et X (Twitter) for pour obtenir des informations sur tous les aspects de la sécurité des données, y compris la DSPM, la détection des menaces, la sécurité de l’IA et plus encore.