
Scanner de sécurité d'applications web
_ _ _ _____ _ _ _
| |_| |_| | / _____|_) _ | | | |
| | ( (____ _ _| |_ _____ __| |_____| |
| _ | \____ \| (_ _|____ |/ _ | ___ | |
| |_| | _____) ) | | |_/ ___ ( (_| | ____| |
| | (______/|_| \__)_____|\____|_____)\_)
Sitadel est essentiellement une mise à jour de WAScan le rendant compatible avec python >= 3.11. Il offre plus de flexibilité pour écrire de nouveaux modules et implémenter de nouvelles fonctionnalités :
Ce projet prend en charge python >= 3.11 (les versions plus anciennes, en fin de vie, ne sont plus prises en charge). Il n'y aura pas de rétroportage vers 2.7.
git clone https://github.com/shenril/Sitadel.git
cd Sitadel
pip3 install .
# run via the installed console command...
sitadel --help
# ...or directly from the checkout
python -m sitadel --help
Empreintes
Attaques :
Force brute
Injection
Autres
Vulnérabilités
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
| ATTAQUE | DESCRIPTION DU MODULE |
|---|---|
| bruteforce | Tenter une attaque par force brute sur l'emplacement de plusieurs fichiers (fichiers de sauvegarde, consoles d'administration...) |
| injection | Tenter d'effectuer une injection dans divers langages (SQL, html, ldap, javascript...) |
Exécution simple
sitadel http://website.com
Exécution avec le niveau de risque DANGEREUX et sans suivre les redirections
sitadel http://website.com -r 2 --no-redirect
Exécuter uniquement des modules spécifiques et avec une verbosité complète
sitadel http://website.com -a bruteforce -f header server -v
docker build -t sitadel .
docker run sitadel http://example.com
| ARGUMENT | DESCRIPTION |
|---|
| -h, --help | Afficher l'aide |
| -r, --risk {0,1,2} | Décidez du niveau de risque avec lequel vous souhaitez exécuter Sitadel (certaines attaques ne seront pas exécutées) |
| -ua, --user-agent | User agent utilisé pour les requêtes HTTP des attaques |
| --random-agent | Utiliser un User-Agent aléatoire pour chaque requête de scan |
| --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écifier le délai d'expiration (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écifier les modules d'empreinte à activer pour scanner le site web {cdn,cms,framework,frontend,header,lang,server,system,waf} |
| -a, --attack | Spécifier les modules d'attaque à activer pour scanner le site web {bruteforce, injection, vulns, other} |
| -c, --config | Spécifier le fichier de configuration pour le scan Sitadel, celui par défaut se trouve dans config/config.yml |
| -v, --verbosity | Augmenter la verbosité par défaut des journaux, par exemple : -v , -vv, -vvv |
| --version | Afficher la version de Sitadel |
| EMPREINTE | DESCRIPTION DU MODULE |
|---|
| cdn | Tenter de deviner si la cible utilise un réseau de diffusion de contenu (fastly, akamai, cloudflare...) |
| cms | Tenter de deviner si la cible utilise un système de gestion de contenu (drupal, wordpress, magento...) |
| framework | Tenter de deviner si la cible utilise un framework backend (cakephp, rails, symfony...) |
| frontend | Tenter de deviner si la cible utilise un framework frontend (angularjs, jquery, vuejs...) |
| header | Inspecter les en-têtes échangés avec la cible |
| lang | Tenter de deviner le langage serveur utilisé par la cible (asp, python, php...) |
| server | Tenter de deviner la technologie serveur utilisée par la cible (nginx, apache...) |
| system | Tenter de deviner le système d'exploitation utilisé par la cible (linux, windows...) |
| waf | Tenter de deviner si la cible utilise un pare-feu d'application web (barracuda, bigip, paloalto...) |
| vulns | Tenter de tester la présence de vulnérabilités connues (crime, shellshock) |
| other | Tenter de sonder diverses ressources intéressantes (DAV, htmlobjects, phpinfo, robots.txt...) |