Thursday, August 9, 2012

Maryland Cyber Challenge and Conference & Global CyberLympics: The Journey

With the next season of the Maryland Cyber Challenge and Conference and the Global CyberLympics starting up, I am well overdue to write some posts about last season's adventure.  This will be a five part series:  The Journey (Part 1), TeamSploit (Part 2), Trollware (Part 3), Unsploitable (Part 4), Defensive Tools For The Blind (Part 5).

Maryland Cyber Challenge and Conference (MDC3)

It all started with the MDC3, Maryland decided they wanted to cash in on the vast skill and experience they housed in the Baltimore-Washington DC Metropolitan Area, self-proclaiming to be the Silicon Valley of Information Security.  Working for one of the larger Information Security firms in the area, my employer and I were directly in the cross-hairs of MD - we were the target audience.

For the first time ever, my employer came to me to compete in a competition, instead of the other way around, a nice change in pace.  I was asked to participate as the team captain and build a team due to my previous competition experience, having competed in every single Mid-Atlantic Collegiate Cyber Defense Competition; for the first three years on the blue cell (defense) and the red cell (offense) since.

The team quickly came together, honestly I had some good candidates in mind already. Benjamin Heise was the first to get the offer, and was setup as the co-captain for the team.  I had worked with Ben for a few years, he was good, one of the best I know, and he had some experience with the CCDC already.  With Ben and I having extensive offensive experience, we needed some defensive folks, so I contacted Matthew Wines and Mark Reinsfelder.  Both were good friends of mine, and both worked with me, plus they had competed on both the defensive and offensive teams at the CCDC.  With the four of us, we already had a real powerhouse, stocked with plenty of previous competition experience.  But we needed two more players.  Enter Steve Collmann and Jesse Hudlow, both were new to the competition scene, but both really knew their stuff in their respective areas:  Steve Collmann would primarily focus on Windows Defense, and Jesse Hudlow would round out our Offense.  And so the team was born.

The MDC3 was a phased-based competition, each phase focused on a different arena of Information Security.  In total, we competed in three phases, the first two virtual and the last, in-person at the Conference.  Each virtual phase acted as a qualifier or elimination round, slowly dwindling the list of teams down until eight fought head-to-head at the in-person event.

The Phases:
  1. Computer Network Defense (CND)
  2. Forensics
  3. Penetration Test
The CND phase consisted of two virtual machine images, one Windows and one Linux.  Both were a bit dated, Windows 2000 and Red Hat 9.  We had six hours to secure the systems before they would be audited.  Having a good mixture of Windows and Linux experience on the team paid off, we split up and tackled both systems simultaneously.  We even used our vast offensive experience to do our own auditing and testing.  In the end, while the points were not revealed, we know we made it to the next round.

The Forensics round consisted of a single EnCase hard-drive image.  We were to take this image, preform the forensics analysis, and then deliver a detailed forensics report (Who, What, Where, When, Why, and How) within six hours.  Using a number of open source tools, we quickly found a number of items of interest:  encrypted and encoded data we deciphered, stenography we uncovered, deleted files we recovered, and plenty of logs.  The remainder of our time was spent drafting the detailed report.  It just goes to show that writing is a skill required in the information security field.  The point totals for the forensics round were not released, but after the round we learned we had indeed passed all of the qualifiers and would be competing in the final in-person event.

The Penetration Testing round was far different than the previous two rounds, primarily due to the fact that it was in-person and live.  We arrived at the Baltimore Convention Center to find a large competition area, furnished with equipment and plenty of camera crews.  We competed that day under the bright studio lamps, and hundreds of spectators passing through as they rushed to their next conference talk.  This event required us to obtain access to eleven different systems, plant a flag, and then write a detailed Penetration Testing report.  We were actually the first group to obtain access to all eleven systems; in fact, we were the first group to gain access to all eleven systems in the history of that environment.  The scores were broadcasted live to the spectators and we actually spent a great deal of time in second place.  During the last hour the scores were taken down and we just kept on keeping on.

We impatiently awaited the results at the award ceremony which took place at the conclusion of the conference.  We were confident, but certainly unsure.  Our Project Manager, who spectated for the day, looked as if he was going to faint at any moment.  As tradition, they announced the teams in descending order, starting at third.  When they announced that 'Team Pr3tty' had secured second place, we knew we had taken home the gold.  Barely, containing our excitement, we awaited our name to be called and our chance to walk on stage.

