Artemis Gordon
Artemis Gordon
Platform: CUSTOM | Category: Steganography | Type: Challenge | Difficulty: Easy | OS: N/A | **Author: XESXOR Techniques: alphabet_identification, symbol_substitution, visual_pattern_matching
Summary
Walkthrough of the CUSTOM Steganography Artemis Gordon. Task: a PNG image containing moon-phase style symbols with no hidden metadata or embedded payloads. Solution: treat it as a visual symbol cipher, identify Leandro Katz's Lunar Alphabet, and decode the
Description
Original organizer description was not preserved locally; only the challenge image
moonieface.pngwas available in the task directory.
The task provides a PNG image containing seven moon-phase style glyphs. The goal is to determine what alphabet those symbols belong to and decode the hidden word used inside the flag.
Analysis
Reconnaissance
The first step was standard file-level recon:
bash read-only • copy allowedfile moonieface.png strings moonieface.png exiftool moonieface.png pngcheck moonieface.png
This established that the file was an ordinary PNG. Metadata was not useful beyond a gnome-screenshot style tag, and pngcheck did not show suspicious chunk anomalies or embedded files. That ruled out the usual metadata / appended-data stego path.
At that point the image had to be solved visually. The important observation was that it contained seven distinct moon-phase style glyphs.
Identifying the alphabet
Because the symbols looked like stylized lunar phases, the next step was to search for moon-based alphabets rather than generic astronomical symbols. That led to Leandro Katz's Lunar Alphabet, whose glyph shapes matched the symbols in the image.
Decoding logic
The seven glyphs were not all unique. Their repetition pattern was:
- positions 1 and 5 are the same
- positions 2 and 3 are the same
- positions 4 and 7 are the same
So the plaintext had the structure:
text read-only • copy allowedM O O N M A N
Once the symbols were matched against the Lunar Alphabet chart, the word decoded cleanly as:
text read-only • copy allowedMOONMAN
Solution
- Inspect the PNG with
file,strings,exiftool, andpngcheck. - Confirm there is no hidden payload in metadata or PNG chunks.
- Focus on the visible content: seven moon-phase glyphs.
- Search for a lunar-themed symbolic alphabet.
- Match the glyphs to Leandro Katz's Lunar Alphabet.
- Use the repeated-symbol structure to validate the reading as
MOONMAN. - Wrap the decoded word in the required flag format.
python read-only • copy allowed#!/usr/bin/env python3 # Manual decode after identifying Leandro Katz's Lunar Alphabet. # The glyphs in the challenge image correspond to the letters below. decoded = ["M", "O", "O", "N", "M", "A", "N"] word = "".join(decoded) flag = f"DawgCTF{{{word}}}" print(word) print(flag)
Key Takeaways / Lessons
- Mastering alphabet_identification, symbol_substitution, visual_pattern_matching was key to this challenge.
- Always check for common misconfigurations and verify assumptions.
Crafted by XESXOR Research • 2026-04-10 • CUSTOM • Artemis Gordon • Difficulty: Easy