
🚀 Um scanner e ferramenta automatizados de DNS 🖱️ (Zone Transfer, DNS Zone Takeover, Subdomain Takeover).
O Subrake, inicialmente iniciado como um projeto pessoal meu para enumeração de subdomínios, é agora uma ferramenta detalhada de varredura DNS que pode ajudá-lo a identificar Transferências de Zona, Assunção de Zona DNS e Assunção de Subdomínios tudo de uma só vez.
As Transferências de Zona existem há anos e, se ativadas por algum motivo em um domínio, podem permitir que outra parte enumere todos os registros da Zona. Elas são realmente usadas quando o proprietário deseja transferir o domínio de um provedor para outro.
Assunção de Subdomínio, ao contrário do que parece, é a assunção do serviço para o qual o subdomínio está apontando. O serviço precisa estar inativo ou não estar em uso.
A Assunção de Zona DNS, em comparação com a Assunção de Subdomínio, pode ser mais grave se explorada. É a assunção de uma das zonas do domínio. Isso permite muito mais do que apenas criar o serviço no backend. Você pode realmente configurar seus próprios registros DNS e brincar com eles como quiser.
Para mais detalhes aprofundados, você pode ler meu blog aqui: A Guide to Zone Transfer, DNS Zone Takeover and Subdomain Takeover
O Subrake é uma ferramenta de Avaliação DNS (principalmente automatizada) com interface gráfica e CLI que passa por várias fases para cobrir problemas de DNS. A ferramenta está em constante mudança e desenvolvimento, e todos são bem-vindos para contribuir com o projeto.
Foi projetado principalmente para indústria de bug bounty e segurança da informação, mas também pode ser usado para blue teaming e testes de penetração internos. Suporta interface CLI e Web GUI e vários modos de instalação. As principais características são:
csv.Você pode configurar o subrake por um modo automatizado ou clonando o repositório manualmente e instalando através do setuptools. O primeiro oferece mais controle e é flexível com uma interface gráfica. Mas se você preferir um modo CLI simples ou no windows, siga a seção manual.
Clone o repositório e entre nele:
$ git clone https://github.com/hash3liZer/Subrake.git
$ cd ./Subrake
Você pode configurar o subrake através do vagrant (com KVM) onde uma máquina será criada e tudo será configurado automaticamente. Instale os requisitos primeiro:
$ apt update
$ apt install -y qemu qemu-kvm libvirt-daemon libvirt-clients bridge-utils virt-manager vagrant vagrant-libvirt
Em seguida, dentro do repositório, execute vagrant up:
$ vagrant up
Isso levará um tempo para provisionar o servidor. Após a conclusão, você receberá a URL: http://127.0.0.1:9090
As credenciais padrão são: subrake/password. Você pode alterá-las durante o provisionamento também:
$ SUBRAKE_USERNAME="username" SUBRAKE_PASSWORD="password" vagrant up
Após concluído, você pode gerenciar o estado da sua máquina recém-criada através destes comandos:
# Ver o status da máquina
$ vagrant status
# Suspender a máquina
$ vagrant suspend
# Retomar a máquina
$ vagrant resume
# Desligar a máquina
$ vagrant halt
# Iniciar novamente
$ vagrant up
# Excluir a máquina
$ vagrant destroy
Com a configuração manual, você pode ir diretamente para o diretório e usar o setuptools para instalação
Instale os requisitos e execute setup.py:
$ pip3 install -r requirements.txt
$ python3 setup.py install
Verifique se o subrake está instalado ou não:
subrake --help
Você também pode construir a imagem Docker a partir do Dockerfile:
$ docker build -t subrake:latest .
Verifique o contêiner Docker:
$ docker run --rm subrake --help
Você também pode implantar o script em um servidor baremetal. Para fazer isso, coloque um servidor ubuntu 20.04 novo em funcionamento e execute o seguinte comando:
$ chmod +x ./installer.sh
$ ./installer.sh --deploy
O servidor estará então acessível em: 0.0.0.0:9090. Você pode configurar um serviço nginx e usá-lo como proxy reverso.
Com a interface, você pode ir diretamente para a página Subtap a Domain e executar uma varredura. Espere algumas perguntas para a varredura:
A varredura é iniciada dentro de uma sessão tmux. Você pode pressionar CTRL+E => d para sair da tela em execução e iniciar uma nova varredura. Além disso, para pausar a tela e mover para cima e para baixo, você pode pressionar CTRL+E => [. São apenas atalhos do TMUX com a tecla de atalho global alterada para CTRL+E.
Você também pode voltar para uma tela em execução digitando seu nome novamente:
Na linha de comando, você pode acessar diretamente a ferramenta digitando subrake. Aqui estão alguns exemplos de uso do subrake:
Uma execução simples com opções padrão:
$ subrake -d google.com
Subrake com Múltiplas Threads:
$ subtake -d google.com -t 50
Subrake com módulos e uma wordlist:
$ subrake -d google.com --wordlists SecLists/Discovery/DNS/namelist.txt
Subrake com resultados OSINT + Lista de subdomínios múltiplos do SecLists:
Nota: Subdomínios com nomes semelhantes serão automaticamente filtrados e contados como 1
$ subrake -d google.com --wordlists SecLists/Discovery/DNS/namelist.txt,SecLists/Discovery/DNS/dns-Jhaddix.txt
Subrake sem mecanismo de busca + Saída de múltiplas ferramentas combinadas + Filtragem de IP (Observe que você pode integrar suas ferramentas ao subrake):
$ domain="google.com"
$ subfinder -d $domain -nW -o $domain/1.txt && sublist3r -d $domain -o $domain/2.txt && cat $domain/* >> /tmp/output.txt
$ subrake -d $domain -w tmp/output.txt --filter --skip-search
Subrake com Varredura de Portas:
NOTA: As portas 80,443 serão varridas por padrão para cada host sob banner HTTP/HTTPS. Portanto, não há necessidade de especificá-las aqui
$ subrake -d google.com --ports 8080,8443,8000,23,445
Sinta-se à vontade para abrir pull requests e sugerir funcionalidades. Você pode contribuir: