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
Lepus — Encontrador de subdomínios | Kitploit
Ferramentas/GitHubGitHub/gfek/lepus
OSINT (Inteligência de Fontes Abertas)ReconhecimentoMapeamento de RedeEscaneamento de PortasAnálise de VulnerabilidadesColeta de InformaçõesEnumeração de SubdomíniosAnálise de DNS
GitHubgfek/lepus

Lepus

Encontrador de subdomínios

Ver Repositório
37148há 3 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

GitHub License GitHub Python GitHub Version

Lepus

Lepus é uma ferramenta para enumerar subdomínios, verificar possibilidade de tomada de subdomínios e realizar varreduras de portas – e, rapaz, como é rápida!

Uso Básico

root@kitploit:~
lepus.py yahoo.com

Sumário

  • Modos de enumeração
  • Tomada de Subdomínio
  • Varredura de Portas
  • Instalação
  • Argumentos
  • Exemplo de comando completo

Modos de enumeração

Os modos de enumeração são diferentes maneiras que o lepus usa para identificar subdomínios para um determinado domínio. Esses modos são:

  • Coletores
  • Dicionário
  • Permutações
  • DNS Reverso
  • Markov

Além disso:

  • Para todos os métodos, o lepus verifica se o domínio fornecido ou qualquer subdomínio potencial gerado é um domínio wildcard ou não.
  • Após a identificação, o lepus coleta informações de ASN e rede para os domínios identificados que resolvem para endereços IP públicos.

Coletores

O modo Coletores coleta subdomínios dos seguintes serviços:

Você pode adicionar suas chaves de API no arquivo config.ini.

O módulo Coletores será executado por padrão no lepus. Se você não quiser usar os coletores durante uma execução do lepus (para não esgotar os limites da sua chave de API), utilize o argumento -nc ou --no-collectors.

Dicionário

O modo dicionário pode ser usado quando você quiser fornecer ao lepus uma lista de subdomínios. Você pode usar o argumento -w ou --wordlist seguido pelo arquivo. Uma lista personalizada acompanha o lepus, localizada em lists/subdomains.txt. Um exemplo de execução seria:

root@kitploit:~
lepus.py -w lists/subdomains.txt yahoo.com

Permutações

O modo Permutações realiza alterações na lista de subdomínios que foram identificados. Para cada subdomínio, um número de permutações ocorrerá com base no arquivo lists/words.txt. Você também pode fornecer uma wordlist personalizada para permutações com o argumento -pw ou --permutation-wordlist, seguido pelo nome do arquivo. Um exemplo de execução seria:

root@kitploit:~
lepus.py --permutate yahoo.com

ou

root@kitploit:~
lepus.py --permutate -pw customsubdomains.txt yahoo.com

DNS Reverso

O modo DNS Reverso irá coletar todos os endereços IP que foram resolvidos e realizar um DNS reverso em cada um deles para detectar mais subdomínios. Por exemplo, se www.example.com resolver para 1.2.3.4, o lepus realizará um DNS reverso para 1.2.3.4 e coletará quaisquer outros subdomínios pertencentes a example.com, como www2, internal ou oldsite.

Para executar o módulo DNS Reverso, use o argumento --reverse. Adicionalmente, --ripe (ou -ripe) pode ser usado para instruir o módulo a consultar o banco de dados RIPE usando o domínio de segundo nível para faixas de rede potenciais. Além disso, o lepus suporta o argumento --ranges (ou -r). Você pode usá-lo para fazer resoluções de DNS reverso contra CIDRs que pertencem ao domínio alvo.

Por padrão, este módulo levará em conta todos os IPs previamente identificados, depois as faixas definidas e depois as faixas identificadas através do banco RIPE. Caso você queira executar o módulo apenas contra faixas específicas ou identificadas pelo RIPE, e não contra todos os IPs já identificados, utilize o argumento --only-ranges (-or).

Um exemplo de execução seria:

root@kitploit:~
lepus.py --reverse yahoo.com

ou

root@kitploit:~
lepus.py --reverse -ripe -r 172.216.0.0/16,183.177.80.0/23 yahoo.com

ou apenas contra as faixas definidas ou identificadas pelo RIPE

root@kitploit:~
lepus.py --reverse -or -ripe -r 172.216.0.0/16,183.177.80.0/23 yahoo.com

Dica: o lepus identificará ASNs e Redes durante a enumeração, então você também pode usar essas faixas para identificar mais subdomínios em uma execução subsequente.

