Premiers pas avec ramparser
3 min de lecture
ramparser est un outil d'analyse forensique mémoire de style Volatility qui s'exécute entièrement dans le navigateur. L'image que vous sélectionnez ne quitte jamais l'appareil : aucun envoi, aucune analyse côté serveur, aucune télémétrie. La raison de cette conception est pratique, pas idéologique : une image RAM d'un incident réel contient des identifiants en clair, des jetons de session, des documents déchiffrés et des données personnelles, et ce ne sont pas des artefacts que l'on envoie à un tiers.
Comment cela fonctionne
- Vous choisissez une image mémoire brute via le sélecteur de fichier.
- Un Web Worker charge un moteur Rust compilé en WebAssembly.
- Le moteur lit l'image par pages de 4 Kio via
FileReaderSync, donc une image de 32 Go est traitée sans jamais être chargée en mémoire. - L'OS est détecté automatiquement : la bannière noyau Linux
Linux versionpour Linux, le premier_EPROCESSvalide (avec son enregistrementRSDSCodeView) pour Windows. - Chaque plugin applicable s'exécute automatiquement, chacun diffusant sa propre progression et affichant son propre tableau.
Plugins
| Plugin | OS | Rôle |
|---|---|---|
psscan | Windows | Scan de pool-tag pour allocations _EPROCESS |
pslist | Windows | Parcours de ActiveProcessLinks depuis le processus System |
psxview | Windows | Diff psscan vs pslist, signale les lignes HIDDEN |
pstree | Windows | Hiérarchie parent/enfant depuis psscan |
cmdline | Windows | Ligne de commande du processus via le PEB |
dlllist | Windows | Modules chargés via les données du loader PEB |
modscan | Windows | Scan de pool-tag pour modules noyau (MmLd) |
netscan | Windows | Scan pool des objets réseau (expérimental) |
taskscan | Linux | Scan heuristique de task_struct (expérimental) |
Comparer pslist à psscan est la méthode classique pour repérer les
processus qu'un rootkit a déliés par DKOM. Voir
pslist vs psscan vs psxview.
pslist, modscan et netscan résolvent les adresses virtuelles
noyau via le DTB du processus System (PID 4).
Traduction d'adresses, brièvement
cmdline et dlllist traduisent le PEB de chaque processus via ses
propres tables de pages. ramparser implémente la traduction d'adresses
x64 à 4 niveaux (PML4 → PDPT → PD → PT, pages larges 1 Gio et 2 Mio
incluses), donc les lectures mémoire utilisateur fonctionnent
correctement sans symboles.
Windows : internes de psscan
L'analyseur Windows est un scanner pool-tag de type psscan. Il
cherche les allocations _POOL_HEADER taguées Proc et valide chaque
_EPROCESS candidat par des heuristiques structurelles : PID
plausible, nom d'image imprimable, DirectoryTableBase aligné sur la
page, pointeur de liste noyau canonique.
Les offsets de structures dépendent du build. Les valeurs par défaut
visent Windows 10/11 x64 (~build 19041). Pour des builds plus anciens
ou inhabituels, les offsets peuvent être surchargés via WinProfile
dans le moteur. Le
PDB ntoskrnl est
récupéré (son GUID et son âge uniquement) pour que pslist et
consorts utilisent les offsets exacts pour ce build.
Linux : taskscan
L'analyseur Linux est un scan task_struct expérimental ancré sur le
champ comm. Les agencements noyau varient beaucoup selon les
distributions et versions, traitez donc les résultats comme un point
de départ plutôt que comme une vérité, jusqu'à ce qu'un véritable
profil noyau soit fourni.