From e35fd17dce84f787e6f8a34c91f8891ca24ba956 Mon Sep 17 00:00:00 2001 From: edoardottt Date: Tue, 8 Apr 2025 10:43:03 +0200 Subject: [PATCH] update README --- README.md | 175 ++++++++++++++++++++++------------------- pkg/output/examples.go | 54 ++++++------- 2 files changed, 120 insertions(+), 109 deletions(-) diff --git a/README.md b/README.md index 918ec1d..3f206e7 100644 --- a/README.md +++ b/README.md @@ -39,25 +39,25 @@ Installation 📡 ### Homebrew -``` +```console brew install cariddi ``` ### Snap -```bash +```console sudo snap install cariddi ``` -### Go +### Golang -```bash +```console go install -v github.com/edoardottt/cariddi/cmd/cariddi@latest ``` ### Pacman -```bash +```console pacman -Syu cariddi ``` @@ -65,6 +65,9 @@ pacman -Syu cariddi You need [Go](https://go.dev/) (>=1.23) +
+ Building from source for Linux and Windows + - **Linux** - `git clone https://github.com/edoardottt/cariddi.git` @@ -83,12 +86,96 @@ You need [Go](https://go.dev/) (>=1.23) - `.\make.bat windows` (to install) - `.\make.bat unwindows` (to uninstall) +
+ +Examples 💡 +---------- + +- `cariddi -version` (Print the version) +- `cariddi -h` (Print the help) +- `cariddi -examples` (Print the examples) +- `cat urls | cariddi -s` (Hunt for secrets) +- `cat urls | cariddi -err` (Hunt for errors in websites) +- `cat urls | cariddi -e` (Hunt for juicy endpoints) +- `cat urls | cariddi -info` (Hunt for useful informations in websites) +- `cat urls | cariddi -ext 2` (Hunt for juicy (level 2 out of 7) files) +- `cat urls | cariddi -e -ef endpoints_file` (Hunt for custom endpoints) +- `cat urls | cariddi -s -sf secrets_file` (Hunt for custom secrets) +- `cat urls | cariddi -d 2` (2 seconds between a page crawled and another) +- `cat urls | cariddi -c 200` (Set the concurrency level to 200) +- `cat urls | cariddi -plain` (Print only results) +- `cat urls | cariddi -ot target_name` (Results in txt file) +- `cat urls | cariddi -oh target_name` (Results in html file) +- `cat urls | cariddi -i forum,blog,community,open` (Ignore urls containing these words) +- `cat urls | cariddi -it ignore_file` (Ignore urls containing at least one line in the input file) +- `cat urls | cariddi -cache` (Use the .cariddi_cache folder as cache) +- `cat urls | cariddi -t 5` (Set the timeout for the requests) +- `cat urls | cariddi -intensive` (Crawl searching also subdomains, same as `*.target.com`) +- `cat urls | cariddi -rua` (Use a random browser user agent on every request) +- `cat urls | cariddi -proxy http://127.0.0.1:8080` (Set a Proxy, http and socks5 supported) +- `cat urls | cariddi -headers "Cookie: auth=admin;type=2;; X-Custom: customHeader"` +- `cat urls | cariddi -headersfile headers.txt` (Read from an external file custom headers) +- `cat urls | cariddi -debug` (Print debug information while crawling) +- `cat urls | cariddi -ua "Custom User Agent"` (Use a custom User Agent) +- `cat urls | cariddi -json` (Print the output as JSON in stdout) +- `cat urls | cariddi -sr` (Store HTTP responses) +- `cat urls | cariddi -md 3` (Max 3 depth levels) + +Obviously if you have only a single target you can use + +```console +echo https://edoardottt.com/ | cariddi +``` + +- For Windows: + - use `powershell.exe -Command "cat urls | .\cariddi.exe"` inside the Command prompt + - or just `cat urls | cariddi.exe` using PowerShell + +- To integrate cariddi with Burpsuite [follow these steps](https://github.com/edoardottt/cariddi/wiki/BurpSuite-Integration) or click the button below: + +
+ Integrate cariddi with Burpsuite + + Normally you use Burpsuite within your browser, so you just have to trust the burpsuite's certificate in the browser and you're done. + In order to use cariddi with the BurpSuite proxy you should do some steps further. + + If you try to use cariddi with the option `-proxy http://127.0.0.1:8080` you will find this error in the burpsuite error log section: + + ```bash + Received fatal alert: bad_certificate (or something similar related to the certificate). + ``` + + To make cariddi working fine with Burpsuite you have also to trust the certificate within your entire pc, not just only the browser. These are the steps you have to follow: + + Go to Proxy tab in Bupsuite, then Options. Click on the CA Certificate button and export Certificate in DER format + + ```bash + 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 . + ``` + + Source: Trust Burp Proxy certificate in Debian/Ubuntu + + After these steps, in order to use cariddi with Burpsuite you have to: + + 1. Open Burpsuite, making sure that the proxy is listening. + 2. Use cariddi with the flag `-proxy http://127.0.0.1:8080`. + 3. You will see that requests and responses will be logged in Burpsuite. + +
+ Get Started 🎉 ---------- `cariddi -h` prints the help. -``` +```txt Usage of cariddi: -c int Concurrency level. (default 20) @@ -147,82 +234,6 @@ Usage of cariddi: Print the version. ``` -Examples 💡 ----------- - -- `cariddi -version` (Print the version) -- `cariddi -h` (Print the help) -- `cariddi -examples` (Print the examples) -- `cat urls | cariddi -s` (Hunt for secrets) -- `cat urls | cariddi -d 2` (2 seconds between a page crawled and another) -- `cat urls | cariddi -c 200` (Set the concurrency level to 200) -- `cat urls | cariddi -e` (Hunt for juicy endpoints) -- `cat urls | cariddi -plain` (Print only results) -- `cat urls | cariddi -ot target_name` (Results in txt file) -- `cat urls | cariddi -oh target_name` (Results in html file) -- `cat urls | cariddi -ext 2` (Hunt for juicy (level 2 out of 7) files) -- `cat urls | cariddi -e -ef endpoints_file` (Hunt for custom endpoints) -- `cat urls | cariddi -s -sf secrets_file` (Hunt for custom secrets) -- `cat urls | cariddi -i forum,blog,community,open` (Ignore urls containing these words) -- `cat urls | cariddi -it ignore_file` (Ignore urls containing at least one line in the input file) -- `cat urls | cariddi -cache` (Use the .cariddi_cache folder as cache) -- `cat urls | cariddi -t 5` (Set the timeout for the requests) -- `cat urls | cariddi -intensive` (Crawl searching also subdomains, same as `*.target.com`) -- `cat urls | cariddi -rua` (Use a random browser user agent on every request) -- `cat urls | cariddi -proxy http://127.0.0.1:8080` (Set a Proxy, http and socks5 supported) -- `cat urls | cariddi -headers "Cookie: auth=admin;type=2;; X-Custom: customHeader"` -- `cat urls | cariddi -headersfile headers.txt` (Read from an external file custom headers) -- `cat urls | cariddi -err` (Hunt for errors in websites) -- `cat urls | cariddi -info` (Hunt for useful informations in websites) -- `cat urls | cariddi -debug` (Print debug information while crawling) -- `cat urls | cariddi -ua "Custom User Agent"` (Use a custom User Agent) -- `cat urls | cariddi -json` (Print the output as JSON in stdout) -- `cat urls | cariddi -sr` (Store HTTP responses) -- `cat urls | cariddi -md 3` (Max 3 depth levels) - -- For Windows: - - use `powershell.exe -Command "cat urls | .\cariddi.exe"` inside the Command prompt - - or just `cat urls | cariddi.exe` using PowerShell - -- To integrate cariddi with Burpsuite [follow these steps](https://github.com/edoardottt/cariddi/wiki/BurpSuite-Integration) or click the button below: - -
- Integrate cariddi with Burpsuite - - Normally you use Burpsuite within your browser, so you just have to trust the burpsuite's certificate in the browser and you're done. - In order to use cariddi with the BurpSuite proxy you should do some steps further. - - If you try to use cariddi with the option `-proxy http://127.0.0.1:8080` you will find this error in the burpsuite error log section: - - ```bash - Received fatal alert: bad_certificate (or something similar related to the certificate). - ``` - - To make cariddi working fine with Burpsuite you have also to trust the certificate within your entire pc, not just only the browser. These are the steps you have to follow: - - Go to Proxy tab in Bupsuite, then Options. Click on the CA Certificate button and export Certificate in DER format - - ```bash - 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 . - ``` - - Source: Trust Burp Proxy certificate in Debian/Ubuntu - - After these steps, in order to use cariddi with Burpsuite you have to: - - 1. Open Burpsuite, making sure that the proxy is listening. - 2. Use cariddi with the flag `-proxy http://127.0.0.1:8080`. - 3. You will see that requests and responses will be logged in Burpsuite. - -
- Changelog 📌 ------- diff --git a/pkg/output/examples.go b/pkg/output/examples.go index 04b46b4..a76f6e8 100644 --- a/pkg/output/examples.go +++ b/pkg/output/examples.go @@ -37,31 +37,35 @@ func PrintExamples() { cariddi -h (Print the help) cariddi -examples (Print the examples) - + cat urls | cariddi -s (Hunt for secrets) - - cat urls | cariddi -d 2 (2 seconds between a page crawled and another) - - cat urls | cariddi -c 200 (Set the concurrency level to 200) - + + cat urls | cariddi -err (Hunt for errors) + cat urls | cariddi -e (Hunt for juicy endpoints) - - cat urls | cariddi -plain (Print only results) - - cat urls | cariddi -ot target_name (Results in txt file) - - cat urls | cariddi -oh target_name (Results in html file) - + + cat urls | cariddi -info (Hunt for useful information) + cat urls | cariddi -ext 2 (Hunt for juicy (level 2 out of 7) files) - + cat urls | cariddi -e -ef endpoints_file (Hunt for custom endpoints) cat urls | cariddi -s -sf secrets_file (Hunt for custom secrets) - + + cat urls | cariddi -d 2 (2 seconds between a page crawled and another) + + cat urls | cariddi -c 200 (Set the concurrency level to 200) + + cat urls | cariddi -plain (Print only results) + + cat urls | cariddi -ot target_name (Results in txt file) + + cat urls | cariddi -oh target_name (Results in html file) + cat urls | cariddi -i forum,blog,community,open (Ignore urls containing these words) - + cat urls | cariddi -it ignore_file (Ignore urls containing at least one line in the input file.) - + cat urls | cariddi -cache (Use the .cariddi_cache folder as cache) cat urls | cariddi -t 5 (Set the timeout for the requests) @@ -71,22 +75,18 @@ func PrintExamples() { cat urls | cariddi -rua (Use a random browser user agent on every request) cat urls | cariddi -proxy http://127.0.0.1:8080 (Set a Proxy to be used (http and socks5 supported)) - + cat urls | cariddi -headers "Cookie: auth=admin;type=2;; X-Custom: customHeader (Use custom headers)" - + cat urls | cariddi -headersfile headers.txt (Read from an external file custom headers) - cat urls | cariddi -err (Hunt for errors) - - cat urls | cariddi -info (Hunt for useful information) - cat urls | cariddi -debug (Print debug information) - + cat urls | cariddi -ua "Custom User Agent" (Use a custom User Agent) - + cat urls | cariddi -json (Print the output as JSON) - + cat urls | cariddi -sr (Store HTTP responses) - + cat urls | cariddi -md 3 (Max 3 levels)`) }