Markov

Com este módulo, o Lepus utilizará cadeias de Markov para se treinar e então gerar subdomínios com base nos já conhecidos. Quanto maior a superfície geral, melhor a ferramenta conseguirá se treinar e, consequentemente, melhores serão os resultados.

O módulo pode ser ativado com o argumento --markovify. Os parâmetros também incluem o tamanho do estado de Markov, o comprimento máximo da adição candidata gerada e a quantidade de candidatos gerados. Os valores predefinidos são 3, 5 e 5 respectivamente. Esses argumentos podem ser alterados com -ms (--markov-state), -ml (--markov-length) e -mq (--markov-quantity) para atender às suas necessidades. Lembre-se de que quanto maiores esses valores, mais tempo o Lepus precisará para gerar os candidatos.

Vale notar que diferentes execuções deste módulo podem gerar candidatos diferentes, então sinta-se à vontade para executá-lo algumas vezes consecutivas. Lembre-se de que quanto maiores os valores de -ms, -ml e -mq, mais tempo será necessário para a geração de candidatos.

root@kitploit:~
lepus.py --markovify yahoo.com

ou

root@kitploit:~
lepus.py --markovify -ms 5 -ml 10 -mq 10

Tomada de Subdomínio

O Lepus possui uma lista de assinaturas para identificar se um domínio pode ser tomado. Você pode usá-lo fornecendo o argumento --takeover. Este módulo também suporta notificações do Slack, uma vez que uma potencial tomada tenha sido identificada, adicionando um token do Slack no arquivo config.ini. As verificações são feitas contra os seguintes serviços:

  • Acquia
  • Activecampaign
  • Aftership
  • Aha!
  • Airee
  • Amazon AWS/S3
  • Apigee
  • Azure
  • Bigcartel
  • Bitbucket
  • Brightcove
  • Campaign Monitor
  • Cargo Collective
  • Desk
  • Feedpress
  • Fly.io
  • Getresponse
  • Ghost.io
  • Github
  • Hatena
  • Helpjuice
  • Helpscout
  • Heroku
  • Instapage
  • Intercom
  • JetBrains
  • Kajabi
  • Kayako
  • Launchrock
  • Mashery
  • Maxcdn
  • Moosend
  • Ning
  • Pantheon
  • Pingdom
  • Readme.io
  • Simplebooklet
  • Smugmug
  • Statuspage
  • Strikingly
  • Surge.sh
  • Surveygizmo
  • Tave
  • Teamwork
  • Thinkific
  • Tictail
  • Tilda
  • Tumblr
  • Uptime Robot
  • UserVoice
  • Vend
  • Webflow
  • Wishpond
  • Wordpress
  • Zendesk

Varredura de Portas

O módulo de varredura de portas verificará portas abertas contra um alvo e as registrará nos resultados. Você pode usar o argumento --portscan, que por padrão irá escanear as portas 80, 443, 8000, 8080, 8443. Você também pode usar portas personalizadas ou escolher um conjunto predefinido de portas.

Conjunto de portasPortas
small80, 443
medium (padrão)80, 443, 8000, 8080, 8443

Um exemplo de execução seria:

root@kitploit:~
lepus.py --portscan yahoo.com

ou

root@kitploit:~
lepus.py --portscan -p huge yahoo.com

ou

root@kitploit:~
lepus.py --portscan -p 80,443,8082,65123 yahoo.com

Instalação

  1. Instalação normal:

    root@kitploit:~
    $ python3.7 -m pip install -r requirements.txt
    
  2. Preferencialmente instale em um virtualenv:

    root@kitploit:~
    $ pyenv virtualenv 3.7.4 lepus
    $ pyenv activate lepus
    $ pip install -r requirements.txt
    
  3. Instalando a versão mais recente do Python no Debian:

    root@kitploit:~
    $ apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libsqlite3-dev wget
    $ curl -O https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tar.xz
    $ tar -xf Python-3.7.4.tar.xz
    $ cd Python-3.7.4
    $ ./configure --enable-optimizations --enable-loadable-sqlite-extensions
    $ make
    $ make altinstall
    

Argumentos

