Взлом веб-приложений против IDS

Опубликовано: 10 Апреля, 2023

Для многих из нас мир взлома веб-приложений в значительной степени рассматривается как Дикий Запад. Всегда происходит что-то новое и неожиданное. Будь то последний эксплойт межсайтового скриптинга (XSS) или новый метод кодирования для обхода защиты сети. В этой постоянно меняющейся среде имеет смысл попытаться понять, в чем заключаются некоторые из фундаментальных проблем. В конце концов, это жизненно важные знания для системных администраторов (системных администраторов), а также для специалистов по сетевой безопасности. Вы — люди, которые будут администрировать вашу сеть и наблюдать за ее аномальным поведением. Хотя сложно получить опыт во всей области взлома веб-приложений, вы, безусловно, можете получить хорошее представление о некоторых из его областей. Одна область, которую мы рассмотрим на высоком уровне в этой серии статей, — это кодирование.

Что такое кодирование?

Под кодированием понимается процесс, при котором информация берется из одного формата, а затем кодируется в другой. Возьмем, к примеру, все слова, написанные до сих пор в этой статье. Они представлены в простом формате ASCII. Что тогда произойдет, если я возьму их и закодирую в формат на основе HEX? Точное значение формулировки останется, но теперь они будут в шестнадцатеричном формате. Давайте сделаем быстрый пример этого.

Изображение 24792
фигура 1

Теперь мы можем видеть на скриншоте, что слева у нас есть ряд значений HEX, а справа у нас есть ASCII-версия пары предложений, которые я только что написал. Они оба говорят одно и то же, но в разных форматах. Итак, мы видим, что взять что-то и закодировать в другой формат на самом деле довольно просто. Ну, с этим примером, обеспечивающим визуальное отображение для нас, как на самом деле можно закодировать взлом реального веб-приложения и как это будет выглядеть? Хороший вопрос, давайте продолжим и узнаем именно это. В качестве примера мы будем использовать уже ставший классикой эксплойт для обхода каталогов. Как вы, вероятно, догадались по самим двум словам, этот эксплойт позволит вам перейти в родительский каталог веб-сайта, как обычно это используется против веб-сайтов. Тогда давайте к этому.

Наша среда анализа

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

  • Фыркнуть
  • веб-браузер
  • Инструмент кодирования

Как видите, для успешного взлома некоторых веб-приложений и их обнаружения, если это возможно, требуется не так уж много. Вы также можете использовать прокси-сервер HTTP в дополнение к веб-браузеру. Независимо от ваших предпочтений. Если бы я делал это для взаимодействия с клиентом, я бы использовал набор прокси-серверов HTTP BURP. Если вам нужна помощь в установке некоторых из этих инструментов, пожалуйста, ознакомьтесь с некоторыми из моих предыдущих статей. Теперь нам нужно запустить Snort, чтобы он прослушивал и наблюдал за пакетами по мере их поступления на компьютер, на котором у меня работает веб-сервер Apache.

Изображение 24793
фигура 2

Вы можете видеть на снимке экрана, что я вызвал Snort и указал через ключи -i 2, какой интерфейс для прослушивания. Это потому, что я запускаю Snort и веб-сервер Apache в образе VMware. Таким образом, для Snort будет несколько сетевых карт. Мы должны сообщить Snort, какой из них он будет отслеживать для нас. Теперь мы увидим на следующем снимке экрана очень простой пример взлома веб-приложения, и, как упоминалось ранее, это эксплойт обхода каталога.

Изображение 24794
Рисунок 3

Итак, веб-сервер Apache запущен и работает. Давайте теперь дадим ему входные данные Directory Traversal в исходном формате и посмотрим, что произойдет. Прежде чем сделать это, убедитесь, что у вас запущен Snort, чтобы увидеть, что он обнаружит, прежде чем пытаться взломать.

Изображение 24795
Рисунок 4

На скриншоте мы видим ../, как выглядит попытка обхода каталога. Как только вы отправите это на веб-сервер Apache, вы заметите, что он сам ничего не сделает, будет казаться, что он его игнорирует. Вскоре мы рассмотрим, что именно обнаружил Snort. Теперь давайте продолжим и закодируем его в другом формате.

Изображение 24796
Рисунок 5

Что я сейчас сделал, так это закодировал../ в его HEX-эквивалент.

Изображение 24797
Рисунок 6

Теперь, когда вы отправите этот HEX-закодированный эксплойт обхода каталога в веб-браузер Apache, вы снова заметите, что ничего не происходит. Мы еще раз проверим, что увидел Snort чуть позже. Давайте попробуем еще раз на этот раз, но с кодировкой UNICODE.

Изображение 24798
Рисунок 7

Теперь идите вперед и введите эту новую закодированную версию обхода каталога и посмотрите, что произойдет. Вы заметите, что Apache возвращает код состояния HTTP 404. По сути, это говорит о том, что URL-адрес не найден на сервере. Таким образом, мы попробовали три разные версии эксплойта обхода каталога, и ни одна из них не сработала. Итак, на этой ноте, давайте проверим, что отметил Снорт.

Нет проблем для Snort

Что ж, после запуска подписи Snort для WEBROOT DIRECTORY TRAVERSAL мы можем убедиться, что этот старый и заезженный взлом веб-приложения действительно был обнаружен Snort. Это было сделано, несмотря на то, что исходная атака../ была закодирована в различных других форматах. Теперь, как я упоминал ранее, этот хак с обходом каталога хорошо известен. Маловероятно, что это обойдет любые современные IDS. Тем не менее, мир взлома веб-приложений огромен. Существует множество других типов взломов, о которых стоит беспокоиться.

Часть проблемы, когда дело доходит до взлома веб-приложений, заключается в том, что многие из этих приложений не были должным образом протестированы или даже не прошли аудит кода. Таким образом, они, безусловно, могут быть уязвимы для множества атак. Некоторые из них гениальны, а другие на удивление низкоуровневы. Один из самых простых способов укрепить свои знания о хаках веб-приложений — попытаться воссоздать их самостоятельно. Ничто не помогает лучше понять, чем делать это самому. После того, как вы освоитесь, скажем, с SQL-инъекцией, вы можете захотеть сделать это, пока IDS анализирует трафик. Это даст вам представление о хорошо разработанных сигнатурах IDS для угрозы SQL-инъекции или любого другого взлома, который вы воссоздаете. Если сигнатуры слабые или отсутствуют, вы можете написать их самостоятельно, если это позволяет ваше решение IDS. Что ж, это был очень краткий и грязный обзор взлома веб-приложений, но, надеюсь, он возбудит ваше любопытство. До следующего раза!