Book Image

Hands-On Penetration Testing with Python

By : Furqan Khan
Book Image

Hands-On Penetration Testing with Python

By: Furqan Khan

Overview of this book

With the current technological and infrastructural shift, penetration testing is no longer a process-oriented activity. Modern-day penetration testing demands lots of automation and innovation; the only language that dominates all its peers is Python. Given the huge number of tools written in Python, and its popularity in the penetration testing space, this language has always been the first choice for penetration testers. Hands-On Penetration Testing with Python walks you through advanced Python programming constructs. Once you are familiar with the core concepts, you’ll explore the advanced uses of Python in the domain of penetration testing and optimization. You’ll then move on to understanding how Python, data science, and the cybersecurity ecosystem communicate with one another. In the concluding chapters, you’ll study exploit development, reverse engineering, and cybersecurity use cases that can be automated with Python. By the end of this book, you’ll have acquired adequate skills to leverage Python as a helpful tool to pentest and secure infrastructure, while also creating your own custom exploits.
Table of Contents (18 chapters)

Exploit Development

In this chapter, we are are going to explore exploit development. We are going to understand how we can use Python to develop custom exploits. Although our main focus will be on developing exploits in Python, we will also see how we can develop exploits in Ruby to extend the capabilities of the Metasploit framework.

An exploit is nothing but a piece of code, written to exploit a vulnerability so that the same piece of code can be reused in different environments. The objective of writing an exploit is to ensure that the code is stable and that it will give the attacker the control they desire. It should be noted that an exploit is developed for a specific kind of vulnerability. It's very important to first understand the vulnerability and the manual steps required to exploit it. Once we have a clear understanding of this, we can proceed to automate the...