Lessons Learned From CTF Quals
9:19 pm June 2nd, 2008
Hardware / OSs (For the thrifty hacker): If you have one machine to play with, run virtual machines with a small variety of operating systems and tools on them (see below). This suggestion is per member, and does not represent the one requirement for the whole team. Each member should be set up in such a way.
Hardware / OSs (For those who have more): If you have two~four machines, make sure one runs FreeBSD 6.3 or newer (check it BEFORE the competition and load all libraries); run a good distro of Linux (load Perl, Python, C and Assembler support) and use the last machine(s) to crunch data culled by the other two. For your Linux distro(s) I would suggest BackTrack 3 and/or Helix 1.9a for probes, analysis and forensics; and/or Ubuntu / Mint / Knoppix for the coding helper machines (more hard core peeps might prefer Gentoo / Debian / Slackware). These suggestions represent what two or more members of your team may have available. The more the merrier - checking over one another’s findings, or sharing out tasks will help!
Team Communications: Have two (or more) ways to contact team members and pass data. For coordination we used a free VoIP application (TeamSpeak) on one of our own servers and a private channel on a public IRC server. We passed data between one another, during analysis, via email and my website. If one channel for comms went down we had several backups… 95% of our comms turned out to be on IRC.
Sandboxes / Sharing Info: Have individual, as well as team, sandboxes to collaborate in. Some of your ah-hah moments may occur when one person is working on something and another is inspired to try something new, based on what s/he saw from the teammate. Said sandbox can be a secondary channel in IRC (away from the normal chatter), an IM or some other method where real to near-real time display of the data and commentary can be performed.
Don’t Be A Prick: Don’t try to socially engineer or “brute force” the qualification judges - people can get banned from the qualification contest for trying various shenanigans. Trust that the judges are smarter than the average bear and have been around the block a few times.
Know Thy Team Mate: Know what your team members are good at. Average team members will need to have an intermediate understanding of what networking is all about, know about coding and be comfortable with various admin / security tools. Above average members may have specialized skills and would be best put in charge of specific tasks that align to their strengths. Knowing who is good at what can minimize time spent spinning wheels and will help the team win points, theoretically, faster than less organized teams. Keep in mind that data can still swap between members as the task progresses, based on the skill set requirement changing as the datasets evolve into the answer you will need to win the task.
All Work & No Play Makes Jack A Dull Boy: Schedule your times for working together on tasks - or at least for touching base. Our team was too small to work 24 hours every day, but we were on for a sizable chunk of the competition. And for those long stretches, remember to throw some fun time in with the work - Halo / Rock Band / Mario Kart mini-competitions should be encouraged in moderation (wink). Helps with breaking tensions when a task seems unbeatable and the play time bonds the team together.
It’s shocking, I know, but I didn’t make it into the top seven teams who were chosen to compete in the hacker bloodsport known has Capture The Flag at
Well crap. It’s official… My
Hotnessssss… I can finally roll with the cool kids… I got my
I ran through the haul that I made of the
Alrighty… I’ve been debating this for a couple of weeks, and have decided to be brave. I have posted the video of my DefCon15 presentation (direct link