We joined the stage, shook hands, took pictures, and if you've seen any TV Game Shows you know how this next part goes - As we walk across the stage, the announcer says "And you're GOING TO MIAMI."  Dazed and confused is the only way to describe it.  We look down to our Project Manager as the announcer continues to explain that the first and second place team gets a seat at the North American Championship for the Global CyberLympics, tomorrow.

After much fanfare and endless phone calls, we get all of the approvals in check and headed home, for in less than twenty-four hours later, we would be on the plane headed to the GCL...

Global CyberLympics (GCL)

We skipped right past the qualifications and eliminations, directly to the big show, the North American Championship.

Unlike the MDC3, the GCL was a more traditional CTF event.  Each team had a number of systems they needed to defend against all the other teams.  Flags were replaced with "phoning home," a process which informs the scoring system you have access, and at which level.

We broke the team down into two groups:  Offense and Defense.  We had two primary players for each group, and two floaters, the team broke down as such:

  • Offensive Floater:  Me
  • Offensive Group:  Ben & Jesse
  • Defensive Floater:  Matt
  • Defensive Group:  Mark & Steve
The structure was simple, the dedicated defensive players would focus on defending our network and the dedicated offensive players would focus on attacking everyone else.  The floaters would stick to their primary designation, unless the other group needed assistance.

Right out of the gates, the offensive group gained and maintained access to just about every Windows box, and had most of the Linux boxes too.  This situation didn't really change much throughout the entire event.  We rarely lost access, and just slowly picked up the few stragglers here and there.  The defensive players played cat and mouse with the attackers all day.  It was a cake walk on the offensive side, but an all out grudge match on the defensive side.  The scoreboard was live until sometime late in the afternoon, although we were in first almost the entire time.

In the end we secured the title of North American Champions with almost seven times the offensive score of the second place team, but only a round's worth of points on the defensive side.  We won, no doubt, but the event was a real eye-opener into where our team needed the most work:  Defense.  After much celebration in Miami, we headed home, home to work, home to life, but also home to prepare...prepare for the World Finals.

The MDC3 and North American leg of the CyblerLympics took place in October; however, the World Finals weren't held for another five months in March of 2012.  We had plenty of time to plan and prepare.  Ben immediately started work on a Lab environment, filled with countless vulnerable images, and I quickly put together a scoring engine.  Between Ben and I, we created our own CTF in a box.  After which, the CTF team got together time and time again, and did full-on pedal to the metal events.  The offensive side would pumble the defensive side, and the defensive team would cry out in anger.  But slowly the defensive team was getting better and better.  I even devised a small training programming, consisting of a crawl, walk, run approach to under-fire windows defense.  All in all, our defensive side was really shaping up, and our offensive team was getting an itch, and itch to automate.

Knowing there was months before the World Finals, we knew people would code, script, and automate as much as possible.  The environment was going to be the same, everyone had already seen it.  In a lot of respects, the competitions came down to a ingenuity and/or coding competition.  As our defensive group got better, we started transitioning our focus to tool development.  If it could be automated, we were automating.

We worked on both offensive and defensive tools.  On the defensive side, we planned to have automated patchers, system monitoring, active response tools, and much more.  On the offensive side, we planned out automated exploitation, automated post exploitation, even tools to automate the flag steps (phoning home) and plenty of other treats.  In the end we really only came out with three viable products:  TeamSploit, Unsploitable, and Defensive Tools For The Blind.  I'll go into depth on each of these in the upcoming parts of the series, for now here is a quick description:

TeamSploitTeamSploit makes group-based penetration testing fun and easy, providing real-time collaboration and automation. TeamSploit is a suite of tools for the Metasploit Framework. TeamSploit should work with any MSF product (include, OpenSource, Express, or Pro).

UnsploitableUnsploitable is an emergency patcher, providing critical security patches and updates for commonly exploited vulnerabilities in common operating systems, services, and applications.

Defensive Tools For The BlindDefensive Tools For The Blind (DTFTB) is a collection of Windows and Linux tools that automate discovery of post exploitation, backdoors, and rouge access, for defenders. DTFTB allows a system defender to quickly and precisely locate common backdoor tendencies and system misconfigurations used by an attacker to maintain access.

In the end, we placed second in the World, against none other than Deloitte (one of the big four).  Trust me, you can't complain.  It was a wild journey, filled with fun and learning, what more could you ask for?

Here are some articles about our journey and accomplishments:

Keep an eye out for the upcoming parts of this series:  TeamSploit (Part 2), Trollware (Part 3), Unsploitable (Part 4), Defensive Tools For The Blind (Part 5).

1 comment:

TehCount said...

Nicely written. What a year for the team! Best of luck defending your titles!