Image
 
linkedin_logo.png rss_logo.jpg
twitter_logo.png youtube_logo.jpg
Latest Additions
 
EH-Net Login
Welcome Guest.






Lost Password?
No account yet? Register
Who's Online
We have 33 guests and 2 members online
 
Free Business and Tech Magazines and eBooks

You are here: Home arrow Ethical Hacking Discussions and Related Certificationsarrow Programmingarrow Exploits => reverse engineering => bug findings Where to begin?
EH-Net
May 25, 2013, 08:12:12 PM *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News: Go back to The Ethical Hacker Network Online Magazine Home Page
 
   Home   Help Calendar Login Register  
Pages: [1]   Go Down
  Print  
Author Topic: Exploits => reverse engineering => bug findings Where to begin?  (Read 7205 times)
0 Members and 1 Guest are viewing this topic.
millwalll
Guest
« on: September 20, 2011, 05:50:56 AM »

Hi all,

I am after some advice, I would like to learn more about finding bugs and using this to make exploits. I am very new to this sort of area and not sure best place to start. Are there any good website or books that take you from complete newbie to a intermediate level or beyond?

thanks 
Logged
idr0p
Newbie
*
Offline Offline

Posts: 49


View Profile
« Reply #1 on: September 20, 2011, 06:27:08 AM »

Malware Analysts Cookbook

http://www.amazon.com/Malware-Analysts-Cookbook-DVD-Techniques/dp/0470613033/ref=sr_1_1?ie=UTF8&qid=1316517960&sr=8-1


Gray hat python

http://www.amazon.com/Gray-Hat-Python-Programming-Engineers/dp/1593271921/ref=sr_1_1?s=books&ie=UTF8&qid=1316517985&sr=1-1
Logged

GCIA GCIH GPEN GWAPT
Up Next: CISA CISSP
cd1zz
Recruiters
Hero Member
*
Offline Offline

Posts: 561


View Profile WWW
« Reply #2 on: September 20, 2011, 07:52:03 AM »

There are a few angles to think about when finding bugs. You can fuzz apps to find bugs, you can do manual code review (which is likely not possible unless you have the code) or you can do reverse engineering.

For fuzzing, the Sutton book is great http://www.amazon.com/Fuzzing-Brute-Force-Vulnerability-Discovery/dp/0321446119/ref=sr_1_1?ie=UTF8&qid=1316522906&sr=8-1

For RE, you can start with this book http://www.amazon.com/Reversing-Secrets-Engineering-Eldad-Eilam/dp/0764574817/ref=sr_1_1?s=books&ie=UTF8&qid=1316522939&sr=1-1

RE is hard, fuzzing is not nearly as hard. Once you find the bug, then you need to figure out if its exploitable and write an exploit for it. OSCE is great for this!

The Malware Analysts Cookbook is more for learning about how to deal with and analyze malware. Not necessarily finding 0 days.

Logged

millwalll
Guest
« Reply #3 on: September 20, 2011, 10:09:58 AM »

Thanks for the links what best OS to use ? also what good tools to use I know the books would recommend some tools but would like to try have play before I get the books Smiley thanks
Logged
mambru
Jr. Member
**
Offline Offline

Posts: 98


View Profile
« Reply #4 on: September 20, 2011, 10:12:30 AM »

both idr0p and cd1zz have given very good recommendations. If you follow the RE path, sooner or later you'll want to start using IDA Pro, the next book is awesome to learn about it

http://www.amazon.com/IDA-Pro-Book-Unofficial-Disassembler/dp/1593272898/ref=sr_1_1?ie=UTF8&qid=1316531493&sr=8-1
Logged
TheXero
Full Member
***
Offline Offline

Posts: 112


Try Harder!


View Profile WWW
« Reply #5 on: September 20, 2011, 10:18:18 AM »

I have gotten the "Hacking: The art of exploitation" which is a really good book, however that was after I started developing my own exploits.

Initally I looked at null threats blog which really got me hooked on exploit development except I didn't use metasploit, but rather started learning some python and recreating an exploit from scratch from the exploit db using the concept he shows in the videos.

That was all in the lead up to starting pwb which has a good section on exploit development, but as I'd done it before some people said I was at an advantage.
« Last Edit: September 20, 2011, 10:19:54 AM by TheXero » Logged

mambru
Jr. Member
**
Offline Offline

Posts: 98


View Profile
« Reply #6 on: September 20, 2011, 10:21:09 AM »

Quote
Thanks for the links what best OS to use ? also what good tools to use I know the books would recommend some tools but would like to try have play before I get the books Smiley thanks

The OS will depend on what SW you try to find the bugs, you can find good tools both for Win and Linux (I'm sure also for OS X, but I don't have any experience there), for example, regarding debuggers on Linux you have gdb, while on Win you have Windbg (you'll want to start with Immunity Debugger or OllyDbg though). Regarding other fuzzers, it will depend once again on what kind of SW you're fuzzing. So there's no an all-fit-one tool.
Logged
cd1zz
Recruiters
Hero Member
*
Offline Offline

Posts: 561


View Profile WWW
« Reply #7 on: September 20, 2011, 10:23:06 AM »

In this case, different from your last post....when you're debugging or RE an application for Windows, you'll likely be using Windows as your OS. I think its possible to do cross debugging but I have zero experience with that.

I always use a windows box to debug windows apps with Immunity debugger. Corelan has a tremendous plugin called mona.py that can really speed up exploit development, especially if you want to create metasploit modules. I think IDA has a Linux version but I'm not sure. Mambru has more RE experience than I do and can give you better advice on that.

Logged

millwalll
Guest
« Reply #8 on: September 21, 2011, 03:29:50 AM »

Thanks I think most of my stuff will be done on windows as I have 14 year working on windows boxes and only about 2 or 3 with linux.
Logged
sil
Hero Member
*****
Offline Offline

Posts: 549



View Profile WWW
« Reply #9 on: September 21, 2011, 10:55:17 AM »

These are the books I would add, with the IDA book being number 1

Art of Software Security Assessment: Identifying and Preventing Software Vulnerabilities
http://www.amazon.com/Art-Software-Security-Assessment-Vulnerabilities/dp/0321444426/ref=cm_lmf_tit_8

Rootkits: Subverting the Windows Kernel
http://www.amazon.com/Rootkits-Subverting-Windows-Greg-Hoglund/dp/0321294319/ref=cm_lmf_tit_14

Exploiting Software: How to Break Code
http://www.amazon.com/Exploiting-Software-How-Break-Code/dp/0201786958/ref=cm_lmf_tit_12

The Shellcoder's Handbook: Discovering and Exploiting Security Holes
http://www.amazon.com/Shellcoders-Handbook-Discovering-Exploiting-Security/dp/047008023X/ref=cm_lmf_tit_13

Fuzzing for Software Security Testing and Quality Assurance
http://www.amazon.com/Fuzzing-Software-Security-Assurance-Information/dp/1596932147/ref=cm_lmf_tit_7

Aside from the reading, operating system is only relevant to what you want to find "faults" with. Fuzzing is nothing more than fault injection. You likely would yield little results fuzzing Windows files on a Nix box. There are plenty of tools on Windows systems that can help you: PaiMei, Klocwork Architect, Codenomicon, Protos, etc.

The key to benefitting though is to focus on understanding why an application is behaving in a method that causes it to act outside of the norm. This will include knowing and understanding a lot of machine code (Assembly) as well as understanding debugging. For debugging on Windows I use WinDBG for almost everything. From time to time I may plop in and out of Olly or Immunity Debugger, but WinDBG has been very useful to me.

When I was getting deeper into debugging and figuring things out, I followed Vostokov heavily:

http://www.dumpanalysis.org/blog/index.php/about/
http://www.amazon.com/Crash-Dump-Analysis/dp/B0042ETC7C

There is a lot to know for Windows including literally living on MSDN for months reading up on calls, instructions, etc. This was primarily for Windows mind you. *nix based fuzzing is a bit different because of the variants (Linux, BSD, Solaris, HPUX, QNX, etc). Almost all handle things differently.

Fuzzing involves more than just tools. What's the point of aiming tools to find a crash if you don't know how to capitalize on that crash.

If you heavily want to learn, I suggest you watch for Assured Exploits training by Dino Dai Zovi (http://trailofbits.com/2011/01/11/upcoming-events-in-2011/). I have not taken the OSCE so I am unsure how much you can actually yield with regards to fuzzying.

Another thing to note is OpenRCE.org, http://www.woodmann.com/ are your friends in this arena. In order to understand bugs, you WILL NEED TO understand reverse engineering heavily.
Logged

millwalll
Guest
« Reply #10 on: September 21, 2011, 12:22:17 PM »

WOW! lots great resource that I will be checking out but I am total new to this sort of thing what book would be the best starting places as some I have looked at have assumptions. I know this hard question to answer.

I have some programing language skill's in Java and mainly web based stuff. I have never done any C,C++ or assembly. so I like fish out water I need like idiots guide to exploits as taking this up more of something to learn in my spare time. I just want to start from bottom and get better.

thanks
Logged
mambru
Jr. Member
**
Offline Offline

Posts: 98


View Profile
« Reply #11 on: September 21, 2011, 01:29:12 PM »

I had the chance to attend the Assured Exploitation class by Dino Dai Zovi and Alex Sotirov, and it was awesome, I highly recommend it.

Another great class is Aaron Portnoy's Bug hunting and analysis class. He will give it once again next January. You can check the last edition contents:

http://recon.cx/2011/training3.html
Logged
lorddicranius
Sr. Member
****
Offline Offline

Posts: 447



View Profile WWW
« Reply #12 on: September 22, 2011, 12:54:47 AM »

I thought of this thread when I saw this on twitter...

Quote
@thealuc: learn reverse engineering with a free copy of IDA Pro and trainings examples... download it here: bit.ly/oIzLmz
Logged

GSEC, eCPPT, Sec+
millwalll
Guest
« Reply #13 on: September 22, 2011, 03:13:17 AM »

Thanks for the links. mambru looks good but I am based in the UK so its pain to get to Canada Tongue
Logged
hurtl0cker
Jr. Member
**
Offline Offline

Posts: 73


View Profile
« Reply #14 on: September 25, 2011, 01:42:23 AM »

There is a new book out there
http://www.amazon.com/Bug-Hunters-Diary-Software-Security/dp/1593273851

Myne-US laid out a nice road map for any one who are starting their a journey into exploitation from the scratch. Hope it might help

http://myne-us.blogspot.com/2010/08/from-0x90-to-0x4c454554-journey-into.html
« Last Edit: December 10, 2011, 11:31:10 PM by hurtl0cker » Logged

“Knowing is not enough; we must apply. Willing is not enough: we must do.”
- Bruce Lee
Pages: [1]   Go Up
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines
Joomla Bridge by JoomlaHacks.com
Valid XHTML 1.0! Valid CSS!
Page created in 0.099 seconds with 23 queries.
 
Exclusive Deal

sansfire13_245x90_cw90.jpg
SANSFIRE 2013
June 15 - 22

5% Off w/ Code: EHN_5

SANS Deals 4 EH-Netters
5% OFF Any SANS Course in Any Format!
Coupon Code: EHN_5 Including SANS Rocky Mountain 2013 & SANS Boston 2013
Polls
Compared to this year, 2013 will be:
 
Recent Forum Topics
EH-Net News Feeds
Latest Additions
 
         
Advertisement

© 2013 The Ethical Hacker Network
Joomla! is Free Software released under the GNU/GPL License.