[Информационная безопасность, Тестирование веб-сервисов] TWAPT — пентестим по-белому в домашних условиях
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Чтобы поймать преступника, ты должен думать, как преступник, ты должен чувствовать, как преступник, ты должен сам стать преступником!
Подобную фразу можно встретить во многих детективных фильмах или триллерах, где защитники правопорядка пытаются поймать неуловимого злодея. В эпоху Интернета теми самыми неуловимыми злодеями можно назвать киберпреступников (хакеров), которым для совершения преступлений не требуется показывать своего лица, и даже не обязательно находиться в одной стране с жертвой атаки, а все их действия могут остаться анонимными. Чтобы понять как действует злоумышленником, нужно самому стать им. Однако, у Уголовного Кодекса РФ на это другие взгляды. В частности, 28 глава УК РФ регулирует преступления в сфере компьютерной информации. Как быть в этом случае специалисту по информационной безопасности, если нарушать законодательство - плохая идея, а понять как мыслит злоумышленник все же необходимо? На помощь приходят бесплатные площадки тестирования на проникновение, где любой желающий может попробовать свои силы в пентесте, прокачать собственные навыки и использовать полученные знания для повышения уровня защищенности своей компании. Есть 2 типа площадок:
- онлайн;
- оффлайн.
К онлайн относят довольно популярные ресурсы: Test lab от Pentestit, hackthebox, pentesterlab, Root me и многие другие. Все эти площадки довольно популярные и останавливаться на них мы не будем. Сегодня мы поговорим про оффлайн площадку TWAPT.
Статья носит информационный характер. Не нарушайте законодательство.
TWAPTДомашняя страницаСам по себе проект задумывался как сборник нескольких оффлайн платформ для тестирования на проникновение.Весь набор представлен в виде Docker-контейнеров, которые можно просто скачать и запустить за "пару кликов". Но перед этим необходимо установить (на примере Debian 10):Docker
# apt update
# apt install apt-transport-https ca-certificates curl gnupg lsb-release
# curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
# echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
# apt update
# apt install docker-ce docker-ce-cli containerd.io
Docker-composer
# apt update
# curl -L "https://github.com/docker/compose/releases/download/1.29.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# chmod +x /usr/local/bin/docker-compose
# docker-compose --version
Скачивание и запуск контейнеров происходит командами:
# git clone https://github.com/MoisesTapia/TWAPT
# cd TWAPT
# docker-compose up -d
Чтобы узнать какой порт заняло то или иное веб-приложение нужно выполнить команду:
# docker-compose ps
Вероятно, предполагалось, что от пользователя кроме запуска контейнера больше нчиего не потребуется, но в реальности некоторые контейнеры после запуска требуют дополнительных манипуляций. Например, после запуска контейнера с bWAPP требуется перейти по адресу localhost:8082/install.php и произвести установку БД для корректной работы, после этого можно продолжать пользоваться. А в случае с VulnWordpress нужно скрипт start.sh запустить самостоятельно внутри контейнера. Для этого необходимо:
- Узнать ID контейнера:
# docker ps -a
- Запустить оболочку контейнера:
# docker exec -ti /ID контейнера/ bash -c "/bin/bash"
- Самостоятельно выполнить script.sh.
После этого можно произвести установку WordPress.Состав набораMutillidaeMutillidae - язвимое веб-приложение, поддерживаемое организацией OWASP, которое включает в себя порядка 40 различных веб-уязвимостей, которые актуальны для OWASP Top Ten 2007, 2010, 2013 и 2017. На сайте присутствуют подсказки для прохождения заданий, а если приложение стало некорректно работать, то можно кнопкой "Reset DB" сбросить настройки БД и восстановить работоспособность веб-приложения. Такая же функция есть почти у всех ресурсов, которые представлены ниже.
bWAPPbWAPP (buggy web application) - это бесплатное, намеренно небезопасное веб-приложение с открытым исходным кодом. Тоже охватывает все уязвимости, присутствующие в OWASP Top Ten.
Для каждой задачи можно установить уровни сложности, которые можно повышать. Например, выберем задачу с перебором пароля:
- уровень Low;На первом уровне для перебора требуется только ввести логин и пароль.
- уровень Medium;Уже сложнее, для каждого запроса используется собственный salt, который обновляется.
- уровень High.Самый сложный вариант, когда для входа необходимо пройти капчу.
WebGoatWebGoat - это заведомо небезопасное приложение, которое позволяет тестировать уязвимости, обычно обнаруживаемые в приложениях, написанные на Java и использующих популярные компоненты с открытым исходным кодом.
DVWAPDVWAP - уязвимое веб-приложение, написанное на PHP и использующее MySQL в качестве базы данных. Среди уязвимостей, которые представлены в веб-приложении, собраны множество типов инъекций, XSS, LFI/RFI, уязвимости капчи и т.д. Также присутствует 3 уровня сложности, но в отличие от того же bWAPP есть четвертый уровень - impossible, где невозможно проэксплуатировать уязвимость и разработчики дают краткое пояснение почему. После первого запуска контейнера необходимо нажать кнопку "Setup/Reset DB" для установки базы данных.
BricksBricks - еще одно веб-приложение, написанное на PHP. Из набора уязвимостей, которые используются в составе платформы: различные уязвимости страницы аутентификации, формы загрузки файлов, а также SQL-инъекции. Из плюсов можно назвать подсказку по команде, которую для наглядности формирует и отправляет веб-приложение к базе данных. Поэтому можно смотреть какой запрос был отправлен, корректен ли он и как его можно изменить. В целом, набор заложенных уязвимостей немного уступает тем же bWAPP или DVWAP.
Juice-ShopJuice-Shop - уязвимое веб-приложение, написанное на Node.js, Express и Angular и представляет из себя типичный пример интернет-магазина с 1-2 присущими ему уязвимостями, перечисленными в OWASP Top Ten, такими как Injection, XSS, Broken Authentication, Broken Access Control, Sensitive Data Exposure и т.д.
NinjaWebNinjaWeb, как и на всех предыдущих платформах, использует уязвимости, находщиеся в OWASP Top Ten. Приятным бонусом для данной платформы также стало наличие подсказок и полноценное прохождение задания в случае затруднений, не требующее от пользователя искать прохождение на сторонних ресурсах.
VulnWordPressVulnWordPress - чистый CMS WordPress, где можно установить уязвимый компонент и проверить наличие уязвимости.Тестирование WAFЗаведомо уязвимые веб-приложения хороши еще и тем, что на их примере можно оценить работу средств защиты, например, WAF. Достаточно на локальном сервере развернуть платформу, а в случае с Docker-контейнером это сделать достаточно просто, и настроить работу WAF на уязвимое веб-приложение. Теперь мы не просто изучаем как эксплуатируются веб-уязвимости, но и пробуем обойти средства защиты, чтобы еще больше приблизиться к реальным условиям, с которыми сталкивается злоумышленник при атаках.Попробуем протестировать веб-приложение DVWAP, защитив его с помощью Nemesida WAF Free (бесплатная версия), который обеспечивает защиту на основе сигнатурного анализа. Для сегодняшнего тестирования этого будет достаточно. Но у сигнатурного анализа, несмотря на все его преимущества, есть недостатки, например, база сигнатур находится в открытом доступе и злоумышленник, используя ее, может составить запрос, который позволит обойти защиту. Тем не менее, если база сигнатур составлена качественно, то и уровень защиты веб-приложения будет высоким.Итак, протестируем один из самых популярных классов уязвимостей согласно OWASP Top Ten - инъекции.Command injectionПробуем подставить команду в поле для проверки доступности сервера:
127.0.0.1; ls /
От данной атаки Nemesida WAF Free не смог защитить. Тогда попробуем прочитать файл /etc/passwd.
2021/04/13 10:57:23 [error] 6261#6261: *11 Nemesida WAF: the request 8c137c6199bfdb63851c0c7b15468897 blocked by rule ID 1559 in zone BODY, client: 192.168.0.135, server: dvwa.site.lan, request: "POST /vulnerabilities/exec/ HTTP/1.1", host: "dvwa.site.lan", referrer: "http://dvwa.site.lan/vulnerabilities/exec/"
В error.log видим блокировку по правилу 1559. Обращаемся к базе сигнатур и смотрим сигнатуру, по которой был заблокирован запрос:
В первом случае запрос не был заблокирован, но это сделано для того, чтобы веб-приложение могло нормально функционировать т.к. в противном случае любой URL будет блокироваться из-за знака "/". Во втором случае на основе сигнатур запрос был заблокирован.Попробуем обойти блокировку, для этого воспользуемся инструментом Commix.
# python commix.py -u http://dvwa.site.lan/vulnerabilities/exec/ -d "ip=127.0.0.1&Submit=Submit" -p "ip"
В результате все атаки были заблокированы.SQLiТеперь тестируем более известный вид инъекций, защитив уязвимое веб-приложение Nemesida WAF Free.
# sqlmap -u 'http://dvwa.site.lan/vulnerabilities/sqli/?id=1*&Submit=Submit' --dbs --random-agent
Все попытки эксплуатации уязвимости заблокированы:
Попробуем добавить скрипты для обфускации пейлоадов, доступные в SQLmap. Но это не принесло результатов:
XSSПоследними в списке будут не менее популярные XSS. Для тестирования воспользуемся инструментом XSStrike:
# python3 xsstrike.py -u 'http://dvwa.site.lan/vulnerabilities/xss_r/?name='
В стандартной конфигурации Nemesida WAF Free заблокировал все атаки:
ВыводTWAPT однозначно отличная площадка для проверки и оттачивания навыков в области практической информационной безопасности, которая позволяет специалисту тренироваться и развиваться не нарушая законодательство. К тому же, метод защиты заведомо уязвимых стендов для проверки работы WAF, пожалуй, один из лучших способов его тестирования и при грамотном составлении базы сигнатур вероятность эксплуатации уязвимостей заметно сокращается. Методы атак веб-приложений и обхода средств защиты с каждым днем развиваются. Так или иначе, когда-нибудь сигнатурный анализ уже будет не так эффективен как сейчас. Однако, в Nemesida WAF используется модуль машинного обучения Nemesida AI, который за счет использования поведенческих моделей, построенных на основе запросов к конкретному веб-приложению, позволяет значительно повысить точность выявления атак с минимальным количеством ложных срабатываний. Также реализован механизм выявления ботов, смс-флуда, защиты от атак методом пебора паролей
===========
Источник:
habr.com
===========
Похожие новости:
- [Тестирование веб-сервисов] Как не надо заводить баги. Часто встречающиеся ошибки
- [Информационная безопасность] Federated Learning of Cohorts – «убийца» cookie или всего лишь еще один способ трекинга пользователей
- [Информационная безопасность, Обработка изображений, Машинное обучение, Искусственный интеллект] Житель Детройта судится с полицией из-за ареста на основании данных системы распознавания лиц
- [Информационная безопасность, JavaScript, Google Chrome, Браузеры, Microsoft Edge] Уязвимость нулевого дня Google Chrome и Microsoft Edge опубликовали в Twitter
- [Информационная безопасность] Обновления безопасности Microsoft за апрель 2021
- [Спам и антиспам, Информационная безопасность, Чулан, Управление персоналом] Вы — часть руководства? Отключите прием вызовов в телеграм! Баг-хантер? Уважайте других людей
- [Информационная безопасность, Исследования и прогнозы в IT] Как параллельные вычисления повлияют на индустрию безопасности? (перевод)
- [Информационная безопасность, Системное администрирование, Сетевые технологии] Как снизить стоимость владения SIEM-системой и повысить качество данных с Quest syslog-ng — анонс вебинара
- [Информационная безопасность, Обработка изображений, Транспорт] Реформу процедуры ТО поставили под сомнение кибермошенники — фото машин без защиты, их легко подделать
- [Информационная безопасность] Как работает команда DevOps в Positive Technologies
Теги для поиска: #_informatsionnaja_bezopasnost (Информационная безопасность), #_testirovanie_vebservisov (Тестирование веб-сервисов), #_bwapp, #_mutillidae, #_wordpress, #_juise_shop, #_owasp, #_nemesida_waf, #_blog_kompanii_pentestit (
Блог компании Pentestit
), #_informatsionnaja_bezopasnost (
Информационная безопасность
), #_testirovanie_vebservisov (
Тестирование веб-сервисов
)
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 24-Ноя 11:46
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Чтобы поймать преступника, ты должен думать, как преступник, ты должен чувствовать, как преступник, ты должен сам стать преступником!
Статья носит информационный характер. Не нарушайте законодательство.
# apt update
# apt install apt-transport-https ca-certificates curl gnupg lsb-release # curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg # echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null # apt update # apt install docker-ce docker-ce-cli containerd.io # apt update
# curl -L "https://github.com/docker/compose/releases/download/1.29.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose # chmod +x /usr/local/bin/docker-compose # docker-compose --version # git clone https://github.com/MoisesTapia/TWAPT
# cd TWAPT # docker-compose up -d # docker-compose ps
Вероятно, предполагалось, что от пользователя кроме запуска контейнера больше нчиего не потребуется, но в реальности некоторые контейнеры после запуска требуют дополнительных манипуляций. Например, после запуска контейнера с bWAPP требуется перейти по адресу localhost:8082/install.php и произвести установку БД для корректной работы, после этого можно продолжать пользоваться. А в случае с VulnWordpress нужно скрипт start.sh запустить самостоятельно внутри контейнера. Для этого необходимо:
# docker ps -a
# docker exec -ti /ID контейнера/ bash -c "/bin/bash"
После этого можно произвести установку WordPress.Состав набораMutillidaeMutillidae - язвимое веб-приложение, поддерживаемое организацией OWASP, которое включает в себя порядка 40 различных веб-уязвимостей, которые актуальны для OWASP Top Ten 2007, 2010, 2013 и 2017. На сайте присутствуют подсказки для прохождения заданий, а если приложение стало некорректно работать, то можно кнопкой "Reset DB" сбросить настройки БД и восстановить работоспособность веб-приложения. Такая же функция есть почти у всех ресурсов, которые представлены ниже. bWAPPbWAPP (buggy web application) - это бесплатное, намеренно небезопасное веб-приложение с открытым исходным кодом. Тоже охватывает все уязвимости, присутствующие в OWASP Top Ten. Для каждой задачи можно установить уровни сложности, которые можно повышать. Например, выберем задачу с перебором пароля:
DVWAPDVWAP - уязвимое веб-приложение, написанное на PHP и использующее MySQL в качестве базы данных. Среди уязвимостей, которые представлены в веб-приложении, собраны множество типов инъекций, XSS, LFI/RFI, уязвимости капчи и т.д. Также присутствует 3 уровня сложности, но в отличие от того же bWAPP есть четвертый уровень - impossible, где невозможно проэксплуатировать уязвимость и разработчики дают краткое пояснение почему. После первого запуска контейнера необходимо нажать кнопку "Setup/Reset DB" для установки базы данных. BricksBricks - еще одно веб-приложение, написанное на PHP. Из набора уязвимостей, которые используются в составе платформы: различные уязвимости страницы аутентификации, формы загрузки файлов, а также SQL-инъекции. Из плюсов можно назвать подсказку по команде, которую для наглядности формирует и отправляет веб-приложение к базе данных. Поэтому можно смотреть какой запрос был отправлен, корректен ли он и как его можно изменить. В целом, набор заложенных уязвимостей немного уступает тем же bWAPP или DVWAP. Juice-ShopJuice-Shop - уязвимое веб-приложение, написанное на Node.js, Express и Angular и представляет из себя типичный пример интернет-магазина с 1-2 присущими ему уязвимостями, перечисленными в OWASP Top Ten, такими как Injection, XSS, Broken Authentication, Broken Access Control, Sensitive Data Exposure и т.д. NinjaWebNinjaWeb, как и на всех предыдущих платформах, использует уязвимости, находщиеся в OWASP Top Ten. Приятным бонусом для данной платформы также стало наличие подсказок и полноценное прохождение задания в случае затруднений, не требующее от пользователя искать прохождение на сторонних ресурсах. VulnWordPressVulnWordPress - чистый CMS WordPress, где можно установить уязвимый компонент и проверить наличие уязвимости.Тестирование WAFЗаведомо уязвимые веб-приложения хороши еще и тем, что на их примере можно оценить работу средств защиты, например, WAF. Достаточно на локальном сервере развернуть платформу, а в случае с Docker-контейнером это сделать достаточно просто, и настроить работу WAF на уязвимое веб-приложение. Теперь мы не просто изучаем как эксплуатируются веб-уязвимости, но и пробуем обойти средства защиты, чтобы еще больше приблизиться к реальным условиям, с которыми сталкивается злоумышленник при атаках.Попробуем протестировать веб-приложение DVWAP, защитив его с помощью Nemesida WAF Free (бесплатная версия), который обеспечивает защиту на основе сигнатурного анализа. Для сегодняшнего тестирования этого будет достаточно. Но у сигнатурного анализа, несмотря на все его преимущества, есть недостатки, например, база сигнатур находится в открытом доступе и злоумышленник, используя ее, может составить запрос, который позволит обойти защиту. Тем не менее, если база сигнатур составлена качественно, то и уровень защиты веб-приложения будет высоким.Итак, протестируем один из самых популярных классов уязвимостей согласно OWASP Top Ten - инъекции.Command injectionПробуем подставить команду в поле для проверки доступности сервера: 127.0.0.1; ls /
От данной атаки Nemesida WAF Free не смог защитить. Тогда попробуем прочитать файл /etc/passwd. 2021/04/13 10:57:23 [error] 6261#6261: *11 Nemesida WAF: the request 8c137c6199bfdb63851c0c7b15468897 blocked by rule ID 1559 in zone BODY, client: 192.168.0.135, server: dvwa.site.lan, request: "POST /vulnerabilities/exec/ HTTP/1.1", host: "dvwa.site.lan", referrer: "http://dvwa.site.lan/vulnerabilities/exec/"
В первом случае запрос не был заблокирован, но это сделано для того, чтобы веб-приложение могло нормально функционировать т.к. в противном случае любой URL будет блокироваться из-за знака "/". Во втором случае на основе сигнатур запрос был заблокирован.Попробуем обойти блокировку, для этого воспользуемся инструментом Commix. # python commix.py -u http://dvwa.site.lan/vulnerabilities/exec/ -d "ip=127.0.0.1&Submit=Submit" -p "ip"
В результате все атаки были заблокированы.SQLiТеперь тестируем более известный вид инъекций, защитив уязвимое веб-приложение Nemesida WAF Free. # sqlmap -u 'http://dvwa.site.lan/vulnerabilities/sqli/?id=1*&Submit=Submit' --dbs --random-agent
Попробуем добавить скрипты для обфускации пейлоадов, доступные в SQLmap. Но это не принесло результатов: XSSПоследними в списке будут не менее популярные XSS. Для тестирования воспользуемся инструментом XSStrike: # python3 xsstrike.py -u 'http://dvwa.site.lan/vulnerabilities/xss_r/?name='
В стандартной конфигурации Nemesida WAF Free заблокировал все атаки: ВыводTWAPT однозначно отличная площадка для проверки и оттачивания навыков в области практической информационной безопасности, которая позволяет специалисту тренироваться и развиваться не нарушая законодательство. К тому же, метод защиты заведомо уязвимых стендов для проверки работы WAF, пожалуй, один из лучших способов его тестирования и при грамотном составлении базы сигнатур вероятность эксплуатации уязвимостей заметно сокращается. Методы атак веб-приложений и обхода средств защиты с каждым днем развиваются. Так или иначе, когда-нибудь сигнатурный анализ уже будет не так эффективен как сейчас. Однако, в Nemesida WAF используется модуль машинного обучения Nemesida AI, который за счет использования поведенческих моделей, построенных на основе запросов к конкретному веб-приложению, позволяет значительно повысить точность выявления атак с минимальным количеством ложных срабатываний. Также реализован механизм выявления ботов, смс-флуда, защиты от атак методом пебора паролей =========== Источник: habr.com =========== Похожие новости:
Блог компании Pentestit ), #_informatsionnaja_bezopasnost ( Информационная безопасность ), #_testirovanie_vebservisov ( Тестирование веб-сервисов ) |
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 24-Ноя 11:46
Часовой пояс: UTC + 5