This last weekend was the final DerbyCon. We’ll #TrevorForget. It was also an event filled with several quick and fun CTFs… and since I’ve been deficient in posting things lately, I figured I’d catch up by showing how to solve a whole pile of them. First up: the TrustedSec Challenge Coin! Attendees could get one of these by just showing up and asking for one, and there was a prize pack being awarded to anyone who could solve it. I was the fifth to do so, and figured others might want to know how to get to the final message.
The side that I’m going to call the back side just had the standard TrustedSec logo.
It’s not much of a challenge, but if you break out the binary below the coin (00110010 00110000 00110001 00110010) you’ll find it is just four digits: 2-0-1-2.
The real challenge is on what I will call the front of the coin.
We can see a single location where there is a visual space, which appears at the due North location if we assume the lettering runs East-West and is level to that plane. Transcribing from that location we get the following as the challenge text:
A quick inspection says this is likely Base64 encoded, since it:
- Uses only the characters [A-Z] [a-z] [0-9] and ‘/’
- Is 136 characters in length, which doesn’t match any common hashes
So let’s Base64 decode it using CyberChef! When we do that we get:
......I?...?.....D%. (.... T$...5.....V)E. #.....S5...4.B.. T$...5.... V)...(.....S)G*.4..*..F#...#.@
Hmm… that’s obviously not the solution. Adding “Magic” with “Intensive Mode” to our recipe shows that the thing which most likely generates human-esque output is XOR… but what to XOR it with?
A hint from Tyler Hudak given to anyone that asked was that “Everything you need to solve the challenge is on the coin itself.” That really only leaves a few options:
- DerbyCon IX
- Finish Line
And of course permutations involving those most likely combinations. The correct answer ended up being the last one (“Finish Line”). Using that as the XOR decryption key lead to the solution:
“Memory is a way of holding on to the things you love, the things you are, the things you never want to lose. DerbyCon forever.”
What a great way to end one of the best conferences I ever had the pleasure of attending. The final recipe, for those curious, was therefore CipherText -> FromBase64 -> XOR (key: “Finish Line”, “UTF-8”):