
Scanner de sécurité d'applications web
_ _ _ _____ _ _ _
| |_| |_| | / _____|_) _ | | | |
| | ( (____ _ _| |_ _____ __| |_____| |
| _ | \____ \| (_ _|____ |/ _ | ___ | |
| |_| | _____) ) | | |_/ ___ ( (_| | ____| |
| | (______/|_| \__)_____|\____|_____)\_)
Sitadel est fondamentalement une mise à jour de WAScan le rendant compatible avec python >= 3.4. Il offre plus de flexibilité pour écrire de nouveaux modules et implémenter de nouvelles fonctionnalités :
Ce projet UNIQUEMENT supporte python >= 3.4. Il n'y aura pas de rétroportage vers la version 2.7
git clone https://github.com/shenril/Sitadel.git
cd Sitadel
pip3 install .
python sitadel.py --help
Empreintes
Attaques :
Bruteforce
Injection
Autres
Vulnérabilités
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
| ATTAQUE | DESCRIPTION DU MODULE |
|---|---|
| bruteforce | Essaie de forcer par brute force l'emplacement de multiples fichiers (fichiers de sauvegarde, consoles d'administration...) |
| injection | Essaie d'effectuer des injections dans divers langages (SQL, html, ldap, javascript...) |
Exécution simple
python3 sitadel http://website.com
Exécution avec le niveau de risque DANGEREUX et sans suivre les redirections
python3 sitadel http://website.com -r 2 --no-redirect
Exécuter uniquement des modules spécifiques avec la verbosité maximale
python3 sitadel http://website.com -a bruteforce -f header server -v
docker build -t sitadel .
docker run sitadel http://example.com
| ARGUMENT | DESCRIPTION |
|---|
| -h, --help | Affiche l'aide |
| -r, --risk {0,1,2} | Définit le niveau de risque que vous voulez que Sitadel utilise (certaines attaques ne seront pas exécutées) |
| -ua, --user-agent | User-agent utilisé pour les requêtes HTTP des attaques |
| --redirect | Indique à Sitadel de suivre la requête 302 pour la redirection de page |
| --no-redirect | Indique à Sitadel de NE PAS suivre la requête 302 pour la redirection de page |
| -t, --timeout | Spécifie le délai d'attente (timeout) pour les requêtes HTTP vers le site web |
| -c, --cookie | Permet de spécifier le cookie à envoyer avec les requêtes d'attaque |
| -p, --proxy | Permet de spécifier un proxy pour effectuer les requêtes HTTP |
| -f, --fingerprint | Spécifie les modules d'empreintes à activer pour scanner le site web {cdn,cms,framework,frontend,header,lang,server,system,waf} |
| -a, --attack | Spécifie les modules d'attaque à activer pour scanner le site web {bruteforce, injection, vulns, other} |
| -c, --config | Spécifie le fichier de configuration pour le scan Sitadel, le fichier par défaut se trouve dans config/config.yml |
| -v, --verbosity | Augmente la verbosité par défaut des logs, par exemple : -v, -vv, -vvv |
| --version | Affiche la version de Sitadel |
| EMPREINTE | DESCRIPTION DU MODULE |
|---|
| cdn | Essaie de deviner si la cible utilise un réseau de diffusion de contenu (CDN) (fastly, akamai, cloudflare...) |
| cms | Essaie de deviner si la cible utilise un système de gestion de contenu (CMS) (drupal, wordpress, magento...) |
| framework | Essaie de deviner si la cible utilise un framework back-end (cakephp, rails, symfony...) |
| frontend | Essaie de deviner si la cible utilise un framework front-end (angularjs, jquery, vuejs...) |
| header | Inspecte les en-têtes échangés avec la cible |
| lang | Essaie de deviner le langage serveur utilisé par la cible (asp, python, php...) |
| server | Essaie de deviner la technologie serveur utilisée par la cible (nginx, apache...) |
| system | Essaie de deviner le système d'exploitation utilisé par la cible (linux, windows...) |
| waf | Essaie de deviner si la cible utilise un pare-feu applicatif web (WAF) (barracuda, bigip, paloalto...) |
| vulns |
| Essaie de tester certaines vulnérabilités connues (crime, shellshock) |
| other | Essaie de sonder diverses ressources intéressantes (DAV, htmlobjects, phpinfo, robots.txt...) |