
🏴☠️ Information Gathering tool 🏴☠️ - DNS / Subdomains / Ports / Directories enumeration
Coded with 💙 by edoardottt
Install • Get Started • Examples • Changelog • Contributing • License

brew install scilla
sudo snap install scilla
go install -v github.com/edoardottt/scilla/cmd/scilla@latest
You need Go (>=1.23)
Building from source for Linux and Windows
git clone https://github.com/edoardottt/scilla.git
cd scilla
go get ./...
make linux # (to install)
make unlinux # (to uninstall)
Edit the ~/.config/scilla/keys.yaml file if you want to use API keys.
One-liner: git clone https://github.com/edoardottt/scilla.git && cd scilla && go get ./... && make linux
Note that the executable works only in cariddi folder (Alias?).
git clone https://github.com/edoardottt/scilla.git
cd scilla
.\make.bat windows # (to install)
.\make.bat unwindows # (to uninstall)
Create a keys.yaml file if you want to use API keys.
docker build -t scilla .
docker run scilla help
DNS enumeration:
scilla dns -target example.com
scilla dns -oj output -target example.comscilla dns -oh output -target example.comscilla dns -ot output -target example.comscilla dns -plain -target example.com
Subdomains enumeration:
scilla subdomain -target example.com
scilla subdomain -w wordlist.txt -target example.comscilla subdomain -oj output -target example.comscilla subdomain -oh output -target example.comscilla subdomain -ot output -target example.comscilla subdomain -i 400 -target example.comscilla subdomain -i 4** -target example.comscilla subdomain -c -target example.comscilla subdomain -db -target example.comscilla subdomain -plain -target example.comscilla subdomain -db -no-check -target example.comscilla subdomain -db -vt -target example.comscilla subdomain -db -bw -target example.comscilla subdomain -ua "CustomUA" -target example.comscilla subdomain -rua -target example.comscilla subdomain -dns 8.8.8.8 -target example.comscilla subdomain -alive -target example.com
Directories enumeration:
scilla dir -target example.com
scilla dir -w wordlist.txt -target example.comscilla dir -oj output -target example.comscilla dir -oh output -target example.comscilla dir -ot output -target example.comscilla dir -i 500,401 -target example.comscilla dir -i 5**,401 -target example.comscilla dir -c -target example.comscilla dir -plain -target example.comscilla dir -nr -target example.comscilla dir -ua "CustomUA" -target example.comscilla dir -rua -target example.com
Ports enumeration:
Default (all ports, so 1-65635) scilla port -target example.com
scilla port -p 20-90 -target example.comscilla port -p 20- -target example.comscilla port -p -90 -target example.comscilla port -p 21,25,80 -target example.comscilla port -common -target example.comscilla port -p 80 -target example.comscilla port -oj output -target example.comscilla port -oh output -target example.comscilla port -ot output -target example.comPrint only results scilla port -plain -target example.com
Full report:
Default (all ports, so 1-65635) scilla report -target example.com
scilla report -p 20-90 -target example.comscilla report -p 20- -target example.comscilla report -p -90 -target example.comscilla report -p 80 -target example.comscilla report -p 21,25,80 -target example.comscilla report -oj output -target example.comscilla report -oh output -target example.comscilla report -ot output -target example.comscilla report -wd dirs.txt -target example.comscilla report -ws subdomains.txt -target example.comscilla report -id 500,501,502 -target example.comscilla report -is 500,501,502 -target example.comscilla report -id 5**,4** -target example.comscilla report -is 5**,4** -target example.comscilla report -cd -target example.comscilla report -cs -target example.comscilla report -db -target example.comscilla report -common -target example.comscilla report -nr -target example.comscilla report -db -vt -target example.comscilla report -ua "CustomUA" -target example.comscilla report -rua -target example.comscilla report -dns 8.8.8.8 -target example.comscilla report -alive -target example.comscilla help prints the help in the command line.
usage: scilla subcommand { options }
Available subcommands:
- dns [-oj JSON output file]
[-oh HTML output file]
[-ot TXT output file]
[-plain Print only results]
-target <target (URL/IP)> REQUIRED
- port [-p <start-end> or ports divided by comma]
[-oj JSON output file]
[-oh HTML output file]
[-ot TXT output file]
[-common scan common ports]
[-plain Print only results]
-target <target (URL/IP)> REQUIRED
- subdomain [-w wordlist]
[-oj JSON output file]
[-oh HTML output file]
[-ot TXT output file]
[-i ignore status codes]
[-c use also a web crawler]
[-db use also a public database]
[-plain Print only results]
[-db -no-check Don't check status codes for subdomains]
[-db -vt Use VirusTotal as subdomains source]
[-db -bw Use BuiltWith as subdomains source]
[-ua Set the User Agent]
[-rua Generate a random user agent for each request]
[-dns Set DNS IP to resolve the subdomains]
[-alive Check also if the subdomains are alive]
-target <target (URL)> REQUIRED
- dir [-w wordlist]
[-oj JSON output file]
[-oh HTML output file]
[-ot TXT output file]
[-i ignore status codes]
[-c use also a web crawler]
[-plain Print only results]
[-nr No follow redirects]
[-ua Set the User Agent]
[-rua Generate a random user agent for each request]
-target <target (URL/IP)> REQUIRED
- report [-p <start-end> or ports divided by comma]
[-ws subdomains wordlist]
[-wd directories wordlist]
[-oj JSON output file]
[-oh HTML output file]
[-ot TXT output file]
[-id ignore status codes in directories scanning]
[-is ignore status codes in subdomains scanning]
[-cd use also a web crawler for directories scanning]
[-cs use also a web crawler for subdomains scanning]
[-db use also a public database for subdomains scanning]
[-common scan common ports]
[-nr No follow redirects]
[-db -vt Use VirusTotal as subdomains source]
[-ua Set the User Agent]
[-rua Generate a random user agent for each request]
[-dns Set DNS IP to resolve the subdomains]
[-alive Check also if the subdomains are alive]
-target <target (URL)> REQUIRED
- help
- examples
Detailed changes for each release are documented in the release notes.
Just open an issue / pull request.
Before opening a pull request, download golangci-lint and run
golangci-lint run
If there aren't errors, go ahead :)
To do:
[ ] Add more tests
[ ] Tor support
[ ] Proxy support
This repository is under GNU General Public License v3.0.
edoardottt.com to contact me.
$ claude mcp add scilla \
-- python -m otcore.mcp_server <graph>