
Возьмите список доменов, обойдите URL-адреса и выполните поиск конечных точек, секретов, ключей API, расширений файлов, токенов и многого другого.

Возьмите список доменов, просканируйте URL-адреса и найдите конечные точки, секреты, ключи API, расширения файлов, токены и многое другое
Сделано с 💙 от edoardottt
Поделиться в Twitter!
Установка • Использование • Начало работы • Список изменений • Вклад • Лицензия
brew install cariddi
sudo snap install cariddi
go install -v github.com/edoardottt/cariddi/cmd/cariddi@latest
pacman -Syu cariddi
nix-shell -p cariddi
Вам понадобится Go (>=1.24.0)
git clone https://github.com/edoardottt/cariddi.git
cd cariddi
go get ./...
make linux # (для установки)
make unlinux # (для удаления)
Однострочная команда: git clone https://github.com/edoardottt/cariddi.git && cd cariddi && go get ./... && make linux
Обратите внимание, что исполняемый файл работает только в папке cariddi.
git clone https://github.com/edoardottt/cariddi.git
cd cariddi
go get ./...
.\make.bat windows # (для установки)
.\make.bat unwindows # (для удаления)
Если вы хотите просканировать только одну цель, используйте:
echo https://edoardottt.com/ | cariddi
С несколькими целями вы можете вместо этого использовать файл, например, urls.txt, содержащий:
https://edoardottt.com/
http://testphp.vulnweb.com/
Для Windows:
powershell.exe -Command "cat urls.txt | .\cariddi.exe" в командной строкеcat urls.txt | cariddi.exe в PowerShellcariddi -version (Показать версию)cariddi -h (Показать справку)cariddi -examples (Показать примеры)cat urls.txt | cariddi -intensive (Сканирование с поиском также поддоменов, то же, что *.target.com)cat urls.txt | cariddi -s (Поиск секретов)cat urls.txt | cariddi -err (Поиск ошибок на веб-сайтах)cat urls.txt | cariddi -e (Поиск «лакомых» конечных точек)cat urls.txt | cariddi -info (Поиск полезной информации на веб-сайтах)cat urls.txt | cariddi -ext 2 (Поиск «лакомых» файлов (уровень 2 из 7))cat urls.txt | cariddi -e -ef endpoints_file (Поиск пользовательских конечных точек)cat urls.txt | cariddi -s -sf secrets_file (Поиск пользовательских секретов)cat urls.txt | cariddi -ie pdf,png,jpg (Игнорировать эти расширения во время сканирования)По умолчанию при поиске секретов, информации и ошибок игнорируются: 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.
cat urls.txt | cariddi -proxy http://127.0.0.1:8080 (Установить прокси, поддерживаются http и socks5)cat urls.txt | cariddi -d 2 (2 секунды между обходом одной страницы и другой)cat urls.txt | cariddi -c 200 (Установить уровень параллелизма 200)cat urls.txt | cariddi -i forum,blog,community,open (Игнорировать URL-адреса, содержащие эти слова)cat urls.txt | cariddi -it ignore_file (Игнорировать URL-адреса, содержащие хотя бы одну строку из входного файла)cat urls.txt | cariddi -cache (Использовать папку .cariddi_cache в качестве кеша)cat urls.txt | cariddi -t 5 (Установить тайм-аут для запросов)cat urls.txt | cariddi -headers "Cookie: auth=admin;type=2;; X-Custom: customHeader"cat urls.txt | cariddi -headersfile headers.txt (Читать пользовательские заголовки из внешнего файла)cat urls.txt | cariddi -ua "Custom User Agent" (Использовать пользовательский User Agent)cat urls.txt | cariddi -plain (Печатать только результаты)cat urls.txt | cariddi -ot target_name (Результаты в txt-файл)cat urls.txt | cariddi -oh target_name (Результаты в html-файл)cat urls.txt | cariddi -json (Печатать вывод в формате JSON в stdout)cat urls.txt | cariddi -sr (Сохранять HTTP-ответы)cat urls.txt | cariddi -debug (Печатать отладочную информацию во время обхода)cat urls.txt | cariddi -md 3 (Максимум 3 уровня глубины)cariddi -h выводит справку.
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.
Обычно вы используете Burpsuite в своём браузере, так что вам просто нужно доверить сертификат Burpsuite в браузере, и всё готово.
Чтобы использовать cariddi с прокси BurpSuite, нужно выполнить несколько дополнительных шагов.
Если вы попытаетесь использовать cariddi с опцией -proxy http://127.0.0.1:8080, то в разделе журнала ошибок Burpsuite увидите эту ошибку:
Received fatal alert: bad_certificate (или что-то подобное, связанное с сертификатом).
Чтобы cariddi корректно работал с Burpsuite, необходимо также доверять сертификату на уровне всей системы, а не только в браузере. Вот шаги, которые нужно выполнить:
Перейдите на вкладку Proxy в Burpsuite, затем Options. Нажмите кнопку "CA Certificate" и экспортируйте сертификат в формате 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 .
Источник: Trust Burp Proxy certificate in Debian/Ubuntu
После этих шагов, чтобы использовать cariddi с Burpsuite, нужно:
-proxy http://127.0.0.1:8080.Подробные изменения для каждого релиза задокументированы в примечаниях к выпуску.
Просто откройте issue или pull request.
Перед открытием pull request скачайте golangci-lint и выполните:
golangci-lint run
Если ошибок нет, можете продолжать :)
Тестируйте с помощью https://edoardottt.github.io/cariddi-test/
echo "https://edoardottt.github.io/cariddi-test/" | cariddi
Помогите мне в разработке!
Особая благодарность: go-colly, ocervell, zricethezav, projectdiscovery, tomnomnom, RegexPassive и всем участникам.
Этот репозиторий распространяется под лицензией GNU General Public License v3.0.
edoardottt.com для связи со мной.
cat urls.txt | cariddi -rua (Использовать случайный пользовательский агент браузера для каждого запроса)