Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What are some advanced and modern resources on exploit writing?

Tags:

I've read and finished both Reversing: Secrets of Reverse Engineering and Hacking: The Art of Exploitation. They both were illuminating in their own way but I still feel like a lot of the techniques and information presented within them is outdated to some degree.

When the infamous Phrack Article, Smashing the Stack for Fun and Profit, was written 1996 it was just before what I sort of consider the Computer Security "golden age".

Writing exploits in the years that followed was relatively easy. Some basic knowledge in C and Assembly was all that was required to perform buffer overflows and execute some arbitrary shell code on a victims machine.

To put it lightly, things have gotten a lot more complicated. Now security engineers have to contend with things like Address Space Layout Randomization (ASLR), Data Execution Prevention (DEP), Stack Cookies, Heap Cookies, and much more. The complexity of writing exploits went up at least an order of magnitude.

You can't event run most of the buffer overrun exploits in the tutorials you'll find today without compiling with a bunch of flags to turn off modern protections.

Now if you want to write an exploit you have to devise ways to turn off DEP, spray the heap with your shell-code hundreds of times and attempt to guess a random memory location near your shellcode. Not to mention the pervasiveness of managed languages in use today that are much more secure when it comes to these vulnerabilities.

I'm looking to extend my security knowledge beyond writing toy-exploits for a decade old system. I'm having trouble locating resources that help address the issues of writing exploits in the face of all the protections I outlined above.

What are the more advanced and prevalent papers, books or other resources devoted to contending with the challenges of writing exploits for modern systems?

like image 752
mmcdole Avatar asked Dec 05 '09 06:12

mmcdole


People also ask

What is writing an exploit?

Description. [break/] [break/] [break/] 'Exploit Writing' is one of the major attacking methods used by the attackers to exploit the computer systems and networks compromising vulnerabilities in them.

Is exploit development?

Exploit development is essentially the act of finding vulnerabilities in software and applications and establishing how they can be used to overtake a targeted system.


2 Answers

You mentioned 'Smashing the stack'. Research-wise this article was out-dated before it was even published. The late 80s Morris worm used it (to exploit fingerd IIRC). At the time it caused a huge stir because back then every server was written in optimistic C.

It took a few (10 or so) years, but gradually everyone became more conscious of security concerns related to public-facing servers.

The servers written in C were subjected to lots of security analysis and at the same time server-side processing branched out into other languages and runtimes.

Today things look a bit different. Servers are not considered a big target. These days it's clients that are the big fish. Hijack a client and the server will allow you to operate under that client's credentials.

The landscape has changed.

Personally I'm a sporadic fan of playing assembly games. I have no practical use for them, but if you want to get in on this I'd recommend checking out the Metasploit source and reading their mailing lists. They do a lot of crazy stuff and it's all out there in the open.

like image 76
Michiel Kalkman Avatar answered Sep 26 '22 01:09

Michiel Kalkman


I'm impressed, you are a leet hacker Like me. You need to move to web applications. The majority of CVE numbers issued in the past few years have been in web applications.

Read these two papers:

http://www.securereality.com.au/studyinscarlet.txt

http://www.ngssoftware.com/papers/HackproofingMySQL.pdf

Get a LAMP stack and install these three applications:

http://sourceforge.net/projects/dvwa/ (php)

http://sourceforge.net/projects/gsblogger/ (php)

http://www.owasp.org/index.php/Category:OWASP_WebGoat_Project (j2ee)

You should download w3af and master it. Write plugins for it. w3af is an awesome attack platform, but it is buggy and has problems with DVWA, it will rip up greyscale. Acunetix is a good commercial scanner, but it is expensive.

like image 27
rook Avatar answered Sep 25 '22 01:09

rook