
Toma una lista de dominios, rastrea URLs y busca endpoints, secretos, claves API, extensiones de archivos, tokens y más

Toma una lista de dominios, rastrea urls y escanea en busca de endpoints, secretos, claves de API, extensiones de archivo, tokens y más
Codificado con 💙 por edoardottt
¡Comparte en Twitter!
Instalación • Uso • Comienza • Registro de cambios • Contribuir • Licencia
brew install cariddi
sudo snap install cariddi
go install -v github.com/edoardottt/cariddi/cmd/cariddi@latest
pacman -Syu cariddi
nix-shell -p cariddi
Necesitas Go (>=1.24.0)
git clone https://github.com/edoardottt/cariddi.git
cd cariddi
go get ./...
make linux # (para instalar)
make unlinux # (para desinstalar)
Una línea: git clone https://github.com/edoardottt/cariddi.git && cd cariddi && go get ./... && make linux
Ten en cuenta que el ejecutable funciona solo en la carpeta cariddi.
git clone https://github.com/edoardottt/cariddi.git
cd cariddi
go get ./...
.\make.bat windows # (para instalar)
.\make.bat unwindows # (para desinstalar)
Si deseas escanear solo un objetivo único, puedes usar
echo https://edoardottt.com/ | cariddi
Con múltiples objetivos, puedes usar un archivo en su lugar, p. ej., urls.txt que contenga:
https://edoardottt.com/
http://testphp.vulnweb.com/
Para Windows:
powershell.exe -Command "cat urls.txt | .\cariddi.exe" dentro del símbolo del sistemacat urls.txt | cariddi.exe usando PowerShellcariddi -version (Muestra la versión)cariddi -h (Muestra la ayuda)cariddi -examples (Muestra los ejemplos)cat urls.txt | cariddi -intensive (Rastrea buscando también subdominios, igual que *.target.com)cat urls.txt | cariddi -s (Busca secretos)cat urls.txt | cariddi -err (Busca errores en sitios web)cat urls.txt | cariddi -e (Busca endpoints jugosos)cat urls.txt | cariddi -info (Busca información útil en sitios web)cat urls.txt | cariddi -ext 2 (Busca archivos jugosos (nivel 2 de 7))cat urls.txt | cariddi -e -ef endpoints_file (Busca endpoints personalizados)cat urls.txt | cariddi -s -sf secrets_file (Busca secretos personalizados)cat urls.txt | cariddi -ie pdf,png,jpg (Ignora estas extensiones al escanear)Por defecto: 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 se ignoran al buscar secretos, información y errores.
cat urls.txt | cariddi -proxy http://127.0.0.1:8080 (Establece un proxy, soporta http y socks5)cat urls.txt | cariddi -d 2 (2 segundos entre una página rastreada y otra)cat urls.txt | cariddi -c 200 (Establece el nivel de concurrencia a 200)cat urls.txt | cariddi -i forum,blog,community,open (Ignora las URLs que contengan estas palabras)cat urls.txt | cariddi -it ignore_file (Ignora las URLs que contengan al menos una línea del archivo de entrada)cat urls.txt | cariddi -cache (Usa la carpeta .cariddi_cache como caché)cat urls.txt | cariddi -t 5 (Establece el tiempo de espera para las solicitudes)cat urls.txt | cariddi -headers "Cookie: auth=admin;type=2;; X-Custom: customHeader"cat urls.txt | cariddi -headersfile headers.txt (Leer desde un archivo externo encabezados personalizados)cat urls.txt | cariddi -ua "Custom User Agent" (Usa un User Agent personalizado)cat urls.txt | cariddi -plain (Muestra solo los resultados)cat urls.txt | cariddi -ot target_name (Resultados en archivo txt)cat urls.txt | cariddi -oh target_name (Resultados en archivo html)cat urls.txt | cariddi -json (Muestra la salida como JSON en stdout)cat urls.txt | cariddi -sr (Almacena las respuestas HTTP)cat urls.txt | cariddi -debug (Muestra información de depuración mientras rastrea)cat urls.txt | cariddi -md 3 (Máximo 3 niveles de profundidad)cariddi -h muestra la ayuda.
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, usas Burpsuite dentro de tu navegador, por lo que solo tienes que confiar en el certificado de Burpsuite en el navegador y listo.
Para usar cariddi con el proxy de BurpSuite, debes seguir algunos pasos adicionales.
Si intentas usar cariddi con la opción -proxy http://127.0.0.1:8080, encontrarás este error en la sección de registro de errores de Burpsuite:
Received fatal alert: bad_certificate (o algo similar relacionado con el certificado).
Para que cariddi funcione correctamente con Burpsuite, también debes confiar en el certificado en todo tu pc, no solo en el navegador. Estos son los pasos que debes seguir:
Ve a la pestaña Proxy en Burpsuite, luego Opciones. Haz clic en el botón CA Certificate y exporta el certificado en 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 .
Fuente: Confiar en el certificado del proxy Burp en Debian/Ubuntu
Después de estos pasos, para usar cariddi con Burpsuite debes:
-proxy http://127.0.0.1:8080.Los cambios detallados de cada versión se documentan en las notas de la versión.
Simplemente abre un issue/pull request.
Antes de abrir un pull request, descarga golangci-lint y ejecuta
golangci-lint run
Si no hay errores, adelante :)
Prueba usando https://edoardottt.github.io/cariddi-test/
echo "https://edoardottt.github.io/cariddi-test/" | cariddi
¡Ayúdame a construir esto!
Agradecimientos especiales a: go-colly, ocervell, zricethezav, projectdiscovery, tomnomnom, RegexPassive y todos los contribuyentes.
Este repositorio está bajo GNU General Public License v3.0.
edoardottt.com para contactarme.
cat urls.txt | cariddi -rua (Usa un User Agent de navegador aleatorio en cada solicitud)