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)

SYN flooding

SYN flooding is a type of DOS attack that makes the service unavailable for legitimate users. A SYN flood attack makes use of the TCP protocol's three-way handshake, where a client sends a TCP SYN packet to start a connection to the server, and the server replies with a TCP SYN-ACK packet. Then, in a normal operation, the client will send an ACK packet followed by the data. This will keep the connection open with a SYN_RECV state. But, if the client does not respond with an ACK packet, the connection will be in a half-opened state.

If multiple attackers or systems opened many such half-opened connections to the target server, it could fill the server's SYN buffer and may stop it receiving more SYN packets to cause a Denial-of-Service (DoS) attack:

We can generate SYN flood packets with Scapy for the testing.

...