root@kitploit:~
usage: lepus.py [-h] [-w WORDLIST] [-hw] [-t THREADS] [-nc] [-zt]
                [--permutate] [-pw PERMUTATION_WORDLIST] [--reverse]
                [-r RANGES] [--portscan] [-p PORTS] [--takeover] [--markovify]
                [-ms MARKOV_STATE] [-ml MARKOV_LENGTH] [-mq MARKOV_QUANTITY]
                [-f] [-v]
                domain

Infrastructure OSINT

positional arguments:
  domain                domínio a ser pesquisado

optional arguments:
  -h, --help            mostra esta mensagem de ajuda e sai
  -w WORDLIST, --wordlist WORDLIST
                        wordlist com subdomínios
  -hw, --hide-wildcards
                        ocultar resoluções wildcard
  -t THREADS, --threads THREADS
                        número de threads [padrão é 100]
  -nc, --no-collectors  ignorar enumeração passiva de subdomínios
  -zt, --zone-transfer  tentar transferência de zona a partir dos servidores de nomes identificados
  --permutate           realizar permutações nos domínios resolvidos
  -pw PERMUTATION_WORDLIST, --permutation-wordlist PERMUTATION_WORDLIST
                        wordlist para realizar permutações [padrão é lists/words.txt]
  --reverse             realizar consultas DNS reversas nos endereços IP públicos resolvidos
  -ripe, --ripe         consultar o banco de dados RIPE com o domínio de segundo nível 
                        para redes a serem usadas em consultas reversas
  -r RANGES, --ranges RANGES
                        faixas de IP separadas por vírgula para realizar consultas DNS reversas
  -or, --only-ranges    usar apenas faixas fornecidas com -r ou -ripe e não todos os IPs previamente identificados
  --portscan            escanear endereços IP públicos resolvidos em busca de portas abertas
  -p PORTS, --ports PORTS
                        conjunto de portas a ser usado pelo módulo de varredura de portas
                        [padrão é medium]
  --takeover            verificar hosts identificados para potenciais tomadas de subdomínio
  --markovify           usar cadeias de Markov para identificar mais subdomínios
  -ms MARKOV_STATE, --markov-state MARKOV_STATE
                        tamanho do estado de Markov [padrão é 3]
  -ml MARKOV_LENGTH, --markov-length MARKOV_LENGTH
                        comprimento máximo das substituições de Markov [padrão é 5]
  -mq MARKOV_QUANTITY, --markov-quantity MARKOV_QUANTITY
                        quantidade máxima de resultados de Markov por comprimento de candidato [padrão é 5]
  -f, --flush           limpar todos os registros do domínio especificado do banco de dados
  -v, --version         mostra o número da versão do programa e sai

Exemplo de comando completo

A seguir, um exemplo de execução com todos os argumentos ativos disponíveis:

root@kitploit:~
./lepus.py python.org --wordlist lists/subdomains.txt --permutate -pw ~/mypermsword.lst --reverse -ripe -r 10.11.12.0/24 --portscan -p huge --takeover --markovify -ms 3 -ml 10 -mq 10

O comando a seguir limpa todas as entradas do banco de dados para um domínio específico:

root@kitploit:~
./lepus.py python.org --flush
Baixar ferramenta
ServiçoRequer API
CensysSim
CertSpotterNão
CRTNão
DNSTrailsSim
FOFASim
Google TransparencyNão
HackerTargetNão
PassiveTotalSim
Project Discovery ChaosSim
Project CrobatNão
Project SonarNão
RiddlerSim
ShodanSim
SpyseSim
ThreatCrowdNão
ThreatMinerNão
VirusTotalSim
Wayback MachineNão
ZoomEyeSim
large80, 81, 443, 591, 2082, 2087, 2095, 2096, 3000, 8000, 8001, 8008, 8080, 8083, 8443, 8834, 8888, 9000, 9090, 9443
huge80, 81, 300, 443, 591, 593, 832, 981, 1010, 1311, 2082, 2087, 2095, 2096, 2480, 3000, 3128, 3333, 4243, 4567, 4711, 4712, 4993, 5000, 5104, 5108, 5800, 6543, 7000, 7396, 7474, 8000, 8001, 8008, 8014, 8042, 8069, 8080, 8081, 8088, 8090, 8091, 8118, 8123, 8172, 8222, 8243, 8280, 8281, 8333, 8443, 8500, 8834, 8880, 8888, 8983, 9000, 9043, 9060, 9080, 9090, 9091, 9200, 9443, 9800, 9943, 9980, 9981, 12443, 16080, 18091, 18092, 20720, 28017