Home

Awesome

Sitadel - Web Application Security Scanner

   _   _   _         _____ _                 _       _
  | |_| |_| |      / _____|_)  _            | |     | |
  |         |     ( (____  _ _| |_ _____  __| |_____| |
  |    _    |      \____ \| (_   _|____ |/ _  | ___ | |
  |   |_|   |      _____) ) | | |_/ ___ ( (_| | ____| |
  |         |     (______/|_|  \__)_____|\____|_____)\_) 

python3 Build Status license

Sitadel is basically an update for WAScan making it compatible for python >= 3.4 It allows more flexibility for you to write new modules and implement new features :

Table of Contents

Requirement Warning

This project ONLY supports python >= 3.4. There will be no backport to 2.7

Installation

git clone https://github.com/shenril/Sitadel.git
cd Sitadel
pip3 install .
python sitadel.py --help

Features

Usage

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
ARGUMENTDESCRIPTION
-h, --helpDisplay help
-r, --risk {0,1,2}Decide the risk level you want Sitadel to run (some attacks won't be executed)
-ua, --user-agentUser agent used for the HTTP request of the attacks
--redirectIndicates to Sitadel to follow the 302 request for page redirection
--no-redirectIndicates to Sitadel NOT to follow the 302 request for page redirection
-t, --timeoutSpecify the timeout for the HTTP requests to the website
-c, --cookieAllows to specify the cookie to send with the attack requests
-p, --proxyAllows to specify a proxy to perform the HTTP requests
-f, --fingerprintSpecify the fingerprint modules to activate to scan the website {cdn,cms,framework,frontend,header,lang,server,system,waf}
-a, --attackSpecify the attack modules to activate to scan the website {bruteforce, injection, vulns, other}
-c, --configSpecify the config file for Sitadel scan, default one is in config/config.yml
-v, --verbosityIncrease the default verbosity of the logs, for instance: -v , -vv, -vvv
--versionShow Sitadel version

Modules list

FINGERPRINTMODULE DESCRIPTION
cdnTry to guess if the target uses Content Delivery Network (fastly, akamai,cloudflare...)
cmsTry to guess if the target uses a Content Management System (drupal,wordpress,magento...)
frameworkTry to guess if the target uses a backend framework (cakephp, rails, symfony...)
frontendTry to guess if the target uses a frontend framework (angularjs, jquery, vuejs...)
headerInspect the headers exchanged with the target
langTry to guess the server language used by the target (asp, python, php...)
serverTry to guess the server technology used by the target (nginx,apache...)
systemTry to guess the Operation System used by the target (linux,windows...)
wafTry to guess if the target uses a Web Application Firewall (barracuda, bigip,paloalto...)
ATTACKMODULE DESCRIPTION
bruteforceTry to bruteforce the location of multiple files (backup files, admin consoles...)
injectionTry to perform injection on various language (SQL,html,ldap, javascript...)
vulnsTry to test for some known vulnerabilities (crime,shellshock)
otherTry to probe for various interesting resources (DAV, htmlobjects,phpinfo,robots.txt...)

Examples

Simple run

python3 sitadel http://website.com

Run with risk level at DANGEROUS and do not follow redirections

python3 sitadel http://website.com -r 2 --no-redirect

Run specifics modules only and full verbosity

python3 sitadel http://website.com -a bruteforce -f header server -v

Run with docker

docker build -t sitadel .

docker run sitadel http://example.com