onedump.py produit du JSON pour l’extraction de fichiers OneNote
L’extraction des fichiers intégrés dans les documents OneNote (.one) vient gagner en automatisation. Didier Stevens a intégré une fonctionnalité clé à son outil onedump.py : la production de sortie au format JSON. Cette nouveauté permet désormais de traiter plusieurs fichiers .one simultanément, évitant les exécutions successives de l’outil pour chaque contenu embarqué.
Selon SANS ISC, cette capacité répond à la lourdeur du processus manuel, où il fallait auparavant lancer onedump.py de manière répétée pour chaque fichier. Avec l’option --jsonoutput, l’outil génère un flux de données structurées contenant le contenu de chaque élément découvert dans le fichier OneNote.
Ce flux JSON n’est pas une fin en soi. Il est conçu pour être immédiatement acheminé vers un autre script, notamment myjson-filter.py. C’est l’articulation de ces deux outils qui devient intéressante d’un point de vue pratique. En chaînant les commandes, on peut, par exemple, prendre la sortie JSON de onedump.py --jsonoutput *.one et la rediriger vers myjson-filter.py -W hashvir.

Ce processus permet de sortir les fichiers extraits sur le disque, en les nommant à partir de leur hachage SHA256, suivis de l’extension .vir (ce que Stevens nomme hashvir). C’est une méthode très précise pour retrouver le contenu original tout en conservant une trace cryptographique de son origine.
Le filtrage avancé avec myjson-filter.py
Les fonctionnalités de myjson-filter.py sont déjà bien établies, mais l’intégration de cette sortie JSON rend le pipeline beaucoup plus robuste. Ce filtre permet d’appliquer des critères de sélection avancés : filtrage par nom, par contenu, ou encore par type de fichier détecté avec file-magic.py. Il supporte même des filtres sophistiqués, comme l’utilisation de règles YARA pour identifier des motifs spécifiques dans le contenu, ou encore l’exécution de fonctions Python personnalisées via l’option --pythonfilter.
Ce niveau de granularité est ce qui séduit les analystes, car il transforme une simple récupération en une opération d’analyse ciblée. En utilisant l’option --pythonfilter, par exemple, on peut définir des règles complexes pour décider quels éléments conservent leur chemin vers le disque ou leur affichage sur la console.
Un standard de flux pour l’analyse d’artefacts
Il est intéressant de noter que cette architecture de flux (outil A produit JSON $
ightarrow$ outil B consomme JSON) est de plus en plus courante dans les outils de sécurité. L’annonce de onedump.py ne fait que consolider une pratique déjà présente dans la communauté des outils de pointe. Les outils de Didier Stevens, comme myjson-filter.py (version 0.0.9, datée du 12 juin 2025), montrent cette orientation vers des chaînes de traitement automatisées.
Pour ceux qui souhaitent pousser l’analyse, la possibilité d’écrire les résultats directement vers stdout dans myjson-filter.py avec un terminateur précis, comme '
', offre un contrôle fin sur la manière dont les données sont présentées ou consommées par le système hôte. Il reste à voir comment ce standard de flux JSON va être adopté par les autres logiciels d’analyse d’artefacts.
Sources
- Beta/onedump.py at master · DidierStevens/Beta, github.com
- DidierStevensSuite/myjson-filter.py at master · DidierStevens/DidierStevensSuite, github.com
- OneNote File Extraction, (Sun, Nov 1st), SANS ISC, 1 novembre 2026



