Forensics
LUNAR
Lunar Forensic Challenge 4
20 Sep 2026
• 1 min read
A PNG image (case_evidence.png) containing multiple layers of hidden data.
Flag: Lun4R{c4rv1ng_m3t4d4t4_4nd_p1x3l_wh1sp3rs}
Overview
A PNG image (case_evidence.png) containing multiple layers of hidden data.
Step 1: PNG Metadata (tEXt chunks)
Examining PNG chunks revealed three text entries:
- Comment:
Lun4R{th1s_1s_n0t_th3_r34l_fl4g_k33p_d1gg1ng}— Decoy flag - archive_note:
RnU0cTBqUzF5cl8yMDI0— Base64 string (password hint) - Author: Warning about solving it yourself
Step 2: Embedded ZIP After IEND
728 bytes found after the PNG IEND chunk — a password-protected ZIP file containing secret.png.
Step 3: Cracking the ZIP Password
The archive_note base64 decodes to Fu4q0jS1yr_2024. Applying ROT13 yields the ZIP password:
TEXT
RnU0cTBqUzF5cl8yMDI0 → base64 decode → Fu4q0jS1yr_2024 → ROT13 → Sh4d0wF1le_2024Extracted secret.png with password Sh4d0wF1le_2024.
Step 4: LSB Steganography
Analyzing the least significant bits of the RGB channels in secret.png yielded a Base32-encoded string:
TEXT
JR2W4NCSPNRTI4TWGFXGOX3NGN2DIZBUOQ2F6NDOMRPXAMLYGNWF653IGFZXAM3SON6QStep 5: Base32 Decode
Decoding the Base32 string reveals the flag:
TEXT
Lun4R{c4rv1ng_m3t4d4t4_4nd_p1x3l_wh1sp3rs}Tools Used
exiftool— PNG metadata inspectionxxd/ hex analysis — Finding embedded data after IENDzsteg— LSB steganography detection- Python (
struct,zipfile,base64,PIL) — Parsing and extraction base32— Final flag decode