
도메인 목록을 가져와 URL을 크롤링하고 엔드포인트, 비밀, API 키, 파일 확장자, 토큰 등을 스캔합니다.

도메인 목록을 가져와서 URL을 크롤링하고 엔드포인트, 비밀, API 키, 파일 확장자, 토큰 등을 스캔합니다
edoardottt가 💙로 제작했습니다
트위터에 공유하기!
설치 • 사용법 • 시작하기 • 변경 사항 • 기여하기 • 라이선스
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 사용cariddi -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 (유용한 파일 찾기 (7단계 중 2단계))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 -rua (모든 요청에 무작위 브라우저 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 (stdout에 JSON 형식으로 출력)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 프록시와 함께 사용하려면 추가 단계를 수행해야 합니다.
-proxy http://127.0.0.1:8080 옵션으로 cariddi를 사용하려고 하면 burpsuite 오류 로그 섹션에서 다음과 같은 오류가 발생합니다:
Received fatal alert: bad_certificate (or something similar related to the certificate).
cariddi가 Burpsuite와 제대로 작동하도록 하려면 브라우저뿐만 아니라 전체 PC에서 인증서를 신뢰해야 합니다. 따라야 할 단계는 다음과 같습니다:
Burpsuite의 Proxy 탭으로 이동한 다음 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 .
출처: Debian/Ubuntu에서 Burp Proxy 인증서 신뢰 설정
이 단계를 거친 후 cariddi를 Burpsuite와 함께 사용하려면 다음을 수행해야 합니다:
-proxy http://127.0.0.1:8080 플래그와 함께 cariddi를 사용합니다.각 릴리스의 자세한 변경 사항은 릴리스 노트에 문서화되어 있습니다.
풀 리퀘스트를 열기 전에 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로 해주세요.