Page 1 of 1

Cours sur la détection de malware via les outils Process Explorer et Autorus

Posted: Tue Jan 20, 2026 1:14 pm
by Hydraxx
Ce cours a pour objectif de te donner une **méthodologie concrète** pour analyser un système Windows suspect, en utilisant **Process Explorer** et **Autoruns**, comme le font les analystes malware en pratique.
On ne parle pas de théorie abstraite, mais de **signaux réels**, **erreurs classiques** et **contre-mesures**.

---

## 1. Comprendre les processus Windows avant toute analyse

Avant de chercher un malware, il faut **savoir ce qui est normal**.

### 1.1 Processus système légitimes (les bases)

Quelques exemples typiques :

* `System`
* `smss.exe`
* `csrss.exe`
* `wininit.exe`
* `services.exe`
* `lsass.exe`
* `svchost.exe`
* `explorer.exe`

Points essentiels :

* Leur **chemin est toujours cohérent** (System32, WinSxS, etc.)
* Ils sont **signés par Microsoft**
* Ils ont une **hiérarchie logique** (parent / enfant)

Un `lsass.exe` lancé depuis `C:\Users\...` est **forcément suspect**.

---

### 1.2 Processus non signés et noms bizarres

Un malware utilisateur mode se trahit souvent par :

* Un **nom proche d’un processus légitime**
(`svch0st.exe`, `expl0rer.exe`, `lsasss.exe`)
* Un **nom aléatoire**
(`xYp9Q.exe`, `a8f3.exe`)
* Une **absence de signature numérique**

Un binaire non signé n’est pas automatiquement malveillant,
mais **un binaire non signé + persistance + comportement anormal = alerte**.

Exemple d'un virus non signé facilement repérable :

Image

---

## 2. Analyse avec Process Explorer

Process Explorer est l’outil central pour comprendre **ce qui tourne réellement en mémoire**.

---

### 2.1 Vue arborescente (Process Tree View)

La vue en arbre est **fondamentale**.

À vérifier :

* Qui a lancé le processus ?
* Est-ce cohérent ?
* Y a-t-il une chaîne étrange ?

Exemple suspect :

```
explorer.exe
└── svch0st.exe
└── powershell.exe
```

Un `powershell.exe` lancé par un faux `svchost` est un **signal fort**.

---

### 2.2 Chemin du fichier (Image Path)

Toujours vérifier :

* Chemin exact du binaire
* Droits NTFS
* Date de création

Chemins classiques suspects :

* `C:\Users\Public\`
* `C:\ProgramData\`
* `C:\Users\<user>\AppData\Roaming\`
* `C:\Temp\`

Attention :
Un **processus injecté** peut avoir un chemin légitime mais un **contenu mémoire altéré**.

---

### 2.3 Détection des injections

Un malware peut :

* S’injecter dans `explorer.exe`
* S’injecter dans un navigateur
* S’injecter dans `svchost.exe`

Signes d’injection :

* DLL non Microsoft chargées dans un processus système
* DLL situées hors de `System32`
* Modules chargés sans signature

Dans Process Explorer :

* Onglet **DLLs**
* Vérifier **éditeur**, **chemin**, **cohérence**

Exemple d'injection dans runtimebroker :

Image

---

### 2.4 Diagnostic des rootkits user-mode

Les rootkits user-mode ne sont pas invisibles au kernel, mais :

* Ils masquent des processus via API hooking
* Ils injectent des DLL dans les processus visibles

Indices :

* DLL inconnues injectées dans plusieurs processus
* Hooks sur `ntdll.dll`
* Processus qui disparaissent dans certains outils mais pas tous

Comparer :

* Process Explorer
* Gestionnaire de tâches
* Autres outils d’analyse

vue des dll utilisées par un processus :

Image

---

## 3. Analyse de la persistance avec Autoruns

Autoruns permet de répondre à une question clé :
**“Comment le malware survit aux redémarrages ?”**

---

### 3.1 Signature des binaires

Première règle :

* Activer **Hide Microsoft Entries**
* Trier par **Publisher**

Tout ce qui est :

* Non signé
* Éditeur inconnu
* Chargé au démarrage
doit être analysé.

---

### 3.2 Chemins de persistance à surveiller

Zones critiques :

* Run / RunOnce
* Services
* Scheduled Tasks
* Winlogon
* AppInit DLLs
* Explorer extensions

Un malware sérieux n’utilise **pas qu’une seule clé**.

Exemple d'un malware qui se lance au démarrage:

Image

---

### 3.3 VirusTotal intégré

Autoruns permet :

* Le hash du binaire
* La vérification VirusTotal

Attention :

* Un score **0/70 ne garantit rien**
* Un malware récent peut être indétecté

VirusTotal est un **indice**, pas une preuve.

---

### 3.4 Rootkits user-mode et masquage du registre

Certains malwares :

* Cachent leurs clés registre
* Injectent du code pour filtrer l’API registre

Indices :

* Différences entre Autoruns et inspection offline
* Clés absentes mais fichiers présents
* Persistance visible en mémoire mais pas sur disque

Toujours corréler :

* Autoruns
* Process Explorer
* Analyse mémoire

---

## 4. Méthodologie réelle d’analyse

Ordre recommandé :

1. Process Explorer

* Process tree
* Signatures
* DLL injectées
2. Autoruns

* Persistance
* Signature
* VirusTotal
3. Corrélation

* Processus ↔ clé de démarrage
* Parent ↔ enfant
4. Hypothèse malware

* Injection ?
* Persistence multiple ?
* Masquage ?

---

## 5. Points clés à retenir

* Un malware **ne peut pas tout cacher**
* Les incohérences sont toujours visibles
* La signature est un **signal fort**
* Le parent d’un processus dit souvent toute l’histoire
* Les rootkits user-mode trahissent leur présence par les DLL

---

## Conclusion

Process Explorer montre **ce qui s’exécute sur le système**.
Autoruns montre **les programmes qui se lancent au démarrage**.

Un analyste efficace ne cherche pas un virus,
il cherche une **anomalie logique dans le système**.

Quand tu comprends le système,
le malware la plupart des malwares sont facilement repérable!