Synapse Consulting
Home SynapseRM / TPRM Services Pricing About BlogCareersLabsContact
EN · FR
Test access Book a demo

Étude de cas · Menace interne · Linux ext4

Affaire ORION : reconstruire l'exfiltration interne

Le corrigé complet du Lab #02. À partir d'une seule image Linux ext4, on reconstitue la chaîne d'événements, on récupère les documents supprimés, et on identifie les erreurs de l'auteur.

18 juin 2026Date de l'incident
alex@SYNAPSE_LABCompte compromis
48 MoTaille de l'image
Menace interne★★★☆ AvancéDFIR

Chaîne de custody · image analysée

Fichiersynapse-lab-01.raw
SHA-2568f1f0c94d35c70a7d0cad5087fcd353d062ed7078c6d4f2099fde41df90e2461
TypeLinux ext4, volume "SYNAPSE_LAB", UUID 8cc7c565-e64c-435a-99f8-5fa8e1fc1e06
Taille50 331 648 octets (48 Mio)
Dernier montage2026-08-15T12:09:50 UTC (acquisition de l'image)
Outilssleuthkit 4.12.1 · fsstat · fls · istat · icat · strings

1. Contexte et périmètre

L'équipe de sécurité a reçu une alerte relative à un accès inhabituel à des documents classifiés sur le poste de l'utilisateur alex. Une image disque brute de la partition home a été acquise pour analyse. L'objectif : reconstituer la séquence des actions, identifier les fichiers concernés et évaluer l'étendue de la potentielle exfiltration.

Classification : cette investigation concerne le Projet ORION, dont les données sont classées Confidentiel, usage interne uniquement. Tout accès non autorisé est documenté conformément à la politique de sécurité interne.

2. Inventaire des artefacts

2.1 Structure du système de fichiers

Après montage en lecture seule de l'image (mount -o ro,loop), la commande fls -r de Sleuth Kit révèle l'arborescence complète, y compris les entrées marquées * (supprimées mais non écrasées) :

bash
fls -r synapse-lab-01.raw
sortie : * = supprimé, récupérable
d/d 13:  home/alex
  r/r 14:    .bash_history
  d/d 19:    Documents/
    r/r 20:      confidential-clients.txt
    r/r 21:      meeting-notes.txt
    r/r * 22:    orion-report.pdf            <- SUPPRIME
  d/d 23:    Downloads/
    r/r * 24:    orion-export.zip            <- SUPPRIME
    r/r * 25:    orion-report.pdf            <- SUPPRIME (copie)
d/d 28:  var/log/
  r/r 29:    activity.log

Trois fichiers supprimés sont identifiés (inodes 22, 24, 25). Leurs blocs de données n'ont pas encore été réalloués : la récupération est possible.

2.2 Artefacts actifs

FichierInodeTailleMtime (UTC)Contenu
.bash_history14169 o2026-06-18 06:12:035 commandes, inclut history -c
activity.log29527 o2026-06-18 07:25:107 événements système horodatés
meeting-notes.txt2148 o2026-06-18 07:27:00Référence USB "TRANSFER", rendez-vous 09:30
confidential-clients.txt20161 o2026-06-18 07:27:00Mentionne le Projet ORION et les clients concernés

2.3 Artefacts supprimés, récupération

La commande icat extrait le contenu d'un inode directement depuis ses blocs de données, indépendamment de l'entrée de répertoire :

bash, récupération par inode
icat synapse-lab-01.raw 22 > orion-report.pdf      # PDF original (Documents/)
icat synapse-lab-01.raw 24 > orion-export.zip      # archive créée pour export
icat synapse-lab-01.raw 25 > orion-report-copy.pdf # PDF copié (Downloads/)
Fichier récupéréSHA-256Inode supprimé à (UTC)
orion-report.pdf58e5e670dd1310ce5894ea53b8511bb0aeaf6149…2026-06-18 07:18:33
orion-export.zipefcf223d1b05b77f5c3e525c80e64109e25394f0…2026-06-18 07:19:10
orion-report-copy.pdf58e5e670dd1310ce5894ea53b8511bb0aeaf6149…2026-06-18 07:19:40

Les deux PDF partagent le même SHA-256 : ce sont des copies identiques d'un seul document. Le ZIP contient lui-même ce PDF. Cela confirme qu'un seul document source a circulé, empaqueté et supprimé en séquence.

2.4 Contenu du document exfiltré

L'extraction du texte du PDF récupéré via strings révèle :

strings orion-report.pdf
SYNAPSE LAB - PROJECT ORION - CONFIDENTIAL

Le document est un rapport classifié du Projet ORION. Croisé avec confidential-clients.txt, ce projet implique les clients Northwind, Contoso et Fabrikam.

3. Reconstruction chronologique

L'horodatage des événements est recoupé entre trois sources indépendantes : le journal système (activity.log), les timestamps d'inode (access / modify / delete via istat), et le contenu de .bash_history. Tous les horaires ci-dessous sont en heure locale CEST (UTC+2).

2026-06-18 · 08:12:03 CESTConnexion de l'utilisateur alex, accès console local activity.logSource : console. Pas d'accès SSH, présence physique confirmée.
2026-06-18 · 09:03:14 CESTOuverture de orion-report.pdf activity.log + istat atimeInode 22, atime confirmé à 07:03:14 UTC. Le document est lu avant toute action.
2026-06-18 · 09:06:41 CESTConnexion USB, label TRANSFER, serial SN-LAB-042 activity.logDispositif préparé à l'avance (label explicite). Voir 4.2, élément de préméditation.
2026-06-18 · ~09:08 CESTCopie du PDF vers ~/Downloads/ .bash_historycp ~/Documents/orion-report.pdf ~/Downloads/, ordre reconstruit depuis bash_history.
2026-06-18 · 09:11:08 CESTCréation de l'archive orion-export.zip activity.log + istat atimezip ~/Downloads/orion-export.zip ~/Downloads/orion-report.pdf, inode 24 atime confirmé.
2026-06-18 · 09:11 à 09:18 CESTTransfert présumé vers la clé USB inféréFenêtre de 7 min entre la création du ZIP et sa suppression. Aucun log de copie USB dans cette image, vérifier les logs du noyau (/var/log/kern.log) sur le système complet.
2026-06-18 · 09:18:33 CESTSuppression de orion-report.pdf depuis Documents/ activity.log + istat deletePremière tentative d'effacement des traces. Inode 22 marqué Not Allocated, blocs non réalloués, récupéré intégralement.
2026-06-18 · 09:19:10 à 09:19:40 CESTSuppression du ZIP et de la copie PDF dans Downloads/ istat delete inodes 24 et 2537 secondes pour supprimer les deux fichiers. Les trois suppressions sont séquentielles, comportement délibéré et non accidentel.
2026-06-18 · 09:20:02 CESTEffacement de l'historique shell, history -c activity.logOPSEC fail #1. history -c vide le buffer en mémoire, mais le fichier .bash_history sur disque est conservé intact. La totalité des commandes y est lisible.
2026-06-18 · 09:24:55 CESTDéconnexion de la clé USB TRANSFER activity.logDurée de connexion totale : 18 min 14 s. Suffisant pour transférer le document, ou une archive plus lourde non visible dans cette image.
2026-06-18 · 09:27:00 CESTDernière modification de meeting-notes.txt istat mtimeConsulté ou modifié 2 minutes avant le rendez-vous noté à 09:30. Contenu : "USB label TRANSFER; meeting at 09:30."

4. Analyse des artefacts clés

4.1 Le fichier .bash_history, premier OPSEC fail

/home/alex/.bash_history, contenu intégral
ls -la ~/Documents
cp ~/Documents/orion-report.pdf ~/Downloads/
zip ~/Downloads/orion-export.zip ~/Downloads/orion-report.pdf
rm ~/Documents/orion-report.pdf
history -c

Le fichier .bash_history retrace fidèlement les opérations : listage, copie, compression, suppression, tentative d'effacement. Malgré l'exécution de history -c, le fichier sur disque est intact. Bash écrit .bash_history à la fermeture de la session ; history -c ne vide que le buffer mémoire de la session en cours. Pour effacer le fichier, il aurait fallu exécuter cat /dev/null > ~/.bash_history ou rm ~/.bash_history.

Anomalie de timestamp : le mtime de .bash_history est 2026-06-18 06:12:03 UTC, identique à l'heure de connexion. Cela correspond à la lecture du fichier par Bash au démarrage de la session, non à son écriture. Les commandes présentes datent pourtant d'après 09:03. Le fichier a donc été écrit lors d'une session antérieure, ou le mtime a été manipulé via touch.

4.2 meeting-notes.txt, preuve de préméditation

/home/alex/Documents/meeting-notes.txt
Reminder: USB label TRANSFER; meeting at 09:30.

Ce fichier établit que l'utilisation de la clé USB était planifiée avant l'incident. Le label "TRANSFER" est référencé explicitement comme un pense-bête, ce qui écarte l'hypothèse d'un acte impulsif. La note a été consultée à 09:27, soit 3 minutes après la déconnexion de la clé et 3 minutes avant le rendez-vous à 09:30.

4.3 Le journal système activity.log

/var/log/activity.log
2026-06-18T08:12:03+02:00 login       user=alex source=console
2026-06-18T09:03:14+02:00 file_open   path=/home/alex/Documents/orion-report.pdf
2026-06-18T09:06:41+02:00 usb_device  action=connected   label=TRANSFER serial=SN-LAB-042
2026-06-18T09:11:08+02:00 archive_created path=/home/alex/Downloads/orion-export.zip
2026-06-18T09:18:33+02:00 delete      path=/home/alex/Documents/orion-report.pdf
2026-06-18T09:20:02+02:00 shell       command="history -c"
2026-06-18T09:24:55+02:00 usb_device  action=disconnected label=TRANSFER serial=SN-LAB-042

Le journal a capturé l'intégralité de la séquence, y compris la tentative de couverture (history -c). Contrairement au bash_history, ce log n'a pas été modifié par l'utilisateur : il ne se trouve pas dans son répertoire home et nécessiterait des privilèges root pour être altéré.

5. Erreurs opérationnelles de l'auteur

01

history -c ne suffit pas

Vide le buffer mémoire uniquement. Le fichier .bash_history sur disque reste intact et lisible.

02

Fichiers supprimés, non écrasés

Sur Linux, rm dissocie l'inode du répertoire mais ne détruit pas les blocs de données. icat permet une récupération intégrale.

03

activity.log non purgé

L'auteur n'a pas ciblé le journal système, qui capture tous les événements, y compris la connexion USB et la commande d'effacement elle-même.

04

Note de préméditation conservée

Le fichier meeting-notes.txt référençant le label USB et le rendez-vous n'a pas été supprimé.

6. Synthèse des IOCs et indicateurs forensiques

CatégorieIndicateurSource
Comptealex, accès console localactivity.log · bash_history
Document exfiltréorion-report.pdf, "PROJECT ORION, CONFIDENTIAL"inode 22 (récupéré)
Hash du document58e5e670dd1310ce5894ea53b8511bb0aeaf6149…inodes 22 et 25, identiques
Vecteur d'exfiltrationUSB, label TRANSFER, serial SN-LAB-042activity.log · meeting-notes.txt
Archive d'exportorion-export.zip (hash efcf223d…)inode 24 (récupéré)
Clients impactésNorthwind · Contoso · Fabrikamconfidential-clients.txt
Rendez-vous suspect2026-06-18 · 09:30, référencé dans meeting-notes.txtPossible remise physique des données
Couverture des traceshistory -c · rm sur 3 fichiersactivity.log · istat delete times

7. Recommandations

Court terme

Moyen terme

Long terme

Conclusion

L'investigation établit, avec un niveau de confiance élevé, qu'un document confidentiel du Projet ORION a été intentionnellement exfiltré via clé USB par l'utilisateur alex, le 18 juin 2026 entre 09:03 et 09:24 CEST.

La séquence, ouverture du fichier, connexion USB pré-labellisée, création d'archive, suppression en cascade, effacement de l'historique, rendez-vous six minutes plus tard, caractérise un acte prémédité.

Malgré trois tentatives de couverture des traces, l'artefact du journal système, la résilience des inodes ext4 et la persistance de .bash_history ont permis la reconstruction intégrale de la chaîne d'événements. Les fichiers supprimés ont été intégralement récupérés.

8. Outils et références

Environnement entièrement fictif, à usage éducatif uniquement.

Synapse Consulting

A Belgium-based provider of cybersecurity solutions, and the team behind SynapseRM / TPRM.

PLATFORM
SynapseRM / TPRM Pricing Test accessPresentation (PDF)
SERVICES
Governance Operational Training
COMPANY
About Contact Blog Labs Careers Privacy & cookies
Brussels, Belgium