Procmon (Process Monitor) est un outil gratuit de SysInternals qui permet de suivre l’activité des processus et même d’effectuer du monitoring Windows.
Procmon et de suivre l’activité réseau, disque, processus Windows et du registre Windows. Procmon est donc capable d’indiquer les fichiers lus ou écrits sur le disques, les connexions réseaux effectuées et les adresses du registres lues ou écrites.
Procmon est donc idéal pour suivre l’activité d’une application en cas de doute, déterminer quel programme est à l’ouverture de fenêtre intempestives etc.
Introduction
Procmon est un simple exe qui liste l’activité disque, réseau et registre Windows.
Pour télécharger Procmon, utilisez ce lien : Télécharger Process Monitor
Décompressez l’archive et lancez Procmon.exe
Vous obtenez alors la fenêtre et l’activité système défile :
Plus vous avez de programmes en cours d’exécution, plus la liste va défiler rapidement, puisque l’activité de Windows et des applications est plus importante.
Il est toutefois possible de filtrer sur certains processus ou activité.
De plus, Procmon permet d’enregistrer l’activité dans un fichier qui peut être ouvert depuis un Procmon d’un autre ordinateur.
Présentation
Ce qu’il faut bien comprendre, c’est que Procmon capture les événements systèmes.
Ces événements sont composés de processus qui effectue des actions, lecture ou écriture de fichiers, lecture ou écriture de clé dans le registre, connexion réseaux etc.
Le menu File puis Capture Events indique si Procmon est en train de capture ou non les éléments systèmes, le menu Capture Events est coché.
On peut donc arrêter à tout moment la capture des événements en décochant ce menu ou par la combinaison de touche CTRL+E
Il est ensuite possible de filtrer les éléments capturés sur certains composants systèmes :
Dans l’ordre, on obtient :
capture les événements liés au registre Windows (lecture, modification, écriture de clé)
capture les événements liés au disque (lecture, écriture, modification de fichiers sur le disque)
capture les événements liés au réseau (connexions entrantes et sortantes et protocole)
capture les événements liés aux processus Windows (ouverture, fermeture de processus)
permet de regrouper les événements par processus, ce qui est idéal pour suivre l’activité des processus
En exemple sur cette capture d’écran de Procmon, explorer.exe qui accès à plusieurs fichiers DLL pendant que Firefox effectue une connexion à un site sécurisé (HTTPs)
et ci-dessous svchost.exe qui lit des clés Winsock, Firefox qui écrit dans son cache internet.
Filtrer les événements
Procmon permet ensuite de filtrer les événements, cela est très intéressant lorsque vous cherchez quelque chose de particulier, car on se trouve très vite avec une multitudes d’évènements.
Le menu Filter > Filter ou combinaison de touche CTRL+L permet de gérer les filtres.
Le principe est simple, vous filtrer sur un élément que vous pouvez inclure ou exclure.
Comme vous pouvez le voir, il est possible de filtrer sur pas mal d’éléments.
Exemple, ci-dessous avec cet instance de svchost.exe malveillante.
On peut filtrer sur le processus svchost.exe
Cependant, on se retrouve avec une longue liste dû à tous les svchost.exe en cours d’exécution.
On peut alors filtrer sur le PID (le numéro du processus) qui d’après Process Explorer est 744.
On désactive le premier filtre sur le nom de processus svchost.exe
Et on ajoute un filtre actif sur le PID 744.
on filtre alors que sur l’instance malveillante de svchost.exe qui effectue une connexion sortante toutes les deux minutes.
En manipulant comme il faut les filtres et avec la pratique, on arrive à afficher ce que l’on veut pour trouver l’information que l’on recherche.
Comme vous pouvez aussi le voir, le menu Filter permet d’exporter ses filtres, si vous voulez les importer sur un autre ordinateur muni de ProcMon.
Enregistrer la capture
Il est possible d’enregistrer sa capture.
Le fichier peut être assez volumineux, si vous avez laisser tourner ProcMon longtemps et que beaucoup d’évènements sont présents.
Cliquez sur le menu File puis Save.
Le format par défaut est PML… vous pouvez enregistrer au format CSV (lisible par Excel ou OpenOffice) ou encore XML.
Par défaut le fichier est proposé en enregistrement dans le dossier C:\Windows\system32
Vous pouvez cliquer sur le bouton […] pour enregistrer par exemple sur le bureau.
Exemple d’utilité de Procmon
Outre le fait que Procmon permet de suivre l’activité système et donc de savoir si votre ordinateur est infecté : Comment vérifier si ordinateur a été hacké ou piraté ?
Quelques liens de problèmes courants en rapport à ce tuto, notamment il s’agit de problème d’ouverture de fenêtre.
Il est souvent difficile de savoir la source de ces ouvertures de fenêtres.
Pour une fenêtre qui reste ouverte, Process Explorer permet facilement quel processus en est la source : Trouver le processus lié à une fenêtre
Souvent, les utilisateurs Windows sont confrontés à des ouvertures fenêtre cmd intempestives.
Il existe un tuto qui explique comment les traquer à l’aide de Procmon : Comment tracer les ouvertures de cmd.exe
Liens autour du suivi d’activité système Windows
Les tutos du site autour de l’activité système et le monitoring Windows :
- Monitorer l’activité système ou d’un programme
- Lister les connexions réseau sur Windows
- Tutoriel Process Explorer | malekal’s site : un gestionnaire de tâches avancé qui permet de suivre l’activité des processus