
Sitadel v1.5.1
Сканер безопасности веб-приложений
Sitadel - сканер безопасности веб-приложений
_ _ _ _____ _ _ _
| |_| |_| | / _____|_) _ | | | |
| | ( (____ _ _| |_ _____ __| |_____| |
| _ | \____ \| (_ _|____ |/ _ | ___ | |
| |_| | _____) ) | | |_/ ___ ( (_| | ____| |
| | (______/|_| \__)_____|\____|_____)\_)
Sitadel — это, по сути, обновление WAScan, делающее его совместимым с python >= 3.11. Оно предоставляет больше гибкости для написания новых модулей и реализации новых функций:
- Обнаружение фронтенд-фреймворков
- Обнаружение сети доставки контента (CDN)
- Определение уровня риска для выполнения сканирования
- Система плагинов
- Готовый Docker-образ для сборки и запуска
Table of Contents
Предупреждение о требованиях
Этот проект поддерживает python >= 3.11 (более старые версии, достигшие конца жизненного цикла, больше не поддерживаются). Бэкпорта на 2.7 не будет.
Установка
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
Возможности
-
Отпечатки (Fingerprints)
- Сервер
- Веб-фреймворки (CakePHP, CherryPy, ...)
- Фронтенд-фреймворки (AngularJS, MeteorJS, VueJS, ...)
- Межсетевые экраны для веб-приложений (WAF)
- Системы управления контентом (CMS)
- Операционные системы (Linux, Unix, ...)
- Языки (PHP, Ruby, ...)
- Безопасность cookie
- Сети доставки контента (CDN)
-
Атаки:
-
Брутфорс
- Административный интерфейс
- Распространённые бэкдоры
- Распространённые каталоги резервных копий
- Распространённые файлы резервных копий
- Распространённые каталоги
- Распространённые файлы
- Файлы журналов
-
Инъекции
- HTML-инъекции
- SQL-инъекции
- LDAP-инъекции
- XPath-инъекции
- Межсайтовый скриптинг (XSS)
- Удалённое включение файлов (RFI)
- Внедрение PHP-кода
-
Прочее
- Разрешённые HTTP-методы
- HTML-объекты
- Множественные index-файлы
- Пути robots.txt
- WebDAV
- Межсайтовый трассинг (XST)
- PHPINFO
- .Listing
-
Уязвимости
- ShellShock
- Анонимный шифр (CVE-2007-1858)
- CRIME (SPDY) (CVE-2012-4929)
- Struts-Shock
-
Использование
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 | Показать справку |
| -r, --risk {0,1,2} | Определяет уровень риска для запуска Sitadel (некоторые атаки не будут выполнены) |
| -ua, --user-agent | Задает User-Agent, используемый для HTTP-запросов атак |
| --random-agent | Использовать случайный User-Agent для каждого запроса сканирования |
| --redirect | Указывает Sitadel следовать за 302-перенаправлением страницы |
| --no-redirect | Указывает Sitadel НЕ следовать за 302-перенаправлением страницы |
| -t, --timeout | Задает тайм-аут для HTTP-запросов к веб-сайту |
| -c, --cookie | Позволяет указать cookie для отправки с запросами атак |
| -p, --proxy | Позволяет указать прокси для выполнения HTTP-запросов |
| -f, --fingerprint | Указывает модули отпечатков для активации при сканировании веб-сайта {cdn,cms,framework,frontend,header,lang,server,system,waf} |
| -a, --attack | Указывает модули атак для активации при сканировании веб-сайта {bruteforce, injection, vulns, other} |
| -c, --config | Указывает файл конфигурации для сканирования Sitadel; по умолчанию находится в config/config.yml |
| -v, --verbosity | Повышает уровень детализации журналов по умолчанию, например: -v, -vv, -vvv |
| --version | Показывает версию Sitadel |
Список модулей
| FINGERPRINT | MODULE DESCRIPTION |
|---|---|
| cdn | Пытается определить, использует ли цель сеть доставки контента (fastly, akamai, cloudflare...) |
| cms | Пытается определить, использует ли цель систему управления контентом (drupal, wordpress, magento...) |
| framework | Пытается определить, использует ли цель бэкенд-фреймворк (cakephp, rails, symfony...) |
| frontend | Пытается определить, использует ли цель фронтенд-фреймворк (angularjs, jquery, vuejs...) |
| header | Проверяет заголовки, которыми обменивается цель |
| lang | Пытается определить язык сервера, используемый целью (asp, python, php...) |
| server | Пытается определить технологию сервера, используемую целью (nginx, apache...) |
| system | Пытается определить операционную систему, используемую целью (linux, windows...) |
| waf | Пытается определить, использует ли цель межсетевой экран веб-приложения (barracuda, bigip, paloalto...) |
| ATTACK | MODULE DESCRIPTION |
|---|---|
| bruteforce | Пытается подобрать расположение различных файлов (файлы резервных копий, консоли администратора...) |
| injection | Пытается выполнить инъекции на различных языках (SQL, html, ldap, javascript...) |
| vulns | Пытается протестировать известные уязвимости (crime, shellshock) |
| other | Пытается обнаружить различные интересные ресурсы (DAV, htmlobjects, phpinfo, robots.txt...) |
Примеры
Простой запуск
sitadel http://website.com
Запуск с уровнем риска DANGEROUS и без перехода по перенаправлениям
sitadel http://website.com -r 2 --no-redirect
Запуск только указанных модулей и максимальная детализация
sitadel http://website.com -a bruteforce -f header server -v
Запуск с помощью Docker
docker build -t sitadel .
docker run sitadel http://example.com