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 :

---
## 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 :

---
### 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 :

---
## 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:

---
### 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!
