
uma ferramenta de recon que permite pesquisar URLs expostas por serviços de encurtamento
o Utku Sen's
\_/\o
( Oo) \|/
(_=-) .===O- ~~U~R~L~~ -O-
/ \_/U' hunter /|\
|| |_/
\\ | utkusen.com
|K || twitter.com/utkusen_en
urlhunter é uma ferramenta de reconhecimento que permite pesquisar URLs expostas através de serviços de encurtamento como bit.ly e goo.gl. O projeto é escrito em Go.
Um grupo chamado URLTeam (parabéns a eles) está realizando força bruta nos serviços de encurtamento de URLs e publicando os resultados correspondentes diariamente. O urlhunter baixa as coleções deles e permite que você as analise.
Você pode baixar os binários pré-compilados da página de releases e executá-los. Por exemplo:
tar xzvf urlhunter_0.1.0_Linux_amd64.tar.gz
./urlhunter --help
Instale o Go no seu sistema
Execute: go install github.com/utkusen/urlhunter@latest
Nota para usuários do Windows: O urlhunter utiliza o XZ Utils, que já está pré-instalado em sistemas Linux e macOS. Para sistemas Windows, você precisa baixá-lo de https://tukaani.org/xz/
O urlhunter requer 3 parâmetros para executar: -keywords, -date.
Por exemplo: urlhunter --keywords keywords.txt --date 2020-11-20
Você precisa especificar o arquivo txt que contém as palavras-chave para pesquisar nas URLs. As palavras-chave devem ser escritas linha por linha. Existem três formas diferentes de especificar palavras-chave:
Palavra-chave única: O urlhunter pesquisará a palavra-chave como uma substring. Por exemplo:
acme.com corresponderá tanto a https://acme.com/blabla quanto a https://another.com/?referrer=acme.com
Múltiplas palavras-chave: O urlhunter pesquisará as palavras-chave com uma lógica AND. Isso significa que uma URL deve incluir todas as palavras-chave fornecidas. As palavras-chave devem ser separadas pelo caractere ,. Por exemplo:
acme.com,admin corresponderá a https://acme.com/secret/adminpanel, mas não corresponderá a https://acme.com/somethingelse
Valores Regex: O urlhunter pesquisará pelo valor regex fornecido. No arquivo de palavras-chave, a linha que contém uma fórmula de expressão regular deve começar com regex . O formato é: regex FORMULADAREGEX. Por exemplo:
regex 1\d{10} corresponderá a https://example.com/index.php?id=12938454312, mas não corresponderá a https://example.com/index.php?id=abc223
O urlhunter baixa os arquivos de arquivo da(s) data(s) fornecida(s). Existem três formas diferentes de especificar a data:
Última: O urlhunter baixará o arquivo mais recente. -date latest
Data única: O urlhunter baixará o arquivo da data fornecida. O formato da data é AAAA-MM-DD.
Por exemplo: -date 2020-11-20
Ano: O urlhunter baixará o arquivo do ano fornecido. O formato do ano é AAAA.
Por exemplo: -date 2024
Intervalo de datas: O urlhunter baixará todos os arquivos entre as datas inicial e final fornecidas.
Por exemplo: -date 2020-11-10:2020-11-20
Você pode especificar o arquivo de saída com o parâmetro -o. Por exemplo -o out.txt
Você pode especificar o parâmetro -rm para remover as pastas de arquivos baixados após o processamento. Isso é útil para economizar espaço em disco.
O Archive.org limita a velocidade ao baixar arquivos. Portanto, baixar um arquivo leva mais tempo do que o normal. Como alternativa, você pode baixar os arquivos via Torrent e colocá-los na pasta archive/, localizada no mesmo diretório do binário do urlhunter. A estrutura de diretórios será:
|-urlhunter
|---urlhunter(binário)
|---archive
|-----urlteam_2020-11-20-11-17-04
|-----urlteam_2020-11-17-11-17-04
O urlhunter pode ser útil para fins de inteligência cibernética e bug bounty. Por exemplo:
docs.google.com/a/acme.com drive.google.com/a/acme.com As palavras-chave permitem encontrar links públicos de compartilhamento do Google Docs/Drive da empresa Acme.
acme.com,password_reset_token A palavra-chave pode permitir encontrar tokens de redefinição de senha funcionais da acme.com.
trello.com permite encontrar endereços públicos do Trello.
Agradecimentos especiais ao Samet Bekmezci(@sametbekmezci) que me deu a ideia desta ferramenta.