
Pegue uma lista de domínios, faça crawl de urls e escaneie por endpoints, segredos, chaves de API, extensões de arquivo, tokens e mais.

Pegue uma lista de domínios, rastreie urls e procure por endpoints, segredos, chaves de api, extensões de arquivo, tokens e mais
Feito com 💙 por edoardottt
Compartilhe no Twitter!
Instalação • Uso • Começar • Changelog • Contribuir • Licença
brew install cariddi
sudo snap install cariddi
go install -v github.com/edoardottt/cariddi/cmd/cariddi@latest
pacman -Syu cariddi
nix-shell -p cariddi
Você precisa do Go (>=1.24.0)
git clone https://github.com/edoardottt/cariddi.git
cd cariddi
go get ./...
make linux # (to install)
make unlinux # (to uninstall)
One-liner: git clone https://github.com/edoardottt/cariddi.git && cd cariddi && go get ./... && make linux
Note que o executável funciona apenas na pasta cariddi.
git clone https://github.com/edoardottt/cariddi.git
cd cariddi
go get ./...
.\make.bat windows # (to install)
.\make.bat unwindows # (to uninstall)
Se você deseja escanear apenas um único alvo, use
echo https://edoardottt.com/ | cariddi
Com múltiplos alvos, você pode usar um arquivo em vez disso, por exemplo, urls.txt contendo:
https://edoardottt.com/
http://testphp.vulnweb.com/
Para Windows:
powershell.exe -Command "cat urls.txt | .\cariddi.exe" dentro do Prompt de Comandocat urls.txt | cariddi.exe usando o PowerShellcariddi -version (Imprime a versão)cariddi -h (Imprime a ajuda)cariddi -examples (Imprime os exemplos)cat urls.txt | cariddi -intensive (Rastreia buscando também subdomínios, igual a *.target.com)cat urls.txt | cariddi -s (Busca segredos)cat urls.txt | cariddi -err (Busca erros em websites)cat urls.txt | cariddi -e (Busca endpoints interessantes)cat urls.txt | cariddi -info (Busca informações úteis em websites)cat urls.txt | cariddi -ext 2 (Busca arquivos interessantes (nível 2 de 7))cat urls.txt | cariddi -e -ef endpoints_file (Busca endpoints personalizados)cat urls.txt | cariddi -s -sf secrets_file (Busca segredos personalizados)cat urls.txt | cariddi -ie pdf,png,jpg (Ignorar essas extensões durante a varredura)Padrão: png, svg, jpg, jpeg, bmp, jfif, gif, webp, woff, woff2, ttf, tiff, tif, mp4, webm, mkv, avi, mov, flv, wmv, mp3, wav, flac, ogg, m4a, aac, ico, cur, eot, otf são ignorados durante a varredura por segredos, informações e erros.
cat urls.txt | cariddi -proxy http://127.0.0.1:8080 (Define um Proxy, suporta http e socks5)cat urls.txt | cariddi -d 2 (2 segundos entre uma página rastreada e outra)cat urls.txt | cariddi -c 200 (Define o nível de concorrência para 200)cat urls.txt | cariddi -i forum,blog,community,open (Ignora urls contendo essas palavras)cat urls.txt | cariddi -it ignore_file (Ignora urls contendo pelo menos uma linha do arquivo de entrada)cat urls.txt | cariddi -cache (Usa a pasta .cariddi_cache como cache)cat urls.txt | cariddi -t 5 (Define o tempo limite para as requisições)cat urls.txt | cariddi -headers "Cookie: auth=admin;type=2;; X-Custom: customHeader"cat urls.txt | cariddi -headersfile headers.txt (Lê cabeçalhos personalizados de um arquivo externo)cat urls.txt | cariddi -ua "Custom User Agent" (Usa um User Agent personalizado)cat urls.txt | cariddi -plain (Imprime apenas os resultados)cat urls.txt | cariddi -ot target_name (Resultados em arquivo txt)cat urls.txt | cariddi -oh target_name (Resultados em arquivo html)cat urls.txt | cariddi -json (Imprime a saída como JSON no stdout)cat urls.txt | cariddi -sr (Armazena respostas HTTP)cat urls.txt | cariddi -debug (Imprime informações de depuração durante o rastreamento)cat urls.txt | cariddi -md 3 (Máximo de 3 níveis de profundidade)cariddi -h imprime a ajuda.
Usage of cariddi:
-c int
Concurrency level. (default 20)
-cache
Use the .cariddi_cache folder as cache.
-d int
Delay between a page crawled and another.
-debug
Print debug information while crawling.
-e Hunt for juicy endpoints.
-ef string
Use an external file (txt, one per line) to use custom parameters for endpoints hunting.
-err
Hunt for errors in websites.
-examples
Print the examples.
-ext int
Hunt for juicy file extensions. Integer from 1(juicy) to 7(not juicy).
-h Print the help.
-headers string
Use custom headers for each request E.g. -headers "Cookie: auth=yes;;Client: type=2".
-headersfile string
Read from an external file custom headers (same format of headers flag).
-json
Print the output as JSON in stdout.
-md
Maximum depth level the crawler will follow from the initial target URL.
-i string
Ignore the URL containing at least one of the elements of this array.
-ie value
Comma-separated list of extensions to ignore while scanning.
-info
Hunt for useful informations in websites.
-intensive
Crawl searching for resources matching 2nd level domain.
-it string
Ignore the URL containing at least one of the lines of this file.
-oh string
Write the output into an HTML file.
-ot string
Write the output into a TXT file.
-plain
Print only the results.
-proxy string
Set a Proxy to be used (http and socks5 supported).
-rua
Use a random browser user agent on every request.
-s Hunt for secrets.
-sf string
Use an external file (txt, one per line) to use custom regexes for secrets hunting.
-sr
Store HTTP responses.
-t int
Set timeout for the requests. (default 10)
-ua string
Use a custom User Agent.
-version
Print the version.
Normalmente você usa o Burpsuite dentro do seu navegador, então basta confiar no certificado do Burpsuite no navegador e pronto.
Para usar o cariddi com o proxy do BurpSuite, você deve seguir alguns passos adicionais.
Se você tentar usar o cariddi com a opção -proxy http://127.0.0.1:8080, encontrará este erro na seção de log de erros do Burpsuite:
Received fatal alert: bad_certificate (or something similar related to the certificate).
Para fazer o cariddi funcionar bem com o Burpsuite, você também precisa confiar no certificado em todo o seu PC, não apenas no navegador. Estes são os passos que você deve seguir:
Vá para a aba Proxy no Burpsuite, depois Opções. Clique no botão Certificado CA e exporte o Certificado no formato DER
openssl x509 -in burp.der -inform DER -out burp.pem -outform PEM
sudo chown root:root burp.pem
sudo chmod 644 burp.pem
sudo cp burp.pem /usr/local/share/ca-certificates/
sudo c_rehash
cd /etc/ssl/certs/
sudo ln -s /usr/local/share/ca-certificates/burp.pem
sudo c_rehash .
Fonte: Confiar no certificado do proxy Burp no Debian/Ubuntu
Após esses passos, para usar o cariddi com o Burpsuite você deve:
-proxy http://127.0.0.1:8080.As mudanças detalhadas para cada versão estão documentadas nas notas de versão.
Basta abrir uma issue/pull request.
Antes de abrir um pull request, baixe o golangci-lint e execute
golangci-lint run
Se não houver erros, vá em frente :)
Teste usando https://edoardottt.github.io/cariddi-test/
echo "https://edoardottt.github.io/cariddi-test/" | cariddi
Ajude-me a construir isto!
Agradecimentos especiais a: go-colly, ocervell, zricethezav, projectdiscovery, tomnomnom, RegexPassive e todos os contribuidores.
Este repositório está sob a Licença Pública Geral GNU v3.0.
edoardottt.com para me contatar.
cat urls.txt | cariddi -rua (Usa um user agent de navegador aleatório em cada requisição)