Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
domainim — Uma ferramenta rápida e abrangente para varredura de rede organizacional | Kitploit
Ferramentas/GitHubGitHub/pptx704/domainim
OSINT (Inteligência de Fontes Abertas)ReconhecimentoMapeamento de RedeEscaneamento de PortasEnumeração de DNS e SubdomíniosColeta de InformaçõesTestes de PenetraçãoAnálise de DNS
GitHubpptx704/domainim

domainim

Uma ferramenta rápida e abrangente para varredura de rede organizacional

Ver Repositório
138133há 2 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

DOMAINIM

Funcionalidades • Uso • Instalação • Uso • Contribuição • Notas Adicionais

Domainim é uma ferramenta rápida de reconhecimento de domínios para varredura de rede organizacional. A ferramenta visa fornecer uma visão geral da estrutura de uma organização usando técnicas como OSINT, força bruta, resolução DNS etc.

Funcionalidades

Funcionalidades atuais (v1.0.1)-

  • Enumeração de subdomínios (2 mecanismos + força bruta)
  • Saída amigável ao usuário
  • Resolução de registros A (IPv4)

  • Enumeração de hostnames virtuais

  • Consulta DNS reversa

  • Detecta subdomínios curinga (para força bruta)

  • Varredura básica de portas TCP

  • Subdomínios são aceitos como entrada

  • Exportar resultados para arquivo JSON

Algumas funcionalidades estão em desenvolvimento. Veja Funcionalidades planejadas para mais detalhes.

O projeto é inspirado por Sublist3r. O módulo de varredura de portas é fortemente baseado em NimScan.

Instalação

Você pode compilar este repositório a partir do código-fonte-

  • Clone o repositório
root@kitploit:~
git clone [email protected]:pptx704/domainim
  • Compile o binário
root@kitploit:~
nimble build
  • Execute o binário
root@kitploit:~
./domainim <domínio> [--ports=<portas>]

Ou, você pode baixar o binário diretamente da página de releases. Lembre-se de que o binário foi testado apenas em sistemas baseados em Debian.

Uso

root@kitploit:~
./domainim <domínio> [--ports=<portas> | -p:<portas>] [--wordlist=<arquivo> | l:<arquivo> [--rps=<int> | -r:<int>]] [--dns=<dns> | -d:<dns>] [--out=<arquivo> | -o:<arquivo>]
  • <domínio> é o domínio a ser enumerado. Pode ser também um subdomínio.
  • --ports | -p é uma string que especifica as portas a serem varridas. Pode ser uma das seguintes-
    • all - Varre todas as portas (1-65535)
    • none - Ignora a varredura de portas (padrão)
    • t<n> - Varre as n portas mais comuns (igual ao nmap). Exemplo: t100 varre as 100 portas mais comuns. Valor máximo é 5000. Se n for maior que 5000, será ajustado para 5000.
    • valor único - Varre uma única porta. Exemplo: 80 varre a porta 80
    • intervalo - Varre um intervalo de portas. Exemplo: 80-100 varre as portas 80 a 100
    • valores separados por vírgula - Varre múltiplas portas. Exemplo: 80,443,8080 varre as portas 80, 443 e 8080
    • combinação - Combina os casos acima. Exemplo: 80,443,8080-8090,t500 varre as portas 80, 443, 8080 a 8090 e as 500 portas mais comuns
  • é o endereço do servidor DNS. Deve ser um IPv4 válido e pode opcionalmente conter o número da porta-

Exemplos

  • ./domainim nmap.org --ports=all
  • ./domainim google.com --ports=none --dns=8.8.8.8#53
  • ./domainim pptx704.com --ports=t100 --wordlist=wordlist.txt --rps=1500
  • ./domainim pptx704.com --ports=t100 --wordlist=wordlist.txt --outfile=results.json
  • ./domainim mysite.com --ports=t50,5432,7000-9000 --dns=1.1.1.1

O menu de ajuda pode ser acessado usando ./domainim --help ou ./domainim -h.

root@kitploit:~
Uso:
    domainim <domínio> [--ports=<portas> | -p:<portas>] [--wordlist=<arquivo> | l:<arquivo> [--rps=<int> | -r:<int>]] [--dns=<dns> | -d:<dns>] [--out=<arquivo> | -o:<arquivo>]
    domainim (-h | --help)

Opções:
    -h, --help              Mostra esta tela.
    -p, --ports             Portas a varrer. [padrão: `none`]
                            Pode ser `all`, `none`, `t<n>`, valor único, intervalo, combinação
    -l, --wordlist          Wordlist para força bruta de subdomínios. A força bruta é ignorada se o arquivo for inválido.
    -d, --dns               IP e Porta para o resolvedor DNS. Deve ser um IPv4 válido com porta opcional [padrão: sistema padrão]
    -r, --rps               Consultas DNS por segundo [padrão: 1024 req/s]
    -o, --out               Arquivo JSON onde a saída será salva. O nome do arquivo deve terminar com `.json`

Exemplos:
    domainim domainim.com -p:t500 -l:wordlist.txt --dns:1.1.1.1#53 --out=results.json
    domainim sub.domainim.com --ports=all --dns:8.8.8.8 -t:1500 -o:results.json

O esquema JSON para os resultados é o seguinte-

root@kitploit:~
[
  {
    "subdomain": string,
    "data": [
      "ipv4": string,
      "vhosts": [string],
      "reverse_dns": string,
      "ports": [int]
    ]
  }
]

