
Sitadel v1.5.1
Webanwendungs-Sicherheitsscanner
Sitadel - Webanwendungs-Sicherheitsscanner
_ _ _ _____ _ _ _
| |_| |_| | / _____|_) _ | | | |
| | ( (____ _ _| |_ _____ __| |_____| |
| _ | \____ \| (_ _|____ |/ _ | ___ | |
| |_| | _____) ) | | |_/ ___ ( (_| | ____| |
| | (______/|_| \__)_____|\____|_____)\_)
Sitadel ist im Wesentlichen ein Update für WAScan, das es mit python >= 3.11 kompatibel macht. Es ermöglicht Ihnen mehr Flexibilität beim Schreiben neuer Module und beim Implementieren neuer Funktionen :
- Erkennung von Frontend-Frameworks
- Erkennung von Content Delivery Networks
- Risikostufe definieren, um Scans zu ermöglichen
- Plugin-System
- Docker-Image verfügbar zum Erstellen und Ausführen
Inhaltsverzeichnis
Hinweis zu Anforderungen
Dieses Projekt unterstützt python >= 3.11 (ältere, End-of-Life-Versionen werden nicht mehr unterstützt). Es gibt keinen Backport auf 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
Funktionen
-
Fingerprints
- 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
- Content Delivery Networks (CDN)
-
Angriffe:
-
Bruteforce
- Admin-Interface
- 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
-
Sonstiges
- HTTP-Allow-Methoden
- HTML-Objekt
- Mehrfacher Index
- Robots-Pfade
- Web Dav
- Cross-Site-Tracing (XST)
- PHPINFO
- .Listing
-
Schwachstellen
- ShellShock
- Anonymer 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} | Legen Sie die Risikostufe fest, mit der Sitadel ausgeführt werden soll (einige Angriffe werden nicht ausgeführt) |
| -ua, --user-agent | User-Agent, der für die HTTP-Anfrage der Angriffe verwendet wird |
| --random-agent | Bei jeder Scan-Anfrage einen zufälligen User-Agent verwenden |
| --redirect | Weist Sitadel an, der 302-Anfrage für die Seitenumleitung zu folgen |
| --no-redirect | Weist Sitadel an, der 302-Anfrage für die Seitenumleitung NICHT zu folgen |
| -t, --timeout | Geben Sie das Timeout für die HTTP-Anfragen an die Website an |
| -c, --cookie | Ermöglicht die Angabe des Cookies, das mit den Angriffsanfragen gesendet werden soll |
| -p, --proxy | Ermöglicht die Angabe eines Proxys für die HTTP-Anfragen |
| -f, --fingerprint | Legen Sie die Fingerprint-Module fest, die für den Scan der Website aktiviert werden sollen {cdn,cms,framework,frontend,header,lang,server,system,waf} |
| -a, --attack | Legen Sie die Angriffsmodule fest, die für den Scan der Website aktiviert werden sollen {bruteforce, injection, vulns, other} |
| -c, --config | Legen Sie die Konfigurationsdatei für den Sitadel-Scan fest; die Standarddatei befindet sich in config/config.yml |
| -v, --verbosity | Erhöhen Sie die Standard-Ausführlichkeit der Protokolle, z. B.: -v, -vv, -vvv |
| --version | Sitadel-Version anzeigen |
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 zu erraten, welche Serversprache das Ziel verwendet (asp, python, php...) |
| server | Versucht zu erraten, welche Servertechnologie das Ziel verwendet (nginx, apache...) |
| system | Versucht zu erraten, welches Betriebssystem das Ziel verwendet (linux, windows...) |
| waf | Versucht zu erraten, ob das Ziel eine Web Application Firewall verwendet (barracuda, bigip, paloalto...) |
| ANGRIFF | 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 untersuchen (DAV, htmlobjects, phpinfo, robots.txt...) |
Beispiele
Einfacher Aufruf
sitadel http://website.com
Ausführen mit Risikostufe GEFÄHRLICH und ohne Verfolgen von Weiterleitungen
sitadel http://website.com -r 2 --no-redirect
Nur bestimmte Module ausführen und volle Ausführlichkeit
sitadel http://website.com -a bruteforce -f header server -v
Mit Docker ausführen
docker build -t sitadel .
docker run sitadel http://example.com