High-performance DDoS vulnerability testing toolkit. Various L4/7 attack vectors. Async networking.
Project description
FiberFox ๐ฆ
High-performance DDoS vulnerability testing toolkit. Implements various L4/7 attack vectors. Low CPU/RAM requirements with async networking (thousands of active connections with <100Mb of memory).
Heavily inspired by MHDDoS project.
WARNING: Do not test websites without their owners consent. Package default settings are tuned to avoid large impact when running tests.
Install
From sources:
$ git clone https://github.com/kachayev/fiberfox.git
$ cd fiberfox
$ python setup.py install
From PyPI:
$ pip install fiberfox
Build Docker image:
$ git clone https://github.com/kachayev/fiberfox.git
$ cd fiberfox
$ docker build -t fiberfox .
Usage
Example:
$ fiberfox \
--targets tcp://127.0.0.1:8080 http://127.0.0.1:8081 \
--concurrency 512 \
--rpc 1024 \
--strategy STRESS \
--duration-seconds 3600 \
--proxies-list ./proxies.txt
Features:
--concurrency
(or-c
) defines number of async coroutines to run. Fiber doesn't create a new OS thread so you can run a lot of them with small overhead. For TCP attack vectors, number of fibers rougly corresponds to the max number of open TCP connections. For UDP attacks, running too many fibers typically makes performance worse.- Muliple targets are supported.
--concurrency
(-c
) option defines number of fibers per target. - Connections could be established using HTTP/SOCK4/SOCK5 proxies. Available proxies could be setup from the static configuration file or dynamically resolved from proxy providers. The tool automatically detects "dead" proxies and removes them from the pool.
More documentation about flags:
$ python fiberfox --help
usage: fiberfox [-h] [--targets [TARGETS ...]] [-c CONCURRENCY] [-s {UDP,TCP,STRESS,BYPASS,CONNECTION,SLOW,CFBUAM,AVB}] [--rpc RPC] [--packet-size PACKET_SIZE] [-d DURATION_SECONDS]
[--providers-config PROVIDERS_CONFIG] [--proxies-list PROXIES_LIST] [--proxies [PROXIES ...]]
options:
-h, --help show this help message and exit
--targets [TARGETS ...]
List of targets, separated by spaces (if many)
-c CONCURRENCY, --concurrency CONCURRENCY
Number of fibers per target (for TCP means max number of open connections)
-s {UDP,TCP,STRESS,BYPASS,CONNECTION,SLOW,CFBUAM,AVB}, --strategy {UDP,TCP,STRESS,BYPASS,CONNECTION,SLOW,CFBUAM,AVB}
Flood strategy to utilize
--rpc RPC Number of requests to be sent to each connection
--packet-size PACKET_SIZE
Packet size (in bytes)
-d DURATION_SECONDS, --duration-seconds DURATION_SECONDS
How long to keep sending packets, in seconds
--providers-config PROVIDERS_CONFIG
Configuration file with proxy providers
--proxies-list PROXIES_LIST
List proxies
--proxies [PROXIES ...]
List of proxy servers, separated by spaces (if many)
Attack Vectors
Attack vector is defined by --strategy
option when execution the script.
Note: the package is under active development, more methods will be added soon.
L4
UDP
TCP
CONNECTION
L7
BYPASS
STRESS
CFBUAM
SLOW
AVB
Analysis
The tool reports number of statistics per each target: number of packets, traffic, rate. For TCP-based attacks (both L4 and L7), it also reports histogram of packets sent within a single session (session here means traffic sent within a single open connection). Ideally, the histogram should be skewed towards right side. If otherwise is true, it means the peer closes connection earlier than "requests per connection" packets were sent. This might indicate that the attack strategy choosen is not effective.
Contribute
- Check for open issues or open a fresh issue to start a discussion around a feature idea or a bug.
- Fork the repository on Github & fork master to
feature-*
branch to start making your changes.
License
Release under the MIT license. See LICENSE for the full license.
โโโโ
โโโโโโโโ
โโโโ โโโโ
โโโโ โโโโโโโโ
โโโโโโ โโ
โโโโ โโโโโโ โโ
โโโโโโโโโโโโ โโโโโโ โโ โโโโ
โโโโโโโโ โโโโ โโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโ
โโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโ โโโโโโโโโโโโโโโโโโโโโโ โโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโ โโโโโโโโโโโโโโ โโ โโ โโ โโโโโโโโโโโโโโ
โโ โโ โโโโ โโ โโโโโโโโโโโโโโโโ
โโ โโโโโโ โโ โโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโ
โโโโ โโโโโโโโโโโโ โโโโโโ
โโโโโโ โโโโโโโโโโโโโโ โโโโโโ
โโโโโโโโโโโโโโโโโโ โโ โโ
โโโโโโโโโโโโโโ โโ โโโโ
โโโโโโ โโ โโโโโโ
โโ โโโโ
โโโโโโ
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file fiberfox-0.2.2.tar.gz
.
File metadata
- Download URL: fiberfox-0.2.2.tar.gz
- Upload date:
- Size: 35.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.0 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/1.5.0 colorama/0.4.4 CPython/3.10.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e9615100b85b4e7328fb7e1c96c6d4fac3db9939ba285ea09651c09785e03fce |
|
MD5 | d38b24e9efc7590782bf82b3a1bb2ca2 |
|
BLAKE2b-256 | e183005d2b7b29c3f54c4010012e34a95c24f24bcb26875008d5754f65f526be |
File details
Details for the file fiberfox-0.2.2-py3-none-any.whl
.
File metadata
- Download URL: fiberfox-0.2.2-py3-none-any.whl
- Upload date:
- Size: 14.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.0 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/1.5.0 colorama/0.4.4 CPython/3.10.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 06bc89b857e5db5249e3ed007694e80c1c3f97bdede04d2c9dd16184df503204 |
|
MD5 | 52a32a1263e49525102d8fcafdc83f79 |
|
BLAKE2b-256 | 861db7534e7ef226a0d36e8010b67cabd03de3ac82f2d12239b7f4df1db8a964 |