
Uma ferramenta automatizada que pode simultaneamente rastrear, preencher formulários, acionar páginas de erro/debug e "saquear" segredos do código voltado para o cliente de sites.
Uma ferramenta automatizada que pode simultaneamente rastrear, preencher formulários, acionar páginas de erro/depuração e "saquear" segredos do código voltado ao cliente de sites.
Para usar a ferramenta, você pode pegar qualquer um dos binários pré-compilados na seção Releases do repositório. Se quiser compilar o código-fonte você mesmo, precisará de Go > 1.16 para compilá-lo. Simplesmente executar go build gerará um binário utilizável para você.
Além disso, você precisará de dois arquivos json (lootdb.json e regexes.json) juntamente com o binário, que você pode obter do próprio repositório. Assim que tiver todos os 3 arquivos na mesma pasta, pode prosseguir e iniciar a ferramenta.
Vídeo de demonstração:
Aqui está a ajuda de uso da ferramenta:
$ ./httploot --help
_____
)=(
/ \ H T T P L O O T
( $ ) v0.1
\___/
[+] HTTPLoot by RedHunt Labs - A Modern Attack Surface (ASM) Management Company
[+] Author: Pinaki Mondal (RHL Research Team)
[+] Continuously Track Your Attack Surface using https://redhuntlabs.com/nvadr.
Usage of ./httploot:
-concurrency int
Maximum number of sites to process concurrently (default 100)
-depth int
Maximum depth limit to traverse while crawling (default 3)
-form-length int
Length of the string to be randomly generated for filling form fields (default 5)
-form-string string
Value with which the tool will auto-fill forms, strings will be randomly generated if no value is supplied
-input-file string
Path of the input file containing domains to process
-output-file string
CSV output file path to write the results to (default "httploot-results.csv")
-parallelism int
Number of URLs per site to crawl parallely (default 15)
-submit-forms
Whether to auto-submit forms to trigger debug pages
-timeout int
The default timeout for HTTP requests (default 10)
-user-agent string
User agent to use during HTTP requests (default "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:98.0) Gecko/20100101 Firefox/98.0")
-verify-ssl
Verify SSL certificates while making HTTP requests
-wildcard-crawl
Allow crawling of links outside of the domain being scanned
Existem duas flags que ajudam com o escaneamento concorrente:
-concurrency: Especifica o número máximo de sites a serem processados concorrentemente.-parallelism: Especifica o número de links por site a serem rastreados em paralelo.Ambos -concurrency e -parallelism são cruciais para o desempenho e a confiabilidade dos resultados da ferramenta.
A profundidade do rastreamento pode ser especificada usando a flag -depth. O valor inteiro fornecido é a profundidade máxima da cadeia de links a serem rastreados em um site.
Uma flag importante -wildcard-crawl pode ser usada para especificar se URLs fora do domínio em escopo devem ser rastreadas.
NOTA: Usar esta flag pode levar a um rastreamento infinito em cenários de pior caso se o rastreador encontrar links para outros domínios continuamente.
Se você quiser que a ferramenta procure por páginas de depuração, precisa especificar o argumento -submit-forms. Isso fará com que a ferramenta envie formulários automaticamente e tente acionar páginas de erro/depuração assim que uma pilha de tecnologia for identificada com sucesso.
Se a flag -submit-forms estiver habilitada, você pode controlar a string a ser enviada nos campos do formulário. O -form-string especifica a string a ser enviada, enquanto o -form-length pode controlar o comprimento da string a ser gerada aleatoriamente que será preenchida nos formulários.
Flags como:
-timeout - especifica o tempo limite HTTP das requisições.-user-agent - especifica o user-agent a ser usado nas requisições HTTP.-verify-ssl - especifica se deve ou não verificar certificados SSL.O arquivo de entrada a ser lido pode ser especificado usando o argumento -input-file. Você pode especificar um caminho de arquivo contendo uma lista de URLs para escanear com a ferramenta. A flag -output-file pode ser usada para especificar o caminho do arquivo de saída dos resultados -- que por padrão vai para um arquivo chamado httploot-results.csv.
Mais detalhes sobre a pesquisa que levou ao desenvolvimento da ferramenta podem ser encontrados em nosso RedHunt Labs Blog.
A ferramenta é licenciada sob a licença MIT. Veja LICENSE.
Atualmente a ferramenta está na v0.1.
A equipe de pesquisa da RedHunt Labs gostaria de estender créditos aos criadores e mantenedores do shhgit pelas expressões regulares fornecidas por eles em seu repositório.
Para saber mais sobre nossa plataforma de Gerenciamento de Superfície de Ataque, confira o NVADR.