Introduction to Reverse Engineering: CSAW CTF Competition

Jon Blount will be presenting an introduction to reversing this *Thursday at 8:00PM*.  He will be working through the first few challenges to last year’s NYU-Poly CSAW CTF security event (http://www.poly.edu/csaw-CTF), which is one of the largest capture-the-flag events with binary analysis.  Minimal reversing knowledge will be required if you want to follow along, or you can just come to watch and learn.  Bring a laptop with Windows (XP prefered) and OllyDbg 1.10 (http://www.ollydbg.de/download.htm) installed to follow along.

When:  Thursday 8:00PM in CS 209A

BONUS: Free Slice of Pie!

Adobe Reader Exploits & Reversing PDFs

When: Thursday, January 21 @ 7:00PM

Where: CS 209A

Josh Eads will be presenting on Adobe Reader exploits in general (some of the most common exploits recently) and go into detail with a case study on the recent CVE-2009-4324 exploit released in December of 2009.  The PDF file format will be briefly discussed to get a better understanding of how PDFs are interpreted by the Adobe Reader, and common techniques for exploiting the Reader software will be presented.  Finally, a hands-on case study of a malicious PDF file from the wild will show you how to parse the Javascript out of a PDF file and follow the Javascript to binary shellcode.

Bring a laptop with a virtualized copy of Windows (VMware, etc…) if you want to follow along and grab the tools that will be used.

Reversing the Adobe Reader Exploits – Part 1

Update: Turns out that the sample I was working with is not the new 0-day exploit described here. Once I get a sample of the new PDF exploit I’ll write a new post describing how it works (or read parody’s comment below for a preview).

On December 15, Adobe released a security advisory stating that a new vulnerability has been found in Adobe Reader that could potentially execute arbitrary code.  Instead of studying for my last two finals, I decided to try my hand at reversing a PDF exploit and figuring out what this new vulnerability is and what the wild malware is doing with it.

So first off, I have not looked into PDF exploits before and really don’t know much about the PDF format other than skimming through previous exploit advisories.  First off, by reading the advisory you can determine that this is a JavaScript exploit since disabling JavaScript is the current solution until Adobe releases a patch.  I found a really useful reversing cheat sheet a few weeks ago and I started off by finding a few tools that looked useful for decoding a PDF file and extracting the JavaScript (PDF Tools Suite and Malzilla).  From here I’ll proceed to extract the encoded JavaScript from the PDF and work on figuring out what the code does.

Extracting JavaScript from a PDF

The first tool we’ll be using is pdf-parser.py from the PDF Tools suite.  This script will search through a PDF file’s sections, display raw data in the sections, and decode JavaScript streams if they are encoded (FlateDecode).  Running pdf-parser.py on the malicious pdf without any options returns a list of all sections in the JavaScript file… which isn’t very useful to us since we are only interested in the JavaScript section that hopefully contains the exploit.  Instead, you can run pdf-parser.py -s javascript malware.pdf and the script will only return the JavaScript sections. For the pdf in this example it returns:

Read more

New Useful Information

First off, we won’t be having a meeting this week since most people will be busy finishing up projects & studying… plus Patrick and I are going polish up some presentations we’ve been working on and save them for next semester.

The “Useful Information” page now has more useful information than before, if you’re keeping track.  We have links to reversing sites & tools on the page, a very cool reversing cheat sheet PDF, and common ASM instructions with descriptions.  Go on over and check it out.

CrackMe Workshop

When: Thursday, November 12th @ 9:00PM

Where: CS 213 Computer Lab

This week, we will be picking some crackmes and then splitting into teams and work through them together, helping each other along the way.  Whichever team finishes first for each crackme can then explain how they solved it to everyone else.

Basic OllyDbg Tutorial & Patching Applications

When: Thursday, November 5th @ 9:00PM

Where: Centennial Hall CLC Lab

This week, we will be helping everybody install OllyDbg and other common reversing tools followed by a tutorial on the basics of OllyDbg.  Afterward, we will go through the first few reversing tutorials from Lena151 which cover patching applications to get around unwanted screens.

ACM SIG-SEC|Reversing First Meeting

Missouri S&T’s student chapter of ACM SIG-Security will be starting a separate focus group on reverse code engineering named SIGSEC|Reversing.  We will be meeting in CS209A on October 29th after SIGSEC’s meeting about Microsoft & Cloud Computing.  This will be a meeting to gauge interest in reverse engineering and decide on future meeting dates & activities.