• Stars
    star
    663
  • Rank 67,547 (Top 2 %)
  • Language
    Python
  • License
    GNU General Publi...
  • Created almost 9 years ago
  • Updated over 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

All your IPs are belong to us.

DHCPwn

Build Status Python Versions PyPI Version

DHCPwn is a tool used for testing DHCP IP exhaustion attacks. It can also be used to sniff local DHCP traffic.

Useful links:

Overview

The DHCP protocol is connectionless and implemented via UDP. These two characteristics allow this attack to be performed. Since there is no actual connection being made between the client and server we can quickly send many spoofed requests.

DHCP servers rely on the senders MAC address to allocate IP addresses. We can easily spoof many requests with different, fake MAC addresses. This will eventually exhaust the server's ability to assign new IP addresses. Depending on the server's method of releasing IP addresses associated with a given MAC address this attack will either be more, or less effective. For example, if a server quickly releases allocations that it doesn't receive responses from, the attack will be less effective.

This attack is typically considered to be a form of DoS.

Installing

$ pip3 install dhcpwn
$ dhcpwn -h

OR

$ git clone https://github.com/mschwager/dhcpwn.git
$ cd dhcpwn
$ pip3 install -r requirements.txt
$ python3 dhcpwn.py -h

Using

Flood:

$ dhcpwn --interface wlan0 flood --count 256

Sniff:

$ dhcpwn --interface wlan0 sniff

Help:

$ dhcpwn -h