
Sudomy é uma ferramenta de enumeração de subdomínios para coletar subdomínios e analisar domínios realizando reconhecimento automatizado (recon) para caça a bugs / testes de penetração.

Sudomy é uma ferramenta de enumeração de sub-domínios criada com bash script para analizar e coletar dominios e subdominions de forma rápida e compreensiva.
Método Ativo
Método Passivo
Selecionando bons sites de terceiros, o processo de enumeração pode ser otimizado. Mais resultados podem ser obtidos em menos tempo. Sudomy pode coletar dados destes 20 sites de terceiros:
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
https://rapiddns.io/
https://otx.alienvault.com/
https://index.commoncrawl.org/
https://urlscan.io/
Sudomy esta usando a biblioteca cURL para obter o body das respostas HTTP a partir dos sites terceiros para após isso executar expressões regulares e obter os subdomínios. Esse processo aproveita totalmente todos os processadores e assim mais subdomínios serão coletados em menos tempo.
Abaixo estão os resultados de enumerações passivas em DNS usando Sublist3r, Subfinder, e Sudomy. O domínio usado para comparação foi o bugcrowd.com.
| Sudomy | Subfinder | Sublister |
|---|---|---|
![]() | ![]() | ![]() |
Asciinema :
Sudomy esta atualmente utilizando as seguintes ferramentas. As instruções de como instala-las & usa-las estão linkadas abaixo.
| Tools | License | Info |
|---|
# Clone o repositório
git clone --recursive https://github.com/screetsec/Sudomy.git
$ pip install -r requirements.txt
Sudomy precisa jq para roda e fazer parse. Informações sobre como baixar e instalar podem ser acessadas aqui
# Linux
apt-get update
apt-get install jq nmap phantomjs golang npm
npm i -g wappalyzer wscat
# Mac
brew cask install phantomjs
brew install jq nmap go npm
npm i -g wappalyzer wscat
Se você já tiver o ambiente Go, então siga essas instruções:
Adicione as seguintes linhas ao seu ~/.bashrc (Do seu usuário)
nano ~/.bashrc
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
source ~/.bashrc
Então instale as dependências
go get -u github.com/tomnomnom/httprobe
go get -u github.com/OJ/gobuster
# Dê pull na imagem a partir do DockerHub
docker pull screetsec/sudomy:v1.1.6
# Rode a imagem. Você pode rodar a imagem de qualquer diretório, mas você deve copiar/baixar a configuração sudomy.api no seu diretório atual.
docker run -v "${PWD}/output:/usr/lib/sudomy/output" -v "${PWD}/sudomy.api:/usr/lib/sudomy/sudomy.api" -it --rm screetsec/sudomy:v1.1.6 [argument]
ou definir a variável API enquanto estiver executando.
docker run -v "${PWD}/output:/usr/lib/sudomy/output" -e "SHODAN_API=xxxx" -e "VIRUSTOTAL=xxxx" -it --rm screetsec/sudomy:v1.1.6 [argument]
A chave da API é necessária antes da busca em sites terceiros, como por exemplo Shodan, Censys, SecurityTrails, Virustotal, e BinaryEdge.
# 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.5#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, --outfile specify an output file when completed
-s, --source Use source for Enumerate Subdomain
-aI, --apps-identifier Identify technologies on websites from domain list
-dP, --db-port Collecting port from 3rd Party default=shodan
-eP, --extract-params Collecting URL Parameter from Engine
-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
--html Make report output into HTML
Para usar todas as 20 fontes de busca por servidores http or https:
$ sudomy -d hackerone.com
Para usar uma ou mais fontes:
$ sudomy -s shodan,dnsdumpster,webarchive -d hackerone.com
Para usar um ou mais plugins:
$ sudomy -pS -sC -sS -d hackerone.com
Para usar todos os plugins: testar status do host, http/https status code, subdomain takeover and screenshots.
Nmap,Gobuster,wappalyzer e wscat não estão incluídos.
$ sudomy --all -d hackerone.com
Para criar um report em formato HTML
$ sudomy --all -d hackerone.com --html
Exemplo de report HTML:
| Dashboard | Reports |
|---|---|
![]() | ![]() |
Qualquer mudança importante neste projeto será documentada neste arquivo.
| Gobuster | Apache License 2.0 | Não obrigatório |
| httprobe | Tom Hudson - | Obrigatório |
| nmap | GNU General Public License v2.0 | Não obrigatório |