
Scanner de Segurança de Aplicações Web
_ _ _ _____ _ _ _
| |_| |_| | / _____|_) _ | | | |
| | ( (____ _ _| |_ _____ __| |_____| |
| _ | \____ \| (_ _|____ |/ _ | ___ | |
| |_| | _____) ) | | |_/ ___ ( (_| | ____| |
| | (______/|_| \__)_____|\____|_____)\_)
O Sitadel é basicamente uma atualização do WAScan, tornando-o compatível com Python >= 3.4. Ele permite mais flexibilidade para escrever novos módulos e implementar novos recursos:
Este projeto SOMENTE suporta Python >= 3.4. Não haverá backport para 2.7.
git clone https://github.com/shenril/Sitadel.git
cd Sitadel
pip3 install .
python sitadel.py --help
Impressões Digitais
Ataques:
Força Bruta
Injeção
Outros
Vulnerabilidades
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
| ARGUMENTO | DESCRIÇÃO |
|---|---|
| -h, --help | Exibe ajuda |
| -r, --risk {0,1,2} | Define o nível de risco para o Sitadel executar (alguns ataques não serão executados) |
| -ua, --user-agent | User agent usado nas requisições HTTP dos ataques |
| --redirect | Indica ao Sitadel para seguir as requisições 302 de redirecionamento de página |
| --no-redirect | Indica ao Sitadel para NÃO seguir as requisições 302 de redirecionamento de página |
| -t, --timeout | Especifica o timeout para as requisições HTTP ao site |
| -c, --cookie | Permite especificar o cookie a ser enviado nas requisições de ataque |
| -p, --proxy | Permite especificar um proxy para realizar as requisições HTTP |
| -f, --fingerprint | Especifica os módulos de impressão digital a ativar para escanear o site {cdn,cms,framework,frontend,header,lang,server,system,waf} |
| -a, --attack | Especifica os módulos de ataque a ativar para escanear o site {bruteforce, injection, vulns, other} |
| -c, --config | Especifica o arquivo de configuração para o scan do Sitadel (o padrão está em config/config.yml) |
| -v, --verbosity | Aumenta a verbosidade padrão dos logs (ex.: -v, -vv, -vvv) |
| --version | Mostra a versão do Sitadel |
| IMPRESSÃO DIGITAL | DESCRIÇÃO DO MÓDULO |
|---|---|
| cdn | Tenta adivinhar se o alvo usa Content Delivery Network (fastly, akamai, cloudflare...) |
| cms | Tenta adivinhar se o alvo usa um Sistema de Gerenciamento de Conteúdo (drupal, wordpress, magento...) |
| framework | Tenta adivinhar se o alvo usa um framework backend (cakephp, rails, symfony...) |
| frontend | Tenta adivinhar se o alvo usa um framework frontend (angularjs, jquery, vuejs...) |
| header | Inspeciona os cabeçalhos trocados com o alvo |
| lang | Tenta adivinhar a linguagem do servidor usada pelo alvo (asp, python, php...) |
| server | Tenta adivinhar a tecnologia do servidor usada pelo alvo (nginx, apache...) |
| system | Tenta adivinhar o Sistema Operacional usado pelo alvo (linux, windows...) |
| waf | Tenta adivinhar se o alvo usa um Firewall de Aplicação Web (barracuda, bigip, paloalto...) |
| ATAQUE | DESCRIÇÃO DO MÓDULO |
|---|---|
| bruteforce | Tenta fazer força bruta na localização de vários arquivos (arquivos de backup, consoles de admin...) |
| injection | Tenta realizar injeção em várias linguagens (SQL, html, ldap, javascript...) |
| vulns | Tenta testar algumas vulnerabilidades conhecidas (crime, shellshock) |
| other | Tenta sondar vários recursos interessantes (DAV, htmlobjects, phpinfo, robots.txt...) |
Execução simples
python3 sitadel http://website.com
Execução com nível de risco PERIGOSO e sem seguir redirecionamentos
python3 sitadel http://website.com -r 2 --no-redirect
Executar apenas módulos específicos com verbosidade total
python3 sitadel http://website.com -a bruteforce -f header server -v
docker build -t sitadel .
docker run sitadel http://example.com