With a long weekend ahead, I decided to gather a few friends and formed a team to participate in the DEFCON 29 RTV CTF. We came in with one goal in mind, to have fun. What I've covered in this 2-part post are only challenges that I attempted.
These are the challenges recorded in this part 1 of 2 post:
- Ancient Crypto Corner - The name's Caesar
- Cracking - Easy Crack 1 to 5
- Network Forensics - Protected OSPF
- FLAGUSB - Look at what Wireshark can do!
Challenge Start
The event challenge was released at 10AM (UTC) and these were the challenges.

More challenges were added along the way, and my friends and I went ahead to do what was available. Because all we wanted to do was have fun, so we just did what we found interesting.
The name's Caesar (Caesar Cipher)
I first started with the Caesar Cipher(I like a salad before my entrée) challenge named The name's Caesar, under the Ancient Crypto Corner category.


Caesar Cipher is a form of shift cipher where a key would be pre-determined between senders/receivers so that either would know what each letter in the coded message actually represents. Read more here.
I used a public decoder and got the flag caesar_cipher_shift_of_three. The +3 indicated the key shift was at 3.

Easy Crack 1-5 (Hash cracking)
The next challenge I picked were challenges easy crack 1 to 5.

Easy Crack 1 and 5 were MD5 hashes which could was easily cracked when I looked up crackstation.


Easy Crack 2,3 and 4 were luckily also found in wordlist after identifying the right type of hash.
I used hashcat to identify the hash by recognising the pattern against hashcat example hashes.
hashcat --example-hashes | grep "\$6\$*" -B 4

Knowing the mode to select, I ran hashcat on the hashes (I saved all the hashes in a file called easycracks) against rockyou.txt to crack the hashes.
hashcat -m 1800 -a 0 easycracks /usr/share/wordlists/rockyou.txt
and after approximately 40-45 minutes, the hashes were cracked.
Christopher:$6$33VlMNJ9o4Xyi343$.1edgNlimWliqoXi2ETLEM4qQk7U.sYo2gCeqs9HlZMlvJGnibSP.BCw4cdpGUqE41Bxjp.fWI2iDKClGBxoR1 (2316AY)
Sean:$6$MPCZQ37FAGshRIep$W1lDSSonF8P080J/VmsS2QVsbkCGPVxcjomFiGTHsWrgS8wBOBWgYonUciXbpY/LmIxnKNX/j4lsuRFegZhFE0 (moe512)
Jessica:$6$qUX8cPJFtK0MIJqG$pFW1bnU4qaS8O9lv1gfsG3/CCa7F2SS12m5ivkrGVO7/Sqtd2/c.RR52d5WQ2461ZbTnOMh7zzGJoXZRO5/rP/ (shikari90)
For these challenges, the cracked hashes were the flag.
Cracking OSPF passphrase (Protected OSPF)
The next one was in the network forensics category named Protected OSPF.

The file for this challenge was a .pcap file, which contained a MD5 sum of the passphrase used to secure the OSPF routing protocol.

During this CTF, I learnt that ettercap is able to extract certain network protocol (e.g. OSPF, RIPv2) password hashes and convert the format for JohnTheRipper (JtR).
ettercap -Tqr ospf.pcap
T: Text-only
q: quiet
r: read file

With the extracted hashes, I ran JtR with the hashes against rockyou.txt and cracked the hash.

Recovering USB Raw Data from packet capture (.pcap) file.
The task was to extract raw USB data from wireshark.

The downloaded file was a .pcap file that captured usb transfer data. What I was interested in were packets that contained data.
(usb.data_flag == "present (0)")
Also, the Info field indicating USB_INTERRUPT in intrigued me as it was likely a keystroke or some form of I/O.

I enabled the Leftover Capture Data field as a column, because the value contains the raw USB data. However, I had to find a way to extract the values efficiently. And I found that tshark could do this.
tshark -r file.pcap -T fields -e usb.capdata

I looked up online and came across a similar scenario where the individual was trying to extract raw USB data.
Also it confirmed my suspicions that the USB_INTERRUPT in was indeed for keystrokes.
I successfully extracted the message using the script in the blogpost (credits to the author), which converts the Usage IDs into ASCII keystrokes.

