Defcon Finals

Defcon19

After winning iCTF and Codegate, PPP had already prequalified for Defcon19. Of course, we couldn’t be lamers so we also qualified through the normal prequal round (which makes us the first team to ever triple qualify for Defcon).

Our team slowly flew into Vegas from around the country to compete in the final round against many other awesome teams and friends.

PPP in Vegas

Most of team PPP before the competition

Of course, we were in Vegas for a reason, so we didn’t have too much time to spend on the strip. We needed to be well rested for the CTF, after all.

Like most teams, we had two groups of people during the competition, one working downstairs on defense, and another goup holed up in a hotel room working on reversing/exploits.

Early morning preparations

Early morning preparations

When the competition began, we were given an image of our server, as well as login details for it. As a new twist this year, the competition was all based over IPv6, making it exceptionally challenging to get some of our network tools working properly on the server.

Of course, in ddtek tradition, the scoreboard and submission servers were not available until near the end of the first day, which gave everyone time to write a few exploits and get defenses up and running.

By the end of the first day, PPP was exploiting quite a few challenges and had a decent score.

Score after Day 1

Score after Day 1, PPP in a sad 4th place

After a long night of working on fixing networking tools with IPv6 and finishing exploiting a few more problems, we all got a bit of sleep to get ready for day 2.

Breakfast

Breakfast - the most imporant meal of the day

Despite having more exploits written and keeping our services up throughout day 2, we dropped in position quite a bit. We were told the scoreboard was inaccurately displaying data such as SLA (how well we keep our services up/defend them) wrong, and having many outages of access to servers, but there was little we could do about that. Overall it was very difficult to tell how we were doing score wise, as the only scoreboard to which we had access was the one presented by ddtek, which rarely updated and did not display any information such as for which services we were correctly getting points.

Before the second day ended, another team rooted our CTF server. To be a bit more accurate, lollersk8ters rooted ddtek’s, and therefore all contest player’s servers. Although other teams complained about the same issue, it took ddtek almost an hour to realize the problem was on their side, despite our evidence that a team must have been outside the jail. Of course the entire time, all teams were locked out of their servers. Doh!

adc

adc from lollersk8ters, after rooting everyone's box

We later found out one to three other teams had also rooted ddtek’s servers, and therefore the servers for all other contestants.

After the second day, we had dropped all the way down into 7th place. That night we finished up exploits for all but one service, ready to go for the next day of the competition, though we weren’t sure what would happen after lollersk8ters had control over everyone’s boxes already.

The third day of the competition no scoreboard was displayed. Rumor has it that this is traditional to make the results of the CTF more suspenseful, though we never actually told why there was no scoreboard on the last day.

Although we were submitting keys for challenges, after the final placement of teams was released, it seemed scores didn’t change much if at all on the third day.

After the competition ended, PPP put its time in Vegas to good use. We hung out with a few of the other awesome teams and, of course, did other Vegas specific activities.

Slots

Definitely not hacking slot machines

Sadly, PPP came in 7th place overall. Not horrible, but certainly not as well as we would have hoped. The final list of teams is available at ddtek’s website, though it is very unfortunately lacking both raw scores as well as packet captures.

Congratulations to European Nopsled Team, who won first place, Routards in second, Hates Irony in third, and all other contestants! We had a great time competing with you and hope to do it again soon.

For those interested, Routards also had a great post on how the competition unfolded.

 

Positive Hack Days

On May 18th, PPP was in Moscow playing in the Positive Hack Days CTF competition. This competition was organized by Positive Technologies, a computer security firm located in Russia. Andrew, Brian, David, Ricky, and Tyler traveled to Russia to participate in the challenge.

SVO Airport

David, Brian, Ricky, and Andrew outside SVO Airport

This was the first time in Russia for most members of the team, and none of us knew many Russian words or phrases, which made the trip quite interesting. Luckily the organizers of the competition sent Yulia to pick us up from the airport, as well as to help us check into our hotel and do some translating into English for us.

 

Hotel Molodezhnaya

Hotel Molodezhnaya

After settling into our hotel and managing to get some food without using the Russian language, we went to bed after a long day of travel. The next day we tried out the Russian metro system (if we can handle crypto, we can handle Russian, right?), traveling to Red Square and Izmailovsky Park.

