Sudomy adalah alat bantu subdomain enumeration, dibuat menggunakan bash script, untuk menganalisa domain dan mengumpulkan subdomain secara cepat dan lengkap.
- Mudah, cepat, ringan dan powerfull. Bash script tersedia secara default di semua distro linux. Dengan memanfaatkan fitur multipengolahan (multiprocessing) yang dimiliki oleh bash script, maka semua prosesor akan terpakai secara optimal.
- Pengujian enumerasi dns menggunakan metode aktif atau pasif
-
Metode aktif
- Sudomy memanfaatkan tools Gobuster, karena Gobuster sangat cepat dalam melakukan serangan DNS Subdomain Bruteforce (wildcard support). Wordlist yang dipakai berasal dari SecList (Discover/DNS). Beberapa file wordlist pada SecList kemudian disatukan menjadi sebuah file dengan total wordlist mencapai 3 juta entri.
-
Metode Pasif
-
Dengan menyeleksi situs pihak ketiga yang digunakan, proses enumerasi dns dapat dilakukan secara efektif dan efisien, hasil yang didapatkan lebih banyak tapi waktu yang dibutuhkan lebih sedikit. Sudomy dapat mengumpulkan data dari ke-16 situs pihak ketiga yang telah melalui proses seleksi sebagai berikut:
https://dnsdumpster.com https://web.archive.org https://shodan.io https://virustotal.com https://crt.sh https://www.binaryedge.io https://securitytrails.com https://sslmate.com/certspotter https://censys.io https://threatminer.org http://dns.bufferover.run https://hackertarget.com https://www.entrust.com/ct-search/ https://www.threatcrowd.org https://riddler.io https://findsubdomains.com
-
-
- Pengujian terhadap daftar subdomain yang ditemukan untuk memastikan http atau https server berfungsi dengan baik. Fitur ini menggunakan tools pihak ketiga yaitu, httprobe.
- Pengecekan subdomain berdasarkan Ping Sweep dan/atau mendapatkan HTTP status code
- Mampu mendeteksi virtualhost (beberapa subdomain yang berbagi satu alamat IP). Dari daftar subdomain yang ditemukan, Sudomy akan menerjemahkannya menjadi alamat IP, mengurutkan serta menggolongkannya apabila beberapa subdomain ternyata resolve ke alamat IP yang sama. Fitur ini akan sangat bermanfaat dalam proses pentest/bug bounty berikutnya, misal dalam melakukan port scanning, satu alamat ip tidak akan discan berulang-ulang.
- Melakukan port scanning dari alamat IP subdomain/virtualhost yang telah ditemukan
- Melakukan pengujian serangan Subdomain TakeOver
- Merekam tangkapan layar (screenshot) dari daftar subdomain
- Output laporan dalam format HTML atau CSV
Sudomy menggunakan library cURL untuk mendapatkan HTTP Response Body pada situs pihak ketiga serta melakukan regex (regular expression) untuk kemudian menyusun daftar subdomain. Proses ini dilakukan secara multipengolahan (multiprocessing) sehingga subdomain yang ditemukan lebih cepat dan banyak
Berikut ini adalah hasil pengujian enumerasi dns secara pasif, perbandingan sudomy dengan Sublist3r dan Subfinder. Domain yang digunakan dalam melakukan komparasi : bugcrowd.com.
Sudomy | Subfinder | Sublister |
---|---|---|
![]() |
![]() |
![]() |
Asciinema :
Sudomy saat ini diperluas dengan alat-alat berikut. Petunjuk tentang cara menginstal & menggunakan aplikasi ini ditautkan di bawah ini.
Tools | License | Info |
---|---|---|
Gobuster | Apache License 2.0 | Tidak Wajib |
httprobe | Tom Hudson - | Wajib |
nmap | GNU General Public License v2.0 | Tidak Wajib |
$ pip install -r requirements.txt
Sudomy membutuhkan jq untuk menjalankanya. Untuk informasi lebih lanjut tentang cara mendownload dan instalasi disini
# Linux
apt-get install jq nmap
# Mac
brew install jq nmap
Jika Anda memiliki lingkungan Go siap install dengan:
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
go get -u github.com/tomnomnom/httprobe
go get -u github.com/OJ/gobuster
Download Sudomy dari Github
# Clone this repository
git clone --recursive https://github.com/screetsec/Sudomy.git
# Go into the repository
sudomy --help
API Key diperlukan untuk melakukan query pada situs pihak ketiga seperti Shodan, Censys, SecurityTrails, Virustotal,
dan BinaryEdge
.
- Pengaturan API key dapat dilakukan melalui file sudomy.api
# Shodan
# URL : http://developer.shodan.io
# Example :
# - SHODAN_API="VGhpc1M0bXBsZWwKVGhmcGxlbAo"
SHODAN_API=""
# Censys
# URL : https://search.censys.io/register
CENSYS_API=""
CENSYS_SECRET=""
# Virustotal
# URL : https://www.virustotal.com/gui/
VIRUSTOTAL=""
# Binaryedge
# URL : https://app.binaryedge.io/login
BINARYEDGE=""
# SecurityTrails
# URL : https://securitytrails.com/
SECURITY_TRAILS=""
___ _ _ _
/ __|_ _ __| (_)(_)_ __ _ _
\__ \ || / _ / __ \ ' \ || |
|___/\_,_\__,_\____/_|_|_\_, |
|__/ v{1.1.0#dev} by @screetsec
Sud⍥my - Fast Subdmain Enumeration and Analyzer
http://github.com/screetsec/sudomy
Usage: sud⍥my.sh [-h [--help]] [-s[--source]][-d[--domain=]]
Example: sud⍥my.sh -d example.com
sud⍥my.sh -s Shodan,VirusTotal -d example.com
sud⍥my.sh -pS -rS -sC -nT -sS -d example.com
Optional Arguments:
-a, --all Running all Enumeration, no nmap & gobuster
-b, --bruteforce Bruteforce Subdomain Using Gobuster (Wordlist: ALL Top SecList DNS)
-d, --domain domain of the website to scan
-h, --help show this help message
-o, --html Make report output into HTML
-s, --source Use source for Enumerate Subdomain
-tO, --takeover Subdomain TakeOver Vulnerabilty Scanner
-pS, --ping-sweep Check live host using methode Ping Sweep
-rS, --resolver Convert domain lists to resolved IP lists without duplicates
-sC, --status-code Get status codes, response from domain list
-nT, --nmap-top Port scanning with top-ports using nmap from domain list
-sS, --screenshot Screenshots a list of website
-nP, --no-passive Do not perform passive subdomain enumeration
--no-probe Do not perform httprobe
Menggunakan seluruh situs pihak ketiga, kemudian melakukan pengujian apakah http/https server berfungsi dengan baik:
$ sudomy -d hackerone.com
Menggunakan salah satu situs pihak ketiga atau lebih:
$ sudomy -s shodan,dnsdumpster,webarchive -d hackerone.com
Menggunakan satu atau lebih Plugin:
$ sudomy -pS -sC -sS -d hackerone.com
Menggunakan seluruh Plugin , seperti pengecekan status host, status code, subdomain takeover, screenshots
$ sudomy --all -d hackerone.com
Membuat output laporan dalam format html
$ sudomy --all -d hackerone.com --html
Contoh output laporan HTML
Dashboard | Reports |
---|---|
- Youtube Videos : Click here
- Indonesia
- English
Semua perubahan penting akan didokumentasikan disini.
- Tom Hudson - Tomonomnom
- OJ Reeves - Gobuster
- Thomas D Maaaaz - Webscreenshot
- Daniel Miessler - SecList
- EdOverflow - can-i-take-over-xyz
- NgeSEC Community
- Gauli(dot)Net
- Bugcrowd & Hackerone