An investigator recovered a Linux disk image from a manuscript ward workstation in Varanasi. The drive appears normal, but operators suspect hidden transfer records were concealed using layered steganography and encryption workflows.
Initial Exploration
The provided disk image (kashi_ritual_ledger.img) is an ext4 filesystem.
❯ file kashi_ritual_ledger.imgkashi_ritual_ledger.img: Linux rev 1.0 ext4 filesystem data, UUID=f83285e2-bb1a-4a34-bdec-b901cf985c4e, volume name "KASHI_LEDGER" (extents) (64bit) (large files) (huge files)
# Mount the imagesudo mkdir -p /mnt/kashi_ledgersudo mount -o loop,ro kashi_ritual_ledger.img /mnt/kashi_ledger
# Search for hidden filesfind /mnt/kashi_ledger -type f -name ".*"Exploring the filesystem reveals several key files:
challenge_runtime.json: Metadata containing passphrases and AES parameters./home/pandit_ved/: User home directory withPictures/ward_scans,Notes, and a hidden.archive_payloadsfolder./deleted_mail_pool/: Contains.emlfiles discussing “passphrase doctrine.”
Metadata Analysis
Reading challenge_runtime.json provided the following stages:
- Stage 1 Steg Passphrase:
trishul-lantern-braid - Stage 2 Steg Phrase:
ghat-manjari-copper-owl
Notes in home/pandit_ved/Notes/ritual_index_notes.md hinted that the “hidden ledger capsule is in one scan that does not open with the standard (Stage 1) phrase.”
Steganography Extraction
There were four BMP scans in the ward_scans directory. Using steghide with the Stage 1 passphrase:
for f in /mnt/kashi_ledger/home/pandit_ved/Pictures/ward_scans/*.bmp; do steghide extract -sf "$f" -p "trishul-lantern-braid"doneWhile most contained decoy files, scan_midnight_index.bmp failed, indicating it required the Stage 2 passphrase:
steghide extract -sf scan_midnight_index.bmp -p "ghat-manjari-copper-owl"# Output: wrote extracted data to "stage2_ledger.enc"Locating the Flag
The extracted stage2_ledger.enc matched a file in the hidden .archive_payloads directory. A corresponding .txt file was also present:
cat /mnt/kashi_ledger/home/pandit_ved/.archive_payloads/stage2_ledger.txtFlag
kashiCTF{ledger_ashes_remember_every_ritual}