WebSecOps: изучаем веб-безопасность

.
.

Сегодня веб-приложение — не просто формальная необходимость, но и способ привлечь к себе внимание клиента. В погоне за ярким, запоминающимся стилем и удобным для пользователя функционалом разработчики часто не задумываются о безопасности.

Веб-приложения привлекают злоумышленников не меньше, чем заинтересованных клиентов. Сайты стали идеальной мишенью — доступны 24/7, уследить за действиями всех пользователей сложно, а сами веб-приложения могут содержать уязвимостей больше, чем весь остальной сетевой периметр компании. За примерами далеко ходить не нужно: пример раз, пример два.

Не спешите радоваться, если ваше веб-приложение еще не скомпрометировали. Возможно, злоумышленник уже готовится к приятной для него (и не очень — для вас) встрече. Вот только день X может принести компании «славу» в виде распространения конфиденциальных данных пользователей и утраченной репутации.

Почему так происходит?

  • ошибки, допущенные во время разработки или развертывания веб-приложения;

  • отказ от полноценного тестирования веб-приложения на наличие уязвимостей или недостаток опыта при его проведении;

  • пренебрежение средствами защиты и мониторинга для своевременного реагирования на инциденты ИБ.

И если компания придерживается позиции: «Да кому мы нужны?», то с большой долей вероятности ее инфраструктуру или уже скомпрометировали, или сделают это в скором времени.

Узнали себя? Это прекрасно. Первый шаг на пути решения проблемы — признать, что она существует. Ни к чему проходить все стадии принятия неизбежного и терять драгоценное время. Лучше сразу приступить к поиску выхода.

И у нас он есть — программа обучения WebSecOps, пополнившая линейку курсов этичного хакинга от Pentestit.

Что такое WebSecOps?

Специализация программы подготовки — разработка безопасных веб-приложений, самостоятельное обнаружение и эксплуатация уязвимостей, а главное — предотвращение и анализ инцидентов с помощью WAF.

Приятный бонус — обучение можно проходить дома, занятия проводятся дистанционно.

Теории много не бывает, но она составляет всего 20% обучения, остальные 80% — практика, практика и еще раз практика. Мы подготовились и разработали специальную лабораторию, имитирующую корпоративные веб-ресурсы. Будет сложно, но очень интересно.

Нужна дополнительная информация? Не знаете, как начать выполнение задания? Куратор ответит на все вопросы и подскажет, что нужно сделать. Готовый ответ он не предоставит, но поможет начать мыслить в правильном направлении, чтобы Вы самостоятельно пришли к решению. А задания, вызвавшие затруднения у большинства участников, куратор разберет на специальных онлайн-трансляциях.

На кого рассчитана программа подготовки?

WebSecOps подойдет для специалистов в области информационной безопасности, пентестеров, системных администраторов, DevOps-инженеров и всех, кто хочет попробовать себя в роли атакующего и научиться предотвращать появление уязвимостей. Программа подготовки также будет интересна компаниям, планирующим обучение штатного специалиста в области ИБ, для снижения вероятности возникновения подобных инцидентов.

Программа обучения WebSecOps разработана таким образом, чтобы любой желающий, даже с минимальным уровнем подготовки, смог за 14 дней интенсивного обучения освоить методику поиска и эксплуатации уязвимостей в ручном и автоматическом режиме с использованием различного инструментария, понять природу возникновения уязвимостей и применять накопленные знания в будущем.

Все счастливые обладатели Nemesida WAF научатся правильно его настраивать, реагировать во время атак на веб-приложение и грамотно проводить анализ инцидентов, чтобы избежать проблем в будущем.

Что будем изучать?

Начинать обучение всегда стоит с основ, поэтому на первых занятиях мы познакомимся с архитектурой веб-приложений и ее типичными уязвимостями. Разберемся с понятиями front-end и back-end, узнаем об их различиях. Это необходимо для понимания того, как вообще функционирует веб-приложение.

