Magnet Virtual Summit 2023 CTF - Cipher


I always enjoy working on the cipher portions of the Magnet CTFs. They don't require any forensic tools and can be done with online tools. I've even seen some people solve them just by using their mobile phone in past years.

Tools used:

Time to practice our CW. (5 points)

-.- . -.-- ---... .--. .. -. . .- .--. .--. .-.. . --- -. .--. .. --.. --.. .- .. ... --. .-. . .- - -.-.--

If you can't tell, we get a bunch of dots and dashes which is commonly known to be used in Morse Code. We can get out our trusty CyberChef and easily solve this one. As we can see the answer was revealed to be "KEY:PINEAPPLEONPIZZAISGREAT!".

Figure 1: CyberChef recipe for decoding Morse Code

Time to return to the bas(e)ics and eat a salad. (10 points)

TFk6THBLeHFqdWJMcEt4cWp1Yg==

The question gives you the two clues you need to solve this one. First "bas(e)ics", which if you weren't sure Base64 is a common encoding used. The equals signs at the end of the string are another hint you have Base64 encoding here. Back to CyberChef:

Figure 2: CyberChef recipe for decoding Base64

You can see we have another step to go to figure out the answer. Part two of the question title refers to salad. Another common cipher is the Caesar cipher (hence Caesar salad). I couldn't find a recipe in CyberChef but we can copy the previous output over to DCode.fr for deciphering. The result was "IV:ImHungryImHungry".

Figure 3: DCode.fr decoding Caesar cipher

I can't remember that URL. I wish I could rewind my day and bookmark it! (10 points)

442%3Dt%3FwcVmRcN%2DKj9%2Feb%2Eutuoy%2F%2F%3Asptth

I originally struggled with this one because I technically did the steps out of order. We get another two hints again in the title of the question. URL references to starting with URL decoder via CyberChef.

Figure 4: CyberChef URL decode

Next you can kind of tell that it's starting to look like a URL but missing something. Part two of the question title refers to "rewind". If we look through CyberChef there is a Reverse recipe which will give us the answer, "https://youtu.be/9jK-NcRmVcw?t=244".

Figure 5: CyberChef Reverse recipe

The URL leads to Europe's classic "The Final Countdown" music video.

i Am Excited for thiS year's ctf, no cap(s) (25 points)

fc52c3f2c74e4f3e745a9042f283c46a28060ea71ec21424ab09c98092fe5efae7f99267a5c5ac55ad8b8e89b0ded9cc

This one was a doozy of a question. Back to the title for hints into what we are looking for. We can see that the letters A,E, and S are capitalized. A quick search in CyberChef and see an AES Decrypt parser.

Figure 6: CyberChef AES Decrypt recipe

We see that the recipe requires some addition items. Luckily some of the previous answers give us the Key and the IV. We can plug in the appropriate items as such:

Figure 7: CyberChef AES Decrypt with Key and IV

CyberChef can figure this out just yet because we have one more step to fix. Read the question title again closely, "no cap(s)". The key and IV have to be all lowercase characters.

Figure 8: CyberChef AES Decrypt with proper case

After fixing things, we get another URL, https://www.youtube.com/watch?v=xm3YgoEiEDc. It leads to a glorious 10 hour loop of the one and only Rick Astley.

BIN to HEX keeps reminding us of this rule... (25 points)

"00110101 00111001 00100000 00110110 01100110 00100000 00110111 00110101 00100000 00110010 00110000 00100000 00110110 01100100 00100000 00110111 00110101 00100000 00110111 00110011 00100000 00110111 00110100 00100000 00110010 00110000 00100000 00110111 00110101 00100000 00110111 00110011 00100000 00110110 00110101 00100000 00110010 00110000 00100000 00110111 00110100 00100000 00110110 00111000 00100000 00110110 00110101 00100000 00110010 00110000 00100000 00110111 00110011 00100000 00110110 00110001 00100000 00110110 01100100 00100000 00110110 00110101 00100000 00110010 00110000 00100000 00110110 00110101 00100000 00110110 01100100 00100000 00110110 00110001 00100000 00110110 00111001 00100000 00110110 01100011 00100000 00110010 00110000 00100000 00110110 00110001 00100000 00110110 00110100 00100000 00110110 00110100 00100000 00110111 00110010 00100000 00110110 00110101 00100000 00110111 00110011 00100000 00110111 00110011 00100000 00110010 00110000 00100000 00110110 01100110 00100000 00110110 01100101 00100000 00110010 00110000 00100000 00110111 00110100 00100000 00110110 00111000 00100000 00110110 00110101 00100000 00110010 00110000 00100000 00110100 00110011 00100000 00110101 00110100 00100000 00110100 00110110 00100000 00110010 00110000 00100000 00110111 00110011 00100000 00110110 00111001 00100000 00110111 00110100 00100000 00110110 00110101 00100000 00110010 00110000 00100000 00110110 00110001 00100000 00110111 00110011 00100000 00110010 00110000 00100000 00110111 00111001 00100000 00110110 01100110 00100000 00110111 00110101 00100000 00110010 00110000 00100000 00110111 00110101 00100000 00110111 00110011 00100000 00110110 00110101 00100000 00110110 00110100 00100000 00110010 00110000 00100000 00110111 00110100 00100000 00110110 01100110 00100000 00110010 00110000 00100000 00110111 00110010 00100000 00110110 00110101 00100000 00110110 00110111 00100000 00110110 00111001 00100000 00110111 00110011 00100000 00110111 00110100 00100000 00110110 00110101 00100000 00110111 00110010 00100000 00110010 00110000 00100000 00110110 00110110 00100000 00110110 01100110 00100000 00110111 00110010 00100000 00110010 00110000 00100000 00110111 00110100 00100000 00110110 00111000 00100000 00110110 00110101 00100000 00110010 00110000 00100000 00110110 00110011 00100000 00110110 01100110 00100000 00110110 01100101 00100000 00110110 00110110 00100000 00110110 00110101 00100000 00110111 00110010 00100000 00110110 00110101 00100000 00110110 01100101 00100000 00110110 00110011 00100000 00110110 00110101 00100000 00110010 01100101 00100000 00110010 00110000 00100000 00110100 00110001 00100000 00110110 00110100 00100000 00110110 00110100 00100000 00110110 00111001 00100000 00110111 00110100 00100000 00110110 00111001 00100000 00110110 01100110 00100000 00110110 01100101 00100000 00110110 00110001 00100000 00110110 01100011 00100000 00110010 00110000 00100000 00110111 00110101 00100000 00110111 00110011 00100000 00110110 00110101 00100000 00110111 00110010 00100000 00110010 00110000 00100000 00110110 00110001 00100000 00110110 00110011 00100000 00110110 00110011 00100000 00110110 01100110 00100000 00110111 00110101 00100000 00110110 01100101 00100000 00110111 00110100 00100000 00110111 00110011 00100000 00110010 00110000 00100000 00110110 00110001 00100000 00110111 00110010 00100000 00110110 00110101 00100000 00110010 00110000 00100000 00110111 00110000 00100000 00110111 00110010 00100000 00110110 01100110 00100000 00110110 00111000 00100000 00110110 00111001 00100000 00110110 00110010 00100000 00110110 00111001 00100000 00110111 00110100 00100000 00110110 00110101 00100000 00110110 00110100 00100000 00110010 01100011 00100000 00110010 00110000 00100000 00110110 00110001 00100000 00110110 01100101 00100000 00110110 00110100 00100000 00110010 00110000 00100000 00110110 00110001 00100000 00110110 01100101 00100000 00110111 00111001 00100000 00110010 00110000 00100000 00110111 00110101 00100000 00110111 00110011 00100000 00110110 00110101 00100000 00110111 00110010 00100000 00110010 00110000 00100000 00110110 00110110 00100000 00110110 01100110 00100000 00110111 00110101 00100000 00110110 01100101 00100000 00110110 00110100 00100000 00110010 00110000 00100000 00110110 00110011 00100000 00110111 00110010 00100000 00110110 00110101 00100000 00110110 00110001 00100000 00110111 00110100 00100000 00110110 00111001 00100000 00110110 01100101 00100000 00110110 00110111 00100000 00110010 00110000 00100000 00110110 01100100 00100000 00110111 00110101 00100000 00110110 01100011 00100000 00110111 00110100 00100000 00110110 00111001 00100000 00110111 00110000 00100000 00110110 01100011 00100000 00110110 00110101 00100000 00110010 00110000 00100000 00110110 00110001 00100000 00110110 00110011 00100000 00110110 00110011 00100000 00110110 01100110 00100000 00110111 00110101 00100000 00110110 01100101 00100000 00110111 00110100 00100000 00110111 00110011 00100000 00110010 00110000 00100000 00110111 00110111 00100000 00110110 00111001 00100000 00110110 01100011 00100000 00110110 01100011 00100000 00110010 00110000 00100000 00110110 00110010 00100000 00110110 00110101 00100000 00110010 00110000 00100000 00110110 00110100 00100000 00110110 00111001 00100000 00110111 00110011 00100000 00110111 00110001 00100000 00110111 00110101 00100000 00110110 00110001 00100000 00110110 01100011 00100000 00110110 00111001 00100000 00110110 00110110 00100000 00110110 00111001 00100000 00110110 00110101 00100000 00110110 00110100 00100000 00110010 01100101

If you haven't noticed, we get a long binary code from the start. CyberChef makes quick work of it.

Figure 9: CyberChef from Binary recipe

CyberChef has already determined the next step automatically for you, but if you couldn't tell by the output (and by the question title), we have to convert the hexadecimal to text.

Figure 10: CyberChef from Binary, from Hex to text

Shout out to Jessica for adding this for extra points during the live CTF. The answer was "You must use the same email address on the CTF site as you used to register for the conference. Additional user accounts are prohibited, and any user found creating multiple accounts will be disqualified."

I understood math till they started adding letters. (50 points)

(23492930345809345834905890346890456890456804586 + 53453489824379894375555555555555555555555555555555555555555555553894792 / 234890390458349056748396748957698473586974589 * Y) + (23499596346045645896745988623904893753894679834579384579 / o * 2342342342346782025720570023) * u + 34502750923508934758932475898923025027590823759023758932750970789 * (r + e * (1834918237981237469812376491236491263478932176478231647823634789612) / ((203485739804856783474658394753498 - D + 8299578904356797823459238459823476592348759342) * 9827438923465897236498273493 / o + 2394573904853495793847534 - i * (23423489928937498384798 * n) + 392874982374982374983 * g) * (23893473920589267658972347 + G + 520938752348909023423904783490752345734928576 - r - 23498023849234789236723896329784692387 + 234234283746823746782365 / a) = te

Don't over think this one. You might be able to see a pattern already. Just pull out the letters and you'll get "YoureDoingGrate".

Aren't ciphers fun!?!?!