Kang Asu
Syborg - Recursive DNS Subdomain Enumerator With Dead-End Avoidance System
Syborg is a Recursive DNS Domain Enumerator which is neither active nor completely passive. This tool simply constructs a domain name and queries it with a specified DNS Server.
Syborg has a Dead-end Avoidance system inspired from @Tomnomnom's ettu.
When you run subdomain enumeration with some of the tools, most of them passively query public records like
virustotal
, crtsh
or censys
. This enumeration technique is really fast and helps to find out a lot of domains in much less time.However, there are some domains that may not be mentioned in these public records. In order to find those domains, Syborg interacts with the nameservers and recursively brute-forces subdomain from the DNS until it's queue is empty.
Ordinarily if there are no records to return for a DNS name you might expect anNXDOMAIN
error:You may have noticed that sometimes you get an empty response instead though:▶ host four.tomnomnom.uk Host four.tomnomnom.uk not found: 3(NXDOMAIN)
The difference in the latter case is often that another name - one that has your queried name as a suffix - exists and has records to return▶ host three.tomnomnom.uk
This difference in response can be used to help avoid dead-ends in recursive DNS brute-forcing by not recursing in the former situation:▶ host one.two.three.tomnomnom.uk one.two.three.tomnomnom.uk has address 46.101.59.42
▶ echo -e "www\none\ntwo\nthree" | ettu tomnomnom.uk one.two.three.tomnomnom.uk
Syborg incorporates all of these functionalities with simple concurrency and recursion.
Requirements:
Python 3.x (Recommended)
Python 2.x (Not tested)
Installation:
Clone the repo using the
Requirements:
Python 3.x (Recommended)
Python 2.x (Not tested)
Installation:
Clone the repo using the
git clone
command as follows:
Resolve the Dependencies:
pip3 install -r requirements.txt
Usage:
python3 syborg.py yahoo.com
More information regarding usage can be found in Syborg's Creative Usage Guidelines. Do check it out!
At times, it is also possible that Syborg will hit High CPU Usage and that can cost you a lot if you are trying to use this tool on your VPS. Therefore to limit that use another utility called Cpulimit
At times, it is also possible that Syborg will hit High CPU Usage and that can cost you a lot if you are trying to use this tool on your VPS. Therefore to limit that use another utility called Cpulimit
cpulimit -l 50 -p $(pgrep python3)
This tool can be downloaded as follows:
sudo apt install cpulimit
Special Thanks <3:
- @nahamsec for his invaluable contribution towards the community by live streams. Check out his twitch channel https://twitch.tv/nahamsec
- @tomnomnom for making such awesome tools and sharing with everyone. Be sure to check out his twitch https://www.twitch.tv/tomnomnomuk
- @GP89 for the
FileQueue
lib that resolved high memory consumption problem with Syborg. - Patrik Hudak for his awesome teachings and tools like
dnsgen
.
Regards
Kang Asu
No comments:
Post a Comment
# Silahkan berkomentar, bertanya dan kritik dengan sopan
# Disini anda boleh menyisipkan Link di kolom komentar
# Tetapi akan saya moderasi atau Review terlebih dahulu tiap komentar
# Jangan sampai komentar anda mengandung SPAM.
# Terima Kasih - Regards Muhammad Sobri Maulana