Skip to main content

An interactive training tool for budding network programming enthousiast's!

Project description

Packet-Maze

Packet Maze Example

An interactive training tool for budding network programming enthousiast's!

Are you a packet wizard? How's your packet craft? Find out with this interactive trainer!

Start off by doing a little setup (skip if you know what you're doing)

Setup

There are two main dependencies - bcc and Python.

BCC

Find your OS and follow their installation guide - it's fantastic:

Once you have bcc setup on your system - run the following on the 'admin' or 'teacher' box.

Python3

If you don't want to run things as sudo - the folloing might work:

sudo setcap CAP_NET_RAW+ep "$(readlink -f `which python3`)"

Otherwise, install the Python requirements and start packet_maze.py

sudo python3 -mpip install -r ./requirements.txt
sudo python3 packet_maze.py --iface eth0

Play

Let students know your IP address and MAC address and have them 'play' the following levels.

Register! : 0 - ARP - Link

Register by sending an ARP reply packet across the link with a source hardware address of FE:ED:ME:13:37:55 to the interfaces broadcast address

Baby Steps... : 1 - IP - Internet

Take the next steps in the wide new world of internet protocol by crafting an evil IP packet, with a payload containing your desired username max length of 10 bytes

Are you Alive? : 2 - ICMP - Internet

Kick off the next stage by sending, as an IPv4 payload, a type 13 ICMP packet with an id value of hex 42, a sequance value of 88 and an Originate timestamp as the IPv4 address 1.3.3.7

Yeet! : 3 - UDP - Transport

Traverse the transport layer by sending an UDP packet from and to port 55555 with a payload of [x)0.0(x]

A Short Conversation. : 4 - TCP - Transport

Traverse the transport layer again by setting up a TCP session on port 55555, with the first data packet containing a payload of ACK\x00\x01\x02\x03 which is PSH'd

World-Wide-Webz : 5 - HTTP - Application

Finish by leveraging a well known application level protocol - HTTP - complete this by sending a HTTP OPTIONS request for all resources using HTTP/13 at the destination port of 55555

Docker

No - it's another layer of silly - you have to expose sys/modules and install the same kernel headers for docker to insert the module anyways - why do that? Open an Issue if you've a great reason.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

packet_maze-0.1.0.tar.gz (20.4 kB view hashes)

Uploaded Source

Built Distribution

packet_maze-0.1.0-py2.py3-none-any.whl (20.6 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page