
Scanner di sicurezza per applicazioni web
_ _ _ _____ _ _ _
| |_| |_| | / _____|_) _ | | | |
| | ( (____ _ _| |_ _____ __| |_____| |
| _ | \____ \| (_ _|____ |/ _ | ___ | |
| |_| | _____) ) | | |_/ ___ ( (_| | ____| |
| | (______/|_| \__)_____|\____|_____)\_)
Sitadel è fondamentalmente un aggiornamento di WAScan che lo rende compatibile con Python >= 3.4 Offre maggiore flessibilità per scrivere nuovi moduli e implementare nuove funzionalità:
Questo progetto supporta SOLO Python >= 3.4. Non ci sarà un backport a 2.7
git clone https://github.com/shenril/Sitadel.git
cd Sitadel
pip3 install .
python sitadel.py --help
Rilevamento
Attacchi:
Bruteforce
Iniezione
Altro
Vulnerabilità
sitadel.py [-h] [-r {0,1,2}] [-ua USER_AGENT] [--redirect]
[--no-redirect] [-t TIMEOUT] [-c COOKIE] [-p PROXY]
[-f FINGERPRINT [MODULE ...]] [-a ATTACK [MODULE ...]]
[--config CONFIG] [-v] [--version]
TARGET_URL
| ATTACCO | DESCRIZIONE MODULO |
|---|---|
| bruteforce | Tenta di forzare brute force la posizione di vari file (file di backup, console di amministrazione...) |
| injection | Tenta di eseguire iniezioni su vari linguaggi (SQL, html, ldap, javascript...) |
| vulns | Tenta di testare alcune vulnerabilità note (crime, shellshock) |
Esecuzione semplice
python3 sitadel http://website.com
Esecuzione con livello di rischio DANGEROUS e senza seguire i reindirizzamenti
python3 sitadel http://website.com -r 2 --no-redirect
Esegui solo moduli specifici e verbosità completa
python3 sitadel http://website.com -a bruteforce -f header server -v
docker build -t sitadel .
docker run sitadel http://example.com
| ARGOMENTO | DESCRIZIONE |
|---|
| -h, --help | Mostra aiuto |
| -r, --risk {0,1,2} | Decide il livello di rischio con cui eseguire Sitadel (alcuni attacchi non verranno eseguiti) |
| -ua, --user-agent | User agent utilizzato per le richieste HTTP degli attacchi |
| --redirect | Indica a Sitadel di seguire le richieste 302 per il reindirizzamento delle pagine |
| --no-redirect | Indica a Sitadel di NON seguire le richieste 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 effettuare le richieste HTTP |
| -f, --fingerprint | Specifica i moduli di rilevamento da attivare per la scansione del sito {cdn,cms,framework,frontend,header,lang,server,system,waf} |
| -a, --attack | Specifica i moduli di attacco da attivare per la scansione del sito {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 |
| RILEVAMENTO | DESCRIZIONE MODULO |
|---|
| cdn | Tenta di indovinare se il target utilizza una Content Delivery Network (fastly, akamai, cloudflare...) |
| cms | Tenta di indovinare se il target utilizza un Sistema di Gestione dei Contenuti (drupal, wordpress, magento...) |
| framework | Tenta di indovinare se il target utilizza un framework backend (cakephp, rails, symfony...) |
| frontend | Tenta di indovinare se il target utilizza un framework frontend (angularjs, jquery, vuejs...) |
| header | Ispeziona gli header scambiati con il target |
| lang | Tenta di indovinare il linguaggio server utilizzato dal target (asp, python, php...) |
| server | Tenta di indovinare la tecnologia server utilizzata dal target (nginx, apache...) |
| system | Tenta di indovinare il sistema operativo utilizzato dal target (linux, windows...) |
| waf | Tenta di indovinare se il target utilizza un Web Application Firewall (barracuda, bigip, paloalto...) |
| other | Tenta di sondare varie risorse interessanti (DAV, htmlobjects, phpinfo, robots.txt...) |