Skip to main content

Posts

Showing posts from November, 2016

Exploit Development on Linux Platform Part - 4

Vulnerable Code in “C” Language  Introduction     Welcome to module 4 of this workshop. In this module, we will experience some debugging with the vulnerable code based on Linux platform and we will be using “C” as our programming language. Prerequisites To get the most out of this module, it is recommended that you should have: • Complete previous three modules • Background in programming at least at a beginner level • Understands TCP/IP • Beginner level knowledge in information security • Passion to learn ethical hacking • Understand Debugging and Know GDB This module will not be as theoretical as we had in previous modules; however, what we will cover in our lab is the debugging on Linux and how to make good use of it for exploit development. The key of exploit development is controlling EIP, and in this module we will go to the level of overwriting EIP register with the help of GDB in debugging. Debugging on Linux with GDB We have already spoken about GDB

Exploit Development on Linux Platform Part - 3

     Buffer overflows Introduction    Welcome to module 3 of this workshop. So far we have discussed the Linux operating system and debugging on Linux platform. In this module, we will be talking about Buffer overflows in more granular detail and we will try to focus buffer overflows as generic as we can in order to keep this concept independent from any specific platform. This would be more of a knowledge-based module, which will hopefully build baseline knowledge about buffer overflows, its types, precautionary measures, and the reasons for buffer overflows.     We will be also discussing types of overflows and how you can exploit them and get the illegitimate access to the operating system. Prerequisites • Knowledge of TCP/IP protocols • Basic knowledge of operating systems • Complete the previous two modules of this workshop • Should have at least beginner level concepts in programming The Basics      A stack is a contiguous block of memory which is used by