Сканер и патчер 
Обзор:
Проект Scanner and Patcher создан в рамках фреймворка AlphaSecure, который был представлен и опубликован на ACM IC3 2024 под названием AlphaSecure: A State-of-the-Art Framework for Web Application Vulnerabilities Detection and Patch Recommendation Using Automated Techniques. Публикацию можно найти здесь AlphaSecure: A State-of-the-Art Framework for Web Application Vulnerabilities Detection and Patch Recommendation Using Automated Techniques.
Этот инструмент очень полезен для поиска уязвимостей в веб-приложениях.
- Сканер веб-приложений исследует веб-приложение, сканируя его веб-страницы, и проверяет его на наличие уязвимостей безопасности, что включает генерацию вредоносных входных данных и оценку ответов приложения.
- Эти сканеры представляют собой автоматизированные инструменты, которые сканируют веб-приложения на наличие уязвимостей безопасности. Они тестируют веб-приложения на распространённые проблемы безопасности, такие как межсайтовый скриптинг (XSS), SQL-инъекции и межсайтовую подделку запросов (CSRF).
- Этот сканер использует различные инструменты, такие как nmap, dnswalk, dnsrecon, dnsenum, dnsmap и т.д., для сканирования портов, сайтов, хостов и сети с целью обнаружения уязвимостей, таких как OpenSSL CCS Injection, Slowloris, Denial of Service и т.д.
Используемые инструменты
| № | Название инструмента | | № | Название инструмента |
|---|
| 1 | whatweb | | 2 | nmap |
| 3 | golismero | | 4 | host |
| 5 | wget | | 6 | uniscan |
| 7 | wafw00f | | 8 | dirb |
| 9 | davtest | | 10 | theharvester |
| 11 | xsser | | 12 | fierce |
| 13 | dnswalk | | 14 | dnsrecon |
| 15 | dnsenum | | 16 | dnsmap |
| 17 | dmitry | | 18 | nikto |
| 19 | whois | | 20 | lbd |
| 21 | wapiti | | 22 | devtest |
| 23 | sslyze | | | |
Работа
Фаза 1
- Пользователь должен ввести: "python3 web_scan.py (https или http) ://example.com"
- Сначала программа записывает начальное время выполнения, затем формирует URL с "www.example.com".
- После этого система проверяет подключение к интернету с помощью ping.
- Функции:-
-
- Для перехода в меню помощи введите команду: --help для обновления --update
-
- Если пользователь хочет пропустить текущее сканирование/тест: CTRL+C
-
- Для выхода из сканера используйте: CTRL+Z
-
- Программа покажет время сканирования, затраченное инструментом на конкретный тест.
Фаза 2
- Отсюда начинается основная функция сканера:
- Сканер автоматически выберет любой инструмент для начала сканирования.
- Используемые сканеры и ротация имен файлов (по умолчанию: включено (1)
- Команда, используемая для запуска инструмента (с параметрами и дополнительными параметрами), уже задана в коде
- После обнаружения уязвимости в веб-приложении сканер классифицирует уязвимость в определённом формате:-
-
- [Ответы + Серьёзность (c - критическая | h - высокая | m - средняя | l - низкая | i - информационная) + Ссылка на определение уязвимости и её устранение]
-
- Здесь c или критическая обозначает наибольшую уязвимость, тогда как l или низкая — наименее уязвимую систему
Определения:-
-
Критическая:- Уязвимости, получившие оценку в критическом диапазоне, обычно обладают большинством из следующих характеристик:
Эксплуатация уязвимости с высокой вероятностью приводит к компрометации на уровне root серверов или сетевых устройств. Эксплуатация обычно проста, в том смысле, что злоумышленнику не нужны специальные учётные данные или знания об отдельных жертвах, и ему не нужно убеждать целевого пользователя, например, с помощью методов социальной инженерии, выполнять какие-либо специальные действия.
-
Высокая:- Злоумышленник может полностью скомпрометировать конфиденциальность, целостность или доступность целевой системы без специального доступа, взаимодействия с пользователем или обстоятельств, находящихся вне контроля злоумышленника. Очень вероятно, что это позволит боковое перемещение и эскалацию атаки на другие системы во внутренней сети уязвимого приложения. Уязвимость сложна в эксплуатации. Эксплуатация может привести к повышению привилегий. Эксплуатация может привести к значительной потере данных или простою.
-
Средняя:- Злоумышленник может частично скомпрометировать конфиденциальность, целостность или доступность целевой системы. Для успешной атаки может потребоваться специальный доступ, взаимодействие с пользователем или обстоятельства, находящиеся вне контроля злоумышленника. Очень вероятно, что будет использоваться совместно с другими уязвимостями для эскалации атаки. Уязвимости, требующие от злоумышленника манипулирования отдельными жертвами с помощью тактик социальной инженерии. Уязвимости типа отказ в обслуживании, которые сложно настроить. Эксплойты, требующие нахождения злоумышленника в той же локальной сети, что и жертва. Уязвимости, при эксплуатации которых предоставляется лишь очень ограниченный доступ. Уязвимости, требующие привилегий пользователя для успешной эксплуатации.
-
Низкая:- Злоумышленник имеет ограниченные возможности для компрометации конфиденциальности, целостности или доступности целевой системы. Для успешной атаки требуется специальный доступ, взаимодействие с пользователем или обстоятельства, находящиеся вне контроля злоумышленника. Должна использоваться совместно с другими уязвимостями для эскалации атаки.
-
Информационная:- Злоумышленник может получить информацию о веб-сайте. Это не обязательно является уязвимостью, но любую информацию, которую получает злоумышленник, можно использовать для более точного планирования атаки в будущем. Рекомендуется максимально ограничить любое раскрытие информации.
-
| ДИАПАЗОН БАЛЛОВ CVSS V3 | СЕРЬЁЗНОСТЬ В РЕКОМЕНДАЦИИ |
|---|
| 0.1 - 3.9 | Низкая |
| 4.0 - 6.9 | Средняя |
| 7.0 - 8.9 | Высокая |
| 9.0 - 10.0 | Критическая |
Уязвимости
- После этого сканер покажет результаты, которые включают:
-
-
-
Устранение
- Теперь сканер расскажет о вредоносных эффектах данного конкретного типа уязвимости.
- Сканер сообщит источники для получения дополнительной информации об уязвимостях (веб-сайты).
- После этого шага сканер предложит некоторые способы устранения уязвимостей.
Фаза 3
- Сканер сформирует надлежащий отчёт, включающий
-
- Общее количество просканированных уязвимостей
-
- Общее количество пропущенных уязвимостей
-
- Общее количество обнаруженных уязвимостей
-
- Время, затраченное на полное сканирование
-
- Детали каждой уязвимости.
- Запись всех выходных файлов сканирования в SA-Debug-ScanLog для целей отладки в той же директории
- Для целей отладки вы можете просмотреть полный вывод, сгенерированный всеми инструментами, с именем SA-Debug-ScanLog.
Использование
Используйте программу как python3 web_scan.py (https или http) ://example.com
--help
--update