NoStarch Book Reviews

A while ago, No Starch Press generously donated to PPP some of their awesome book releases in computer security!

We have selected some of the reviews for the books that PPP members have read and very much enjoyed :)

Read more

Securing and Exploiting Go Binaries

Introduction

I have spent some time over the past month or so trying to use Go binaries in a secure manner and trying to exploit Go binaries and I thought it would be useful if I talked a little bit about my journey.

First, I have been working in Go for about a year now. As part of this years pCTF, I created a problem that involved exploiting a Go binary (binary and source here). I consequently had to deal with securing the binary to prevent leaking unnecessary information and had some fun playing around with exploiting a Go binary.

Read more

Codegate 2012 Pre-Qual

 

Last week, PPP participated annual Codegate CTF qualifier event.

Here’s our write-up: Codegate2012_PQ_Writeup_PPP.pdf

 

CSAW VIII

One of PPP’s favorite competitions is CSAW, mostly because it gives us an excuse to go to New York City if we qualify, but also because it was one of the first competitions that PPP won back in 2009 when it started. So, of course, in late September PPP competed in the CSAW qualification round. This year we put together 3 undergraduate teams: PPP{1,2,3} and 1 graduate team PPP5. We had both veterans and new recruits play this year.

Shortly after our weekly Friday meeting and dinner outing the teams separated and went to start with the hacking. The challenges started off pretty easy, with even the team composed entirely of new members solving all the crypto problems in a short period, but as the night progressed more difficult and interesting problems opened up.

After a few hours of sleep, the fun continued into Saturday with everyone working hard to solve as many problems as possible. But, even hackers need to eat and there is always time for a PPPPP (PPP Pizza Party).

By the end of Saturday night, PPP1 and PPP5 had solved a large subset of the problems and PPP{2,3}, while not as far, were still making constant progress. However, by Sunday morning, it became pretty clear that we would soon have to figure out how the hell to get 12 people to New York since it looked like all 3 of our teams were going to qualify for the final round.


Indeed this was the case.

By early November, mostly everyone was ready to skip class for a few days and go to New York City for the CSAW finals. Let it be known, that when PPP travels, PPP travels in style, so we rented two minivans and left on Thursday afternoon to drive to New York City. By the end of the night both teams had arrived safely, although one driver managed to get a speeding ticket.

The next morning we woke up and made our way over to NYU Poly’s campus to begin. The competition started at noon and went for 24 hours. The organizers of CSAW were extremely hospitable, buying us pizza, candy, and even letting us attend a fancy dinner event during which Mudge from L0pht gave a talk. The competition itself had some really fun problems, most of which were much more difficult than the those in the qualifying round. For example, one of the problems made by Dino Dai Zovi required constructing an exploit for Safari which allowed us to gain access to a box he was running remotely. However, even then the location of the keys weren’t obvious, one of the more well hidden keys required using a webcam attached to the box to take a picture of a piece of paper with a key written on it that was in front of it.

Overall, PPP had a great time and also did very well, taking both 1st and 2nd place.

 

 

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