Book Image

Python Penetration Testing Cookbook

By : Rejah Rehim
Book Image

Python Penetration Testing Cookbook

By: Rejah Rehim

Overview of this book

Penetration testing is the use of tools and code to attack a system in order to assess its vulnerabilities to external threats. Python allows pen testers to create their own tools. Since Python is a highly valued pen-testing language, there are many native libraries and Python bindings available specifically for pen-testing tasks. Python Penetration Testing Cookbook begins by teaching you how to extract information from web pages. You will learn how to build an intrusion detection system using network sniffing techniques. Next, you will find out how to scan your networks to ensure performance and quality, and how to carry out wireless pen testing on your network to avoid cyber attacks. After that, we’ll discuss the different kinds of network attack. Next, you’ll get to grips with designing your own torrent detection program. We’ll take you through common vulnerability scenarios and then cover buffer overflow exploitation so you can detect insecure coding. Finally, you’ll master PE code injection methods to safeguard your network.
Table of Contents (15 chapters)

DHCP starvation

DHCP is the protocol that helps to assign clients' IP addresses to the LAN. The process of assigning DHCP consists of four steps--DHCPDiscover, DHCPOffer, DHCPRequest, and DHCP ACK.

DHCPDiscover is the first step where the client broadcasts in the LAN to find a DHCP server that can provide an IP for the client. Then the server will respond with a unicast DHCPOffer, where it offers a possible IP. Then, the client will broadcast the DHCPRequest with the IP to all networks, and finally the server will respond with a DHCP ACK or DHCP NAK. ACK represents a successful DHCP process, while NAK represents when the IP is not available:

The DHCP server stores the IP information to MAC bindings. If we ask for too many IPs from the DHCP server, other legitimate clients will not get an IP to connect. This is known as a DHCP starvation attack. In this recipe, we will be...