
Sitadel v1.5.1
Scanner de sécurité d'applications web
Sitadel - Scanner de sécurité pour 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 :
- Détection de framework frontend
- Découverte de formulaires HTML avec injection de paramètres POST/body
- Détection de Content Delivery Network
- Définition du niveau de risque pour autoriser les scans
- Système de plugins
- Image Docker disponible pour la construction et l'exécution
Table des matières
Avertissement sur les prérequis
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
Installation
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
Fonctionnalités
-
Empreintes
- Serveur
- Frameworks web (CakePHP,CherryPy,...)
- Frameworks frontend (AngularJS,MeteorJS,VueJS,...)
- Web Application Firewall (Waf)
- Système de gestion de contenu (CMS)
- Système d'exploitation (Linux,Unix,..)
- Langage (PHP,Ruby,...)
- Sécurité des cookies
- Audit des en-têtes de sécurité
- Content Delivery Networks (CDN)
-
Attaques :
-
Bruteforce
- Interface d'administration
- Backdoors courantes
- Répertoire de sauvegarde courant
- Fichier de sauvegarde courant
- Répertoire courant
- Fichier courant
- Fichier de log
-
Injection
- Injection HTML
- Injection SQL
- Injection LDAP
- Injection XPath
- Cross Site Scripting (XSS)
- Remote File Inclusion (RFI)
- Injection de code PHP
- XML External Entity (XXE)
- Server-Side Template Injection (SSTI)
- Path Traversal / LFI
-
Autres
- Méthodes HTTP autorisées
- Objet HTML
- Index multiples
- Chemins Robots
- Web Dav
- Cross Site Tracing (XST)
- PHPINFO
- .Listing
- Découverte WebSocket & CSWSH
- Mauvaise configuration CORS
- Open Redirect
- Server-Side Request Forgery (SSRF)
- Fichiers sensibles exposés
- Fuite de secrets dans les réponses
-
Vulnérabilités
- ShellShock
- Anonymous Cipher (CVE-2007-1858)
- Crime (SPDY) (CVE-2012-4929)
- Struts-Shock
-
Utilisation
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
| ARGUMENT | DESCRIPTION |
|---|---|
| -h, --help | Affiche l'aide |
| -r, --risk {0,1,2} | Décide du niveau de risque auquel vous souhaitez que Sitadel s'exécute (certaines attaques ne seront pas exécutées) |
| -ua, --user-agent | User agent utilisé pour la requête HTTP des attaques |
| --random-agent | Utilise 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écifie le 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'empreinte à 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, celui 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 |
Liste des modules
| EMPREINTE | DESCRIPTION DU MODULE |
|---|---|
| cdn | Essaie de deviner si la cible utilise un Content Delivery Network (fastly, akamai,cloudflare...) |
| cms | Essaie de deviner si la cible utilise un Système de gestion de contenu (drupal,wordpress,magento...) |
| framework | Essaie de deviner si la cible utilise un framework backend (cakephp, rails, symfony...) |
| frontend | Essaie de deviner si la cible utilise un framework frontend (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 Web Application Firewall (barracuda, bigip,paloalto...) |
| ATTAQUE | DESCRIPTION DU MODULE |
|---|---|
| bruteforce | Essaie de bruteforcer l'emplacement de multiples fichiers (fichiers de sauvegarde, consoles d'administration...) |
| injection | Essaie d'effectuer une injection sur divers langages (SQL,html,ldap, javascript...) |
| vulns | Essaie de tester certaines vulnérabilités connues (crime,shellshock) |
| other | Essaie de sonder diverses ressources intéressantes (DAV, htmlobjects,phpinfo,robots.txt...) |
Exemples
Exécution simple
sitadel http://website.com
Exécution avec un niveau de risque à DANGEROUS et sans suivre les redirections
sitadel http://website.com -r 2 --no-redirect
Exécution de modules spécifiques uniquement et verbosité complète