Entering Red Square

Brian entering Red Square, with St. Basil's Cathedral in the background

There were many beautiful and historic buildings, though we didn’t have enough time to see them all. Eventually we traveled to Izmailovsky Park, where we were able to get some food and take a break from the urban Moscow life.

Izmailovsky Park

David, Ricky, Andrew, and Brian in Izmailovsky Park

Of course, with the CTF competition fast approaching, we needed to get back to our hotel and get some rest so we could be ready to pwn in the morning.

After a good night’s sleep, we went to the adjoining building to our hotel for the PHDays conference and competition.

CTF Arena
CTF Arena

We were pretty surprised once we got into the actual location where the CTF was being held. Not only was the room originally a nightclub rather than a standard conference hall, but everything was setup in the room quite awesomely. There were three large projectors displaying the status of game services for each team, a standard scoreboard, as well as a neat visualization of attacks between teams.

The competition organization was quite excellent. Not only were there a ton of challenges (some of which we didn’t even have time to look at), the organizers also had some awesomely made video clips throughout the competition to introduce new updates, which were handed to us in envelopes marked “Top Secret”.

 

Scoreboard

Scoreboard about half way through the game

Throughout most of the competition we were able to maintain a pretty good lead by patching and exploiting services quickly, rather than spending time focusing on “blackbox” problems (which were like more typical CTF style problems).

Of course, LeetMore did not let us relax our guard, so we had to keep working hard the entire competition to maintain our lead. In the end, we were able to stay ahead of everyone else and take first place!!!

After the eight hour competition we had some time to talk with the other teams, as well as eat some food (and cake!) while listening to live music.

Cake

How Russians cut cake

Afterwards there was a small individual “Russian style” hacking contest, followed by the awards ceremony.

Teams together

PPP, Leetmore, and some Nibbles members

Not only did Positive Technologies give us an awesome trophy, they also gave us our prize money in a bad-ass looking briefcase. Because really, what better way to receive your prize money than in a locked briefcase?

Andrew with prize

Andrew admiring our winnings

After the ceremony was over, we went back to our rooms to get some sleep after a long day of hacking.

On our last day in Moscow, the organizers from Positive Technologies set up a tour for all the foreign teams to see the city. Despite some heavy traffic close to Red Square, we still had a great time with our friends from Nibbles, BIOS, and Positive Technologies.

PPP at MSU

PPP outside of Moscow State University

Nibbles

Nibbles outside of Moscow State University

Red Square

Organizers from Positive Technologies walking through Red Square

After our tour of Moscow, we all went out to dinner with the international teams, as well as presenters and organizers from Positive Hack Days. Unfortunately, the CTF teams from Russia were not able to make it to dinner, so we did not have more time to hang out and talk with them.

BIOS

A few members from the BIOS team

Dinner

Celebrating a great competition with new and old friends

After dinner we walked around Moscow until nighttime, when we eventually went back to our hotel to rest for the trip home.

Nighttime

Red Square at night

The next day we took a taxi to the airport (again kindly arranged by Positive Technologies), where PPP parted ways for our journey back to the United States. Hopefully next year we will be able to participate in Positive Hack Days again, and see all our friends and fellow hackers. We would like to thank all of the organizers for Positive Hack Days. It was very clear that a lot of work went into making the competition and conference run smoothly, and we are very thankful for one of the best run competitions we’ve seen!

(Many more pictures from multiple sources, collected by the competition organizers can be found here.)

pCTF Aftermath

pCTF

As you all know by now, PPP recently hosted its own CTF competition called PlaidCTF. This was a great chance for our team to take all the problems we wished we found in other competitions and force other people to solve them. We had an awesome time putting problems together for people to solve, and we’d like to think it turned out pretty well.

The competition started a little behind schedule, and we had a few hiccups during the competition. In the end, however, all but one problem (which was removed due to oversights on our part) had been pwned by at least one team, and over 400 teams had signed up to play. We tried to make our problems different from what we’ve seen in past CTF’s, and we hope that everyone who took the time to solve them learned a lot in the process.

 

C&C

pCTF Command and Control Center

During the 48 hour competition, we were saddened to find ourselves just as busy as when we participate in competitions ourselves. Most of the 48 hour competition was spent keeping our servers running and answering questions on IRC, with perhaps an hour here and there for sleep.

Although running our own competition was incredibly stressful, it was also a lot of fun. We ended up learning a few new techniques as players solved problems differently than we planned and we also had many stressful moments watching as teams submitted keys they had mistyped by just a few characters.

Of course, the most important part of any competition is the winners! Although all the teams did a great job, especially considering our scheduling conflict with a major holiday, Hacking for Soju, C.o.P, and SSH came out on top, winning first, second, and third place, respectively. Final scores for all teams are available here.

More information, including writeups from the top teams, can be found at http://www.plaidctf.com .

We would also appreciate feedback and ways to improve pCTF. We plan to hold the competition again next year, and we want to make it as awesome as possible, which means we need suggestions from you on how we could make it better.

Thanks for playing, and we hope to see you next year!

 

 

Codegate Finals

Codegate 2011

As you may remember, PPP qualified this year for the annual Korean Codegate competition. This is one of the most popular CTF competitions in the world, which made it an impressive feat to even make it to the final round for a second time.

This year the team decided to schedule more time in Korea than last year, giving more chances to see Seoul and hang out with other teams. Although we were disappointed that the top teams this year were not as geographically diverse as last year, we were happy that another American team, Disekt, was around.

After a bit lot of resting from the long flight from Pittsburgh, we went to COEX so the competition organizers could record some rather embarrassing videos of our team to play during the competition. We then met up with Disekt, as well as our friend LarsH from Hacking for Soju (HFS) for some pre-CTF dinner.

 

Dinnerz
PPP, Disket, and LarsH eating dinner

Of course, we came to Korea to hack, and so early the next morning we traveled to COEX for the competition. In order to make the competition more observer friendly, the organizers this year changed the way that scoring in the competition would take place. Rather than simply submitting keys for points, the game was actually styled after the Korean game Yut. Although this was a bit confusing at first, it ended up not changing the game play too much.

 

PPP
PPP getting ready for the big game

We were a bit disappointed (though not surprised) to see that this year the competition focused less on binaries problems and more on forensics. Of course, that’s no reason for us not to solve problems! By about half way through the competition, PPP was in the lead.

 

Scoreboard
Half way through, we’re in the lead!

Of course, as we learned last year, it is very easy for one to lose one’s position, so if we wanted to stay in first, we needed to keep solving problems!

 

Nap
Damnit Andrew, don’t sleep, we need to solve problems!

After a lot of furious googling to solve forensics problems and very little sleep, we managed to maintain our position, despite the other teams working hard to get ahead. At the end of the 24 hour match we had a comfortable lead of 8 spaces on the Yut board.

 

Final score
Final score

Behind us were the teams PLUS (who were originally not going to participate in the finals) and One-Eyed Jack, both of which are awesome teams from Korea. Although we tried to return to our hotel to get some rest before the final ceremonies and dinner with other teams, we were called back to talk to some reporters about the competition and our team. Despite not having slept for about 30 hours at that point, we still enjoyed the speakers and final ceremony.

 

 

Final ceremony

Final ceremony

Win

It's not a real win without a giant check!

After finally getting a chance to go back to our hotel with just enough time to shower (but sadly not so sleep), we went back out to have dinner with the awesome organizers and other great teams.

 

HFS

HFS

Disekt

Some members of Disekt with Fairuzan, an organizer

Brian and Beist

Brian and Beist

Sutegoma2

Sutegoma2

Peace

One-Eyed Jack and Sutegoma members

LarsH

LarsH approves

Of course, even though the competition ended, this was not the end of our trip! After a day to catch up on sleep, we spent some time with HFS.

 

Dinnerz

Dinner with HFS

After first going out to dinner with HFS as well as some organizers from the competition, we then found a Korean pool hall. Luckily pool skills were not tested in Codegate, as HFS is much better at it.

 

Pool

Pool with HFS

The next day the team went to Seoul Women’s University to give some talks on security. This was a bit different from our normal routine, so we weren’t quite sure how things would work out.

 

SWU

Seoul Women's University

We presented two talks to a classroom full of students: one talk on buffer overflows and preventions, and another talk on lockpicking. As most of you probably know, computer science/engineering is a field with a disproportionately large amount of males, so it was great seeing that many female students interested in computers and computer security.

 

Lockpicking

Some SWU students practicing lock picking

After we left, we had dinner with a few awesome students from Seoul Women’s University, generously paid for by the professors Hyung Jong Kim and Yoonjeong Kim. Some of the students had recently formed a group for people interested in computer security, we hope to see them participate in CTF competitions soon.

 

Dinner

The next day we met up with one of Brian’s friends for lunch at a Korean Chinese restaurant and to see some new parts of Seoul.

 

Lunch

Brian and Kayla

Lunch

Andrew and Ricky after a tasty lunch

We then toured around Seoul seeing some impressive historic places and monuments, eventually we wandered into a small “tea museum”, where we each tried different types of teas.

Statue

 

Tea
Ricky and Andrew drinking tea

After finishing our tea, we went to a large open market/mall to see some random Korean shops. Soon after, we met up with another friend of Brian’s, who was an organizer in Codegate both this year and last, to go up to Namsan tower.

Mall

 

Hike

Brian and MinKyung take a break on the hike to Namsan tower

Namsan

Namsan Tower

After getting to the tower and walking around for a little bit, we went back to the city to get some food. For our last night in Korea, we met up with some graduate students under a professor Yong Su Park, who is currently visiting Cylab CMU.

 

Last Supper

PPP's last Korean dinner of the trip

Of course, we love Korean food, so that couldn’t have been the end of it. When we woke up the next morning to go to the airport with Brian’s dad, we stopped for one last Korean lunch, as well.

PPP

With no more last Korean meals to take, we headed back to America, to catch up on a week’s worth of missed classes and homework. We had a great time in Korea! Thank you to all the Codegate organizers and all the friends we met (and made) in Seoul for such a great week.

Hope to see you all again next year!

 

 

Plaid CTF

In case you haven’t heard, we’re hosting our own CTF competition in about one month. We’re going to have prizes sponsored by Lockheed Martin, so you should definitely sign up if you haven’t already.

Read more about it and sign up here!

You can also follow us at @pctf2011 to get the most recent news about Plaid CTF 2011.

Research Group is hiring!

Hi everyone, I’m posting this at our Faculty Advisor’s (Professor David Brumley) request.

If you are interested in the following position, please contact him!

Job Opening (Staff Programmer)

We’re looking for great systems programmers to work on automatic program exploitation and program analysis problems. We need strong programmers with an emphasis on systems-level knowledge (knowing how a program gets compiled down, unix, etc.). Being able to reverse engineer binaries and write exploits against program binaries is a plus. Experience with writing compilers/optimizations, or program verification is also a plus. We write our code in C and OCaml. The position is at Carnegie Mellon University in CyLab (www.cylab.cmu.edu) with Prof. David Brumley. You’d also be working with CMU PhD students and undergrads. To get a sense of the security projects, visit http://security.ece.cmu.edu.

If interested, please apply at http://www.cmu.edu/jobs to job listing 7993
or by this link:
https://secured.kenexa.com/cmu/cc/CCJobResultsAction.ss?command=ViewJobDetails&job_REQUISITION_NUMBER=7993

If you have questions, please send an e-mail to dbru@cmu.edu

 

Codegate 2011

Codegate 2011This weekend we participated in the qualification round for one of the largest international computer security competitions, Codegate.

Hosted in Korea, Codegate 2011 attracted hundreds of teams from all around the world. The problems consisted of web vulnerabilities, forensics, cryptography, binary reversing, and some problems related to security topics that had been in the news. Sadly this meant there were almost no problems featuring binary exploitation, which is one of our strongest areas of expertise. Regardless, there were some really interesting and challenging problems for us to work on.

Sadly, as this was an international competition, it started at a really obnoxious time for those teams from America, at lovely 7am.

 

1337 h4x0rs

1337 h4x0rs (not actually taken at 7am because we were too tired to be thinking about pictures then)

We had some incredibly tough competition this year. Sutegoma, Hates Irony, Disekt, GoN, Plus, int3pids, Playtronics, and Leetmore were all beating us at one point or another over the 48 hour game. While of course it would be nice to be in first the entire time, it’s also good to have other teams around to keep us on our feet! Overall, we did not do too great in solving challenges quickly, amassing only a few breakthrough points, though Sutegoma and Leetmore were both incredibly quick at solving challenges immediately.

 

Damnit

Damnit Leetmore, slow down so we can try solving the problems!

It was also a bit frustrating that challenges were released very slowly, which left us with no choice but to keep scratching our heads on the same problems for hours. Luckily we got a short break from the monotony of problem solving for a while to enjoy some fun moments in IRC. As the competition came to an end and the sun started to rise, our problem solving abilities unfortunately diminished greatly.

 

1am

It's 1am. In 6 hours the competition ends, but those of us awake will be too busy trying to solve crypto 500 to take pictures.

With the help of caffeine and loud music, we were able to scrape a few more points through, finishing up a few more problems in the wee hours of the morning. While we managed to narrowly beat out Disekt, we still ended up in third place behind Sutegoma and Hates Irony. I guess that just means we’ll need to beat them in the final round!

All in all, we had a good time at Codegate, and we’re looking forward to meeting our new challengers, and seeing teams coming back from last year. Although having lots of diversity in the teams last year was nice as a cultural experience, having three teams form the USA in the top eight teams world wide is pretty awesome.

For what you all came here for: our write up can be found here.

I strongly recommend reading some of Leetmore’s writeups (who solved a lot of problems in ways we didn’t think about), as well as Hates Irony’s writeups.

 

ShmoonCon Ghost in the Shellcode 2011

Just got back from ShmooCon and it seems that some people want a writeup for the taped challenge. I highly encourage you to try it yourself first, because once you see the bug, it takes away some of the fun.

Download taped
Read more

Padocon + wgsbd

wgsbd + Padocon

wgsbd + Padocon

This weekend PPP decided to do something different and participate in two competitions at the same time. As our school semester just started, our team was missing a few people which hurt us a bit, but those who participated in Padocon and wgsbd had a great time!

Padocon started early, and we had a rough time with challenges for a while. There were lots of great challenges, including many deceptively simple looking binaries similar to last year. We also learned a lot when solving some of the forensic challenges.

Thinking very hard

Thinking very hard

Of course, 13 hours into Padocon, we began working on wgsbd (CTF hosted by the Spanish group Security by Default). With only 15 challenges, it seemed this competition would be fast, but that was not true at all! Many of the challenges took us quite some time to solve. The web03 problem was incredibly interesting. The page allowed command execution on the server, but limited what could be run severely. Getting around the restrictions so we could read the token involved quite a few especially convoluted web queries, such as:

cmd=eval%09read%09a%09$(set%09$(id%09$(printf%09%c%09$((9223372036854775807*2)))

$(printf%09%c%09$((9223372036854775807*2)))help);printf%09%c%09${123})%09$(printf%09

%c%09$PATH)var$(printf%09%c%09$PATH)tmp$(printf%09%c%09$PATH)a;echo%09$a

which took quite a lot of brain power and time to figure out.

Of course we were still working on Padocon challenges as well! And for a few hours we pulled ahead to the top team.

Scoreboard

Almost half way into Padocon, sadly the scores did not stay like this ;)

By the time we went to sleep, we were doing pretty well in both competitions. Of course, while we were dozing off, other hackers were rushing to take out place, dropping us down a few places in each competition.

After waking up and solving a few more problems, though, we were back in the running. After the 48 hour Padocon ended, we were exhausted, so we all decided to go home and get some rest. A couple days after the competition was over, we were finally awarded a few hundred points because we found and reported numerous accidental vulnerabilities in the Padocon services (we rooted a few of their machines which we weren’t supposed to… oops!). This was enough to bump us up to a final ranking of third.

Working on Karma

Must... solve... more... karma binaries!

After a bit of rest followed by some debugging, we were able to get back to work on wgsbd shortly before it ended, coming in a comfortable third place.

All the participants in both competitions did very well, especially GoN, disekt, sur3x5f, int3pids, and painsec.

While doing more than one competition at a time seemed to hurt our scores a little bit, it was a whole lot of fun!

ShmooCon CTF Warmup 2011

A couple of PPP members (awesie, tylerni7) participated in the ShmooCon CTF Warmup. It was lots of fun and awesie got the prize! We also figured we should post a write-up for #3.
Read more