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

Case study · Insider threat · Linux ext4

Inside job: reconstructing the ORION exfiltration

A full worked solution to Lab #02. From a single Linux ext4 image we rebuild the chain of events, recover the deleted documents, and pin down the operator's mistakes.

18 June 2026Incident date
alex@SYNAPSE_LABCompromised account
48 MBImage size
Insider threat★★★☆ AdvancedDFIR

Chain of custody · analysed image

Filesynapse-lab-01.raw
SHA-2568f1f0c94d35c70a7d0cad5087fcd353d062ed7078c6d4f2099fde41df90e2461
TypeLinux ext4, volume "SYNAPSE_LAB", UUID 8cc7c565-e64c-435a-99f8-5fa8e1fc1e06
Size50,331,648 bytes (48 MiB)
Last mount2026-08-15T12:09:50 UTC (image acquisition)
Toolssleuthkit 4.12.1 · fsstat · fls · istat · icat · strings

1. Context and scope

The security team received an alert about unusual access to classified documents on the workstation of user alex. A raw image of the home partition was acquired for analysis. The goal: reconstruct the sequence of actions, identify the files involved, and assess the extent of the potential exfiltration.

Classification: this investigation concerns Project ORION, whose data is classified Confidential, internal use only. Any unauthorised access is documented in line with the internal security policy.

2. Artefact inventory

2.1 Filesystem structure

After mounting the image read-only (mount -o ro,loop), Sleuth Kit's fls -r reveals the full tree, including entries marked * (deleted but not overwritten):

bash
fls -r synapse-lab-01.raw
output : * = deleted, recoverable
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            <- DELETED
  d/d 23:    Downloads/
    r/r * 24:    orion-export.zip            <- DELETED
    r/r * 25:    orion-report.pdf            <- DELETED (copy)
d/d 28:  var/log/
  r/r 29:    activity.log

Three deleted files are identified (inodes 22, 24, 25). Their data blocks have not been reallocated yet, so recovery is possible.

2.2 Live artefacts

FileInodeSizeMtime (UTC)Content
.bash_history14169 B2026-06-18 06:12:035 commands, includes history -c
activity.log29527 B2026-06-18 07:25:107 timestamped system events
meeting-notes.txt2148 B2026-06-18 07:27:00References USB "TRANSFER", 09:30 meeting
confidential-clients.txt20161 B2026-06-18 07:27:00Names Project ORION and the affected clients

2.3 Deleted artefacts, recovery

icat extracts the content of an inode straight from its data blocks, independently of the directory entry:

bash, recovery by inode
icat synapse-lab-01.raw 22 > orion-report.pdf      # original PDF (Documents/)
icat synapse-lab-01.raw 24 > orion-export.zip      # archive built for export
icat synapse-lab-01.raw 25 > orion-report-copy.pdf # copied PDF (Downloads/)
Recovered fileSHA-256Inode deleted at (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

Both PDFs share the same SHA-256: they are identical copies of one document. The ZIP itself contains that same PDF. This confirms a single source document was staged, packaged and deleted in sequence.

2.4 Content of the exfiltrated document

Extracting text from the recovered PDF with strings shows:

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

The document is a classified Project ORION report. Cross-referenced with confidential-clients.txt, the project involves clients Northwind, Contoso and Fabrikam.

3. Chronological reconstruction

Event timing is cross-checked across three independent sources: the system journal (activity.log), inode timestamps (access / modify / delete via istat), and the contents of .bash_history. All times below are local CEST (UTC+2).

2026-06-18 · 08:12:03 CESTUser alex logs in, local console access activity.logSource: console. No SSH access, physical presence confirmed.
2026-06-18 · 09:03:14 CESTOpens orion-report.pdf activity.log + istat atimeInode 22, atime confirmed at 07:03:14 UTC. The document is read before any action.
2026-06-18 · 09:06:41 CESTUSB connected, label TRANSFER, serial SN-LAB-042 activity.logDevice prepared in advance (explicit label). See 4.2, evidence of premeditation.
2026-06-18 · ~09:08 CESTPDF copied to ~/Downloads/ .bash_historycp ~/Documents/orion-report.pdf ~/Downloads/, order reconstructed from bash_history.
2026-06-18 · 09:11:08 CESTArchive orion-export.zip created activity.log + istat atimezip ~/Downloads/orion-export.zip ~/Downloads/orion-report.pdf, inode 24 atime confirmed.
2026-06-18 · 09:11 to 09:18 CESTPresumed transfer to the USB key inferredA 7-minute window between the ZIP creation and its deletion. No USB copy log in this image, check kernel logs (/var/log/kern.log) on the full system.
2026-06-18 · 09:18:33 CESTDeletes orion-report.pdf from Documents/ activity.log + istat deleteFirst attempt to erase traces. Inode 22 marked Not Allocated, blocks not reallocated, recovered in full.
2026-06-18 · 09:19:10 to 09:19:40 CESTDeletes the ZIP and the PDF copy in Downloads/ istat delete inodes 24 and 2537 seconds to delete both files. The three deletions are sequential, deliberate rather than accidental.
2026-06-18 · 09:20:02 CESTClears the shell history, history -c activity.logOPSEC fail #1. history -c empties the in-memory buffer, but the on-disk .bash_history file is left intact. Every command is still readable.
2026-06-18 · 09:24:55 CESTUSB key TRANSFER disconnected activity.logTotal connection time: 18 min 14 s. Enough to move the document, or a heavier archive not visible in this image.
2026-06-18 · 09:27:00 CESTLast modification of meeting-notes.txt istat mtimeRead or edited 2 minutes before the 09:30 meeting. Content: "USB label TRANSFER; meeting at 09:30."

4. Key artefact analysis

4.1 The .bash_history file, first OPSEC fail

/home/alex/.bash_history, full contents
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

The .bash_history file faithfully records the operations: listing, copy, compression, deletion, attempted wipe. Despite running history -c, the on-disk file is intact. Bash writes .bash_history when the session closes; history -c only clears the current session's memory buffer. To wipe the file, the operator would have had to run cat /dev/null > ~/.bash_history or rm ~/.bash_history.

Timestamp anomaly: the mtime of .bash_history is 2026-06-18 06:12:03 UTC, identical to the login time. That corresponds to Bash reading the file at session start, not writing it. Yet the commands it holds date from after 09:03. The file was therefore written in an earlier session, or the mtime was manipulated with touch.

4.2 meeting-notes.txt, evidence of premeditation

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

This file establishes that the USB use was planned before the incident. The label "TRANSFER" is referenced explicitly as a reminder, which points away from an impulsive act. The note was read at 09:27, three minutes after the key was disconnected and three minutes before the 09:30 meeting.

4.3 The activity.log system journal

/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

The journal captured the whole sequence, including the cover-up attempt (history -c). Unlike bash_history, this log was not modified by the user: it does not live in their home directory and would need root privileges to alter.

5. The operator's mistakes

01

history -c is not enough

It only clears the memory buffer. The on-disk .bash_history file stays intact and readable.

02

Files deleted, not overwritten

On Linux, rm unlinks the inode from the directory but does not destroy the data blocks. icat allows full recovery.

03

activity.log not purged

The operator did not target the system journal, which captures every event, including the USB connection and the wipe command itself.

04

Premeditation note kept

The meeting-notes.txt file referencing the USB label and the meeting was never deleted.

6. IOC and forensic-indicator summary

CategoryIndicatorSource
Accountalex, local console accessactivity.log · bash_history
Exfiltrated documentorion-report.pdf, "PROJECT ORION, CONFIDENTIAL"inode 22 (recovered)
Document hash58e5e670dd1310ce5894ea53b8511bb0aeaf6149…inodes 22 and 25, identical
Exfiltration vectorUSB, label TRANSFER, serial SN-LAB-042activity.log · meeting-notes.txt
Export archiveorion-export.zip (hash efcf223d…)inode 24 (recovered)
Impacted clientsNorthwind · Contoso · Fabrikamconfidential-clients.txt
Suspicious meeting2026-06-18 · 09:30, per meeting-notes.txtPossible physical handover
Track coveringhistory -c · rm on 3 filesactivity.log · istat delete times

7. Recommendations

Short term

Medium term

Long term

Conclusion

The investigation establishes, with a high level of confidence, that a confidential Project ORION document was intentionally exfiltrated over USB by user alex, on 18 June 2026 between 09:03 and 09:24 CEST.

The sequence, opening the file, connecting a pre-labelled USB key, creating an archive, cascading deletions, clearing history, a meeting six minutes later, characterises a premeditated act.

Despite three attempts to cover the tracks, the system journal, the resilience of ext4 inodes and the persistence of .bash_history allowed the full chain of events to be reconstructed. The deleted files were recovered in full.

8. Tools and references

Entirely fictional environment, for educational use only.

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