Exemplo de JSON para nmap.org pode ser encontrado aqui.

Contribuição

Contribuições são bem-vindas. Sinta-se à vontade para abrir um pull request ou uma issue.

Funcionalidades Planejadas

  • Varredura de portas TCP
  • Suporte a varredura de portas UDP
  • Resolver registros AAAA (IPv6)
  • Servidor DNS personalizado
  • Adicionar força bruta de subdomínios usando uma wordlist
  • Forçar força bruta (mesmo se um subdomínio curinga for encontrado)
  • Adicionar mais mecanismos de enumeração de subdomínios
  • Saída em arquivo (JSON)
  • Enumeração de múltiplos domínios
  • Busca por diretórios e arquivos

Outros

  • Atualizar saída detalhada ao encontrar erros (v0.2.0)
  • Mostrar barra de progresso para operações longas
  • Adicionar barra de progresso individual para varredura de portas
  • Adicionar testes
  • Adicionar comentários e docstrings

Notas Adicionais

Este projeto ainda está em estágios iniciais. Existem várias limitações que tenho conhecimento.

Os dois mecanismos que estou usando (estou chamando de mecanismos porque o Sublist3r faz o mesmo) atualmente possuem algum tipo de limite de resposta. O dnsdumpster pode buscar até 100 subdomínios. O crt.sh também randomiza os resultados em caso de muitos resultados. Outro problema com o crt.sh é que ele retorna algum erro SQL às vezes. Portanto, para alguns domínios, os resultados podem ser diferentes em execuções diferentes. Estou planejando adicionar mais mecanismos no futuro (pelo menos um mecanismo de força bruta).

O varredor de portas possui apenas o tempo limite de tempo de resposta ping + 750ms. Isso pode levar a falsos negativos. Como o domainim não é destinado a varredura de portas, mas sim a fornecer uma visão geral rápida, esses casos são aceitáveis. No entanto, estou planejando adicionar uma opção para aumentar o tempo limite. Pelo mesmo motivo, portas filtradas não são exibidas. Para varredura de portas mais abrangente, recomendo usar o Nmap. O Domainim também não contorna limitação de taxa (se houver).

Pode parecer que a forma como os vhostnames são exibidos apenas traz repetição à tona.

Imprimir da seguinte forma poderia ter sido melhor-

root@kitploit:~
ack.nmap.org, issues.nmap.org, nmap.org, research.nmap.org, scannme.nmap.org, svn.nmap.org, www.nmap.org
  ↳ 45.33.49.119
    ↳ Reverse DNS: ack.nmap.org. 

Mas, durante os testes anteriores, encontrei casos em que nem todos os IPs são compartilhados pelo mesmo conjunto de vhostnames. Por isso decidi manter dessa forma.

O servidor DNS pode ter algum tipo de limitação de taxa. Por isso adicionei atrasos aleatórios (entre 0-300ms) para resolução de IPv4 por consulta. Isso é para não fazer com que o servidor DNS receba todas as consultas de uma vez, mas sim de uma forma mais natural. Para o método de força bruta, o valor padrão está entre 0-1000ms, mas pode ser alterado usando a opção --rps | -t.

Uma limitação particular que me incomoda é que o resolvedor DNS não retorna todos os IPs para um domínio. Portanto, é necessário fazer várias consultas para obter todos (ou a maioria) dos IPs. Mas, novamente, não é possível saber quantos IPs existem para um domínio. Ainda preciso encontrar uma solução para isso. Além disso, o nim-ndns não suporta registros CNAME. Portanto, se um domínio tiver um registro CNAME, ele não será resolvido. Estou aguardando uma resposta do autor para isso.

Por enquanto, a força bruta é ignorada se um possível subdomínio curinga for encontrado. Isso porque, se um domínio tiver um subdomínio curinga, a força bruta resolverá IPv4 para todos os subdomínios possíveis. No entanto, isso também ignorará subdomínios válidos (ou seja, scanme.nmap.org será ignorado mesmo não sendo um valor curinga). Adicionarei uma opção --force-brute | -fb posteriormente para forçar a força bruta.

Algo semelhante é verdade para a enumeração de VHost para entradas de subdomínio. Como as URLs que terminam com o subdomínio fornecido são retornadas, subdomínios de domínios semelhantes não são considerados. Por exemplo, scannme.nmap.org não será impresso para ack.nmap.org, mas something.ack.nmap.org pode ser. Posso pesquisar por todos os subdomínios de nmap.org, mas isso anula o propósito de ter um subdomínio como entrada.

Licença

Licença MIT. Veja LICENSE para o texto completo.

Baixar ferramenta
--dns | -d
  • a.b.c.d - Usa o servidor DNS em a.b.c.d na porta 53
  • a.b.c.d#n - Usa o servidor DNS em a.b.c.d na porta e
  • --wordlist | -l - Caminho para o arquivo de wordlist. Usado para força bruta de subdomínios. Se o arquivo for inválido, a força bruta será ignorada. Você pode obter uma wordlist no SecLists. Uma wordlist também é fornecida na página de releases.
  • --rps | -r - Número de requisições por segundo durante a força bruta. O valor padrão é 1024 req/s. Note que as consultas DNS são feitas em lotes e o próximo lote só é iniciado após o término do anterior. Como as consultas podem ser limitadas (rate limited), aumentar o valor nem sempre garante resultados mais rápidos.
  • --out | -o - Caminho para o arquivo de saída. A saída será salva no formato JSON. O nome do arquivo deve terminar com .json.