Gist of Samuel

We began by opening the only file provided: gist_of_samuel.txt. And... it looked like this:

It was pages of nothing but train emojis. So clearly, there was some encoding going on here, like rail fence cipher.

Like most CTF players, our instinct was to dump it into online tools:

· Cipher Identifier? No match hmm

· Rail Fence? It looked like gibberish.

· Frequency analysis? Doesn't apply to emoji sets.

So, we started thinking differently.

Let’s dissect the challenge title: “Gist of Samuel”

1) "Gist"

We know that:

A GitHub Gistarrow-up-right is a way to share text/code publicly or secretly. A Gist is accessed via its unique ID. Anyone with that ID can see the content, even if it’s marked "Secret."

So maybe there’s a hidden Gist ID somewhere in this message?

2) "Samuel"

Searching "Samuel" gave us:

Samuel Morse, the inventor of the Morse Code. (Aka the guy who let us send messages with dots and dashes before Wi-Fi existed.)

So now we have:

· ·¯— '__ A A•−•v̈˚¯ Yˆ_•! = some kind of encoding

· Gist = maybe a hidden ID

· Samuel = Morse Code??

It clicked.

We hypothesized:

Each emoji represents dot (.), dash (-), or space.

But which is which?

So, we wrote a Python script to brute-force all logical mappings: Emoji to Morse mapping attempts:

Python Script Logic (gistmorsedecode.py):

1. Read train emoji string

2. Try each mapping (dot/dash/space)

3. Translate Morse code to letters using a dictionary

4. Save output to a file

We ran:

python3 gistmorsedecode.py

And got:

Only Mapping 3 gave us a readable result!

That string in Mapping 3 stood out:

E012D0A1FFFAC42D6AAE00C54078AD3E

Since it looked like a Gist ID, we tested the URL:

https://gist.github.com/umcybersec/E012D0A1FFFAC42D6AAE00C54078AD3Earrow-up-right

It worked!

Inside was a file called gistfile1.txt with something like ASCII art gone rogue:

We stared at the blocky, noisy-looking characters for a bit. It looked encrypted... but how?

Then we remembered the line from the Morse decode:

“...and his favorite number is 8” That must be a key!

We thought of Rail Fence Cipher, a transposition cipher where letters are written in a zigzag pattern with N rails.

We tried decoding gistfile1.txt using cachesleuth railfence toolarrow-up-right, setting the number of rails to 8.

After zooming out, tilting our heads, and squinting a little...

The message appeared:

WILLOWTREECAMPSITE

Following the flag format umcs{the_name_of_the_campsite}

Flag: umcs{WILLOW_TREE_CAMPSITE}

Last updated