
Sitadel v1.5.1
Webanwendungs-Sicherheitsscanner
Sitadel - Web Application Security Scanner
_ _ _ _____ _ _ _
| |_| |_| | / _____|_) _ | | | |
| | ( (____ _ _| |_ _____ __| |_____| |
| _ | \____ \| (_ _|____ |/ _ | ___ | |
| |_| | _____) ) | | |_/ ___ ( (_| | ____| |
| | (______/|_| \__)_____|\____|_____)\_)
Sitadel ist im Grunde ein Update für WAScan, das es mit Python >= 3.11 kompatibel macht. Es bietet mehr Flexibilität beim Schreiben neuer Module und der Implementierung neuer Funktionen:
- Erkennung von Frontend-Frameworks
- Entdeckung von HTML-Formularen mit POST-/Body-Parameter-Injection
- Erkennung von Content Delivery Networks
- Festlegung des Risikoniveaus für Scans
- Plugin-System
- Docker-Image zum Erstellen und Ausführen verfügbar
Inhaltsverzeichnis
Warnung zu den Anforderungen
Dieses Projekt unterstützt Python >= 3.11 (ältere, End-of-Life-Versionen werden nicht mehr unterstützt). Es wird kein Backport auf 2.7 geben.
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
Funktionen
-
Fingerabdrücke
- Server
- Web-Frameworks (CakePHP, CherryPy, ...)
- Frontend-Frameworks (AngularJS, MeteorJS, VueJS, ...)
- Web Application Firewall (WAF)
- Content Management System (CMS)
- Betriebssystem (Linux, Unix, ...)
- Sprache (PHP, Ruby, ...)
- Cookie-Sicherheit
- Audit der Sicherheits-Header
- Content Delivery Networks (CDN)
-
Angriffe:
-
Brute-Force
- Admin-Oberfläche
- Häufige Backdoors
- Häufiges Backup-Verzeichnis
- Häufige Backup-Datei
- Häufiges Verzeichnis
- Häufige Datei
- Log-Datei
-
Injection
- HTML-Injection
- SQL-Injection
- LDAP-Injection
- XPath-Injection
- Cross-Site-Scripting (XSS)
- Remote File Inclusion (RFI)
- PHP-Code-Injection
- XML External Entity (XXE)
- Server-Side Template Injection (SSTI)
- Path Traversal / LFI
-
Sonstiges
- HTTP Allow Methods
- HTML-Objekt
- Mehrfacher Index
- Robots-Pfade
- WebDAV
- Cross Site Tracing (XST)
- PHPINFO
- .Listing
- WebSocket-Erkennung & CSWSH
- CORS-Fehlkonfiguration
- Open Redirect
- Server-Side Request Forgery (SSRF)
- Offengelegte sensible Dateien
- Preisgabe von Geheimnissen in Antworten
-
Schwachstellen
- ShellShock
- Anonymous Cipher (CVE-2007-1858)
- Crime (SPDY) (CVE-2012-4929)
- Struts-Shock
-
Verwendung
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 | BESCHREIBUNG |
|---|---|
| -h, --help | Hilfe anzeigen |
| -r, --risk {0,1,2} | Legt das Risikoniveau fest, mit dem Sitadel ausgeführt werden soll (einige Angriffe werden nicht ausgeführt) |
| -ua, --user-agent | User-Agent, der für die HTTP-Anfragen der Angriffe verwendet wird |
| --random-agent | Verwendet für jede Scan-Anfrage einen zufälligen User-Agent |
| --redirect | Weist Sitadel an, der 302-Anfrage zur Seitenumleitung zu folgen |
| --no-redirect | Weist Sitadel an, der 302-Anfrage zur Seitenumleitung NICHT zu folgen |
| -t, --timeout | Gibt das Timeout für die HTTP-Anfragen an die Website an |
| -c, --cookie | Ermöglicht die Angabe des Cookies, das mit den Angriffsanfragen gesendet wird |
| -p, --proxy | Ermöglicht die Angabe eines Proxys zur Durchführung der HTTP-Anfragen |
| -f, --fingerprint | Gibt die zu aktivierenden Fingerprint-Module für den Scan der Website an {cdn,cms,framework,frontend,header,lang,server,system,waf} |
| -a, --attack | Gibt die zu aktivierenden Angriffsmodule für den Scan der Website an {bruteforce, injection, vulns, other} |
| -c, --config | Gibt die Konfigurationsdatei für den Sitadel-Scan an, die Standarddatei befindet sich in config/config.yml |
| -v, --verbosity | Erhöht die Standard-Ausführlichkeit der Logs, zum Beispiel: -v , -vv, -vvv |
| --version | Zeigt die Sitadel-Version an |
Modulliste
| FINGERPRINT | MODULBESCHREIBUNG |
|---|---|
| cdn | Versucht zu erraten, ob das Ziel ein Content Delivery Network verwendet (fastly, akamai, cloudflare...) |
| cms | Versucht zu erraten, ob das Ziel ein Content Management System verwendet (drupal, wordpress, magento...) |
| framework | Versucht zu erraten, ob das Ziel ein Backend-Framework verwendet (cakephp, rails, symfony...) |
| frontend | Versucht zu erraten, ob das Ziel ein Frontend-Framework verwendet (angularjs, jquery, vuejs...) |
| header | Untersucht die mit dem Ziel ausgetauschten Header |
| lang | Versucht die vom Ziel verwendete Serversprache zu erraten (asp, python, php...) |
| server | Versucht die vom Ziel verwendete Servertechnologie zu erraten (nginx, apache...) |
| system | Versucht das vom Ziel verwendete Betriebssystem zu erraten (linux, windows...) |
| waf | Versucht zu erraten, ob das Ziel eine Web Application Firewall verwendet (barracuda, bigip, paloalto...) |
| ATTACK | MODULBESCHREIBUNG |
|---|---|
| bruteforce | Versucht, den Speicherort mehrerer Dateien per Brute-Force zu ermitteln (Backup-Dateien, Admin-Konsolen...) |
| injection | Versucht Injection in verschiedenen Sprachen durchzuführen (SQL, html, ldap, javascript...) |
| vulns | Versucht, auf einige bekannte Schwachstellen zu testen (crime, shellshock) |
| other | Versucht, verschiedene interessante Ressourcen zu prüfen (DAV, htmlobjects, phpinfo, robots.txt...) |
Beispiele
Einfacher Durchlauf
sitadel http://website.com
Ausführen mit Risikoniveau DANGEROUS und ohne Weiterverfolgung von Umleitungen
sitadel http://website.com -r 2 --no-redirect
Nur bestimmte Module ausführen und vollständige Ausführlichkeit
sitadel http://website.com -a bruteforce -f header server -v
Ausführen mit Docker
docker build -t sitadel .