После этого перейдем к разбору распространенных уязвимостей веб-приложений, таких как SQLi/NoSQLi, XSS, XXE и т. д., разберемся с природой их возникновения, методами обнаружения, эксплуатации и защиты веб-приложения от них.

Изучим различный инструментарий для автоматизации анализа безопасности веб-приложений. В частности, рассмотрим:

  • Burp Suite и OWASP ZAP, предназначенные для анализа взаимодействия браузера пользователя с веб-приложением;

  • Различные сканеры уязвимостей веб-приложения и инструменты автоматизации, такие как Nikto, Wapiti, sqlmap, tplmap и т. д.

Отдельным блоком нашей программы обучения будет знакомство с WAF как со средством защиты веб-приложений. Здесь мы рассмотрим принцип его работы (как WAF защищает веб-приложения, от каких атак можно защититься, какие есть недостатки), проведем сравнение продуктов из бесплатного сегмента (Nemesida WAF Free, ModSecurity и Naxsi). А на примере полноценной версии Nemesida WAF выясним, почему машинное обучение — это круто, как его правильно настроить для защиты веб-приложения, а также как выявлять и анализировать инциденты, связанные с информационной безопасностью и атаками на веб-приложение.

С какими заданиями столкнемся в процессе обучения?

Специально разработанные задания позволят закрепить полученные знания на практике. Вот несколько примеров из того, что может встретиться в процессе обучения:

Начнем с простого

Дано веб-приложение с уязвимостью. Необходимо провести первичный сбор информации о веб-приложении. Проанализировав полученную информацию, обнаружить и проэксплуатировать уязвимость для компрометации сервера. Приступим:

Для начала проводим сбор информации о веб-приложении. Оно представляет собой веб-сайт, который не имеет признаков использования CMS. По крайней мере именно такое заключение можно сделать при просмотре исходного кода страницы.

В адресной строке видим GET-параметр page, который принимает в качестве значения php-страницу.

Предположив, что содержимое php-файлов включается в содержимое страницы, пробуем добавить несуществующую страницу и получаем пустой результат, означающий, что наши догадки оказались верны.

Вполне вероятно, что данный параметр уязвим для LFI, и если мы правы, то сможем просмотреть локальные файлы сервера. Чтобы это проверить, подставляем путь до файла /etc/passwd в параметр page и действительно получаем содержимое нужного файла.

Так как по условию задачи в качестве Proof of Concept нам необходимо получить некий токен, то в файловой системе необходимо найти и прочитать соответствующий файл. И тут несколько вариантов — угадать точное расположение и название файла или при помощи LFI проэксплуатировать другую уязвимость.

Очевидно, что, не зная структуру каталогов сервера, угадать что-либо будет проблематично, поэтому воспользуемся вторым вариантом.

Используя LFI, можно получить доступ к различным файлам на сервере, в том числе к журналам веб-сервера, например, access.log:

Для нас это означает, что, используя журнал веб-сервера, мы сможем внедрить вредоносный код, который поможет нам скомпрометировать сервер. Атаковать будем через заголовок User-Agent.

Теперь добавляем к запросу наш новый GET-параметр и проверяем результат:

После недолгих поисков находим искомый файл с токеном и читаем его содержимое:

И бонусная задача для отработки навыков работы с WAF: Для заведомо уязвимого веб-приложения, защищенного WAF, необходимо, изучив его поведение, составить запрос, который позволит обойти защиту и проэксплуатировать уязвимость.

После окончания обучения специалисты научатся самостоятельно находить и предотвращать актуальные уязвимости, оперативно и грамотно реагировать на обнаружение атаки, а также проводить анализ инцидентов.

Хотите защитить свой сайт или обучить сотрудников/разработчиков/специалистов ИБ (подчеркните нужное) находить веб-уязвимости и предотвращать атаки? Тогда записывайтесь на обучение и погружайтесь в мир информационной безопасности с Pentestit.

ссылка на оригинал статьи https://habr.com/ru/company/pentestit/blog/567734/

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *