I did my first National Cyber League, which also happened to be my first real Capture the Flag (CTF) type event and I learned a lot from the experience so
I thought i’d share. First, before you get started with any CTF type event it is important that you set up your attack machine or VM and install all the tools that you might need. There was definitely a difference between the tools I thought I might need and the tools I needed. Let me explain. NCL told us off the break that the categories for the capture the flag were as follows:
Cryptography
Password Cracking
Log Analysis
Network Traffic Analysis
Forensics
Web Application Exploitation
Scanning
Enumeration and Exploitation
What I appreciated about this they tie the skills back to the NIST NICE framework by letting you know the value that the skills you are exhibiting and how it ties back to NICE cybersecurity workforce skills (Have you checked out the What Can I Do Series? on our blog). Even knowing the categories that the challenges were in did not prepare you for the challenges. For example, there were tools that I didn’t have downloaded on my machine which I found valuable for the competition. For example, DIIT (Digital Invisible Ink Toolkit) was invaluable to me for the Steganography related challenges. This is a good tool to have to solve those types of challenges. There are other tools that are native to Kali such as OpenStego, but it turned out that this tool didn’t work for the images I was provided. For other challenges while I had the available tools, I wasn’t familiar with how to use them. This was the case for john the ripper. John is a common password cracking tool which is great if you’re handing it a password or two to crack and a list. It is less great when you’re told that the password has a specific format and its long enough that brute forcing it and trying to hit all the combinations will not serve you any good. Another lesson learned from the experience is to use various browsers. For one of the challenges the answer was in the html code and was updated each time the page was refreshed. You could only see the information in specific browsers though so its good to have a backup handy. This is also the case for search engines. While I call myself relatively skilled in the art of google-fu, my yandex, my bing, my yahoo fu-s need work. I don’t use the other ones but google doesn’t always have the answer. Another lesson learned i’d give to anyone who is trying their hand at this type of event is “sometimes the answer is right in front of you” and “don’t overthink it.” We were provided a picture in one of the challenges and asked for some information and while I approached the problem by looking at meta-data and gps data and all the data, the solution to the problem was just found in looking at the picture. Another challenge involving a picture I did the same thing. In the challenge they gave you a screen shot of a twitter feed and the key, the key was in the comments on twitter. Me though? your girl looked at all the data, zoomed in, scanned the picture with a QR reader and everything. I went to the twitter page to get the og picture because the screenshot wouldn’t have metadata. The flag was comments on the twitter page.
Random file names check! NCL was full of surprises. They had a BSON file that had data in it. It was a database dump. Don’t know what BSON is… Neither did I. Crash course on mongodb on a Saturday night… why not? When I tell yall that I had like 100 browsers open across 2 different computers and 4 different VMS…. and of course no one has all the information on one page. Install the software, restore the database, read the database… I know SQL… TOO BAD it doesn’t use sql. learn how to query, count records, look for information. UGHHHHH. If you see me in these cyber streets with bald spots, you know what happened.
I also ended up needed random tools and programs for example a PDF cracker tool and tool that allows you to map gps coordinates and radii on a map to determine the location of a obscure airfield. I might have been amused if I wasn’t sick and stressed out and severely lacking on TIME.
Preseason lasted a week and the Individual competition lasted for 72 hours. For the preseason portion of the competition I found that you were given plenty of time. For the Individual competition I found there were not enough hours in the day. I was sick for most of the competition and my backup computer decided mid challenge to throw a temper tantrum and restart mid keystroke. MID TYPING. NO WARNING. (talk about big mad)
But i’ll tell you what, NCL was a great experience and I decided that once my papers go through for my nonprofit that i’ll be sponsoring a team. Be on the look out for the BlackGirlsHack Team in the team competition in early November but hopefully you’ll see us around for years to come. See y’all in these cyber streets