
Sitadel v1.5.1
Scanner di sicurezza per applicazioni web
Sitadel - Scanner di sicurezza per applicazioni web
_ _ _ _____ _ _ _
| |_| |_| | / _____|_) _ | | | |
| | ( (____ _ _| |_ _____ __| |_____| |
| _ | \____ \| (_ _|____ |/ _ | ___ | |
| |_| | _____) ) | | |_/ ___ ( (_| | ____| |
| | (______/|_| \__)_____|\____|_____)\_)
Sitadel è fondamentalmente un aggiornamento di WAScan che lo rende compatibile con Python >= 3.11. Consente maggiore flessibilità per scrivere nuovi moduli e implementare nuove funzionalità:
- Rilevamento framework frontend
- Rilevamento Content Delivery Network
- Definizione del livello di rischio per consentire le scansioni
- Sistema di plugin
- Immagine Docker disponibile per la build e l'esecuzione
Table of Contents
Requisiti e avvertenze
Questo progetto supporta python >= 3.11 (le versioni precedenti, giunte a fine vita, non sono più supportate). Non verrà effettuato alcun backport alla 2.7
Installazione
git clone https://github.com/shenril/Sitadel.git
cd Sitadel
pip3 install .
# esegui tramite il comando console installato...
sitadel --help
# ...o direttamente dalla directory di checkout
python -m sitadel --help
Funzionalità
-
Fingerprints
- Server
- Web Frameworks (CakePHP,CherryPy,...)
- Frontend Frameworks (AngularJS,MeteorJS,VueJS,...)
- Web Application Firewall (Waf)
- Content Management System (CMS)
- Operating System (Linux,Unix,..)
- Language (PHP,Ruby,...)
- Sicurezza dei cookie
- Content Delivery Networks (CDN)
-
Attacchi:
-
Bruteforce
- Interfaccia di amministrazione
- Backdoor comuni
- Directory di backup comuni
- File di backup comuni
- Directory comuni
- File comuni
- File di log
-
Injection
- HTML Injection
- SQL Injection
- LDAP Injection
- XPath Injection
- Cross Site Scripting (XSS)
- Remote File Inclusion (RFI)
- PHP Code Injection
-
Altro
- Metodi HTTP consentiti
- Oggetto HTML
- Indice multiplo
- Percorsi robots
- Web Dav
- Cross Site Tracing (XST)
- PHPINFO
- .Listing
-
Vulnerabilità
- ShellShock
- Anonymous Cipher (CVE-2007-1858)
- Crime (SPDY) (CVE-2012-4929)
- Struts-Shock
-
Utilizzo
sitadel [-h] [-r {0,1,2}] [-ua USER_AGENT] [--random-agent] [--redirect]
[--no-redirect] [-t TIMEOUT] [-c COOKIE] [-p PROXY]
[-f FINGERPRINT [MODULE ...]] [-a ATTACK [MODULE ...]]
[--config CONFIG] [-v] [--version]
TARGET_URL
| ARGOMENTO | DESCRIZIONE |
|---|---|
| -h, --help | Visualizza l'aiuto |
| -r, --risk {0,1,2} | Decidi il livello di rischio con cui vuoi che Sitadel esegua la scansione (alcuni attacchi non verranno eseguiti) |
| -ua, --user-agent | User agent utilizzato per le richieste HTTP degli attacchi |
| --random-agent | Usa un User-Agent casuale per ogni richiesta di scansione |
| --redirect | Indica a Sitadel di seguire la richiesta 302 per il reindirizzamento delle pagine |
| --no-redirect | Indica a Sitadel di NON seguire la richiesta 302 per il reindirizzamento delle pagine |
| -t, --timeout | Specifica il timeout per le richieste HTTP al sito web |
| -c, --cookie | Permette di specificare il cookie da inviare con le richieste di attacco |
| -p, --proxy | Permette di specificare un proxy per eseguire le richieste HTTP |
| -f, --fingerprint | Specifica i moduli di fingerprint da attivare per la scansione del sito web {cdn,cms,framework,frontend,header,lang,server,system,waf} |
| -a, --attack | Specifica i moduli di attacco da attivare per la scansione del sito web {bruteforce, injection, vulns, other} |
| -c, --config | Specifica il file di configurazione per la scansione di Sitadel, quello predefinito è in config/config.yml |
| -v, --verbosity | Aumenta la verbosità predefinita dei log, ad esempio: -v , -vv, -vvv |
| --version | Mostra la versione di Sitadel |
Elenco dei moduli
| FINGERPRINT | DESCRIZIONE MODULO |
|---|---|
| cdn | Prova a indovinare se il target utilizza una Content Delivery Network (fastly, akamai, cloudflare...) |
| cms | Prova a indovinare se il target utilizza un Content Management System (drupal, wordpress, magento...) |
| framework | Prova a indovinare se il target utilizza un framework backend (cakephp, rails, symfony...) |
| frontend | Prova a indovinare se il target utilizza un framework frontend (angularjs, jquery, vuejs...) |
| header | Ispeziona le intestazioni scambiate con il target |
| lang | Prova a indovinare il linguaggio server utilizzato dal target (asp, python, php...) |
| server | Prova a indovinare la tecnologia server utilizzata dal target (nginx, apache...) |
| system | Prova a indovinare il sistema operativo utilizzato dal target (linux, windows...) |
| waf | Prova a indovinare se il target utilizza un Web Application Firewall (barracuda, bigip, paloalto...) |
| ATTACK | DESCRIZIONE MODULO |
|---|---|
| bruteforce | Prova a forzare la posizione di più file (file di backup, console di amministrazione...) |
| injection | Prova a eseguire injection su vari linguaggi (SQL, HTML, LDAP, JavaScript...) |
| vulns | Prova a testare alcune vulnerabilità note (crime, shellshock) |
| other | Prova a sondare varie risorse interessanti (DAV, htmlobjects, phpinfo, robots.txt...) |
Esempi
Esecuzione semplice
sitadel http://website.com
Esecuzione con livello di rischio DANGEROUS e senza seguire i reindirizzamenti
sitadel http://website.com -r 2 --no-redirect
Esecuzione solo di moduli specifici e verbosità completa
sitadel http://website.com -a bruteforce -f header server -v
Esecuzione con Docker
docker build -t sitadel .
docker run sitadel http://example.com