Фрагментация пакетов и система обнаружения вторжений (IDS), часть 2

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

Фрагментация пакетов и система обнаружения вторжений (IDS), часть II

В ходе первой части мы увидели, как настроить различные компьютеры в нашей лаборатории VMware. Установка была простой, и даже установка и использование fragrouter были безболезненными. Мы закончили первую часть попыткой фрагментации пакетов через fragrouter, чтобы обойти Snort. Эта первая попытка не удалась, так как Snort действительно принял атаку. У него не было проблем с повторной сборкой фрагментированных пакетов и распознаванием атаки; попытка привязки RPC через эксплойт MS03-026, содержащийся в Metasploit Framework. В арсенале Fragrouter есть еще немало хитростей. Если вы введете команду «./fragrouter -help», как показано на скриншоте ниже, вам будут показаны все доступные вам параметры fragrouter.

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

Что нам теперь нужно сделать, так это использовать атаку фрагментации, которая, вероятно, будет немного более уклончивой. Увиденное на скриншоте выше представляет интерес. В частности, «-F3». Это очень похоже на первую попытку, которую мы предприняли, но на этот раз в последовательности фрагментированных пакетов будет один фрагмент не по порядку. Это также служит упорядоченным увеличением наших попыток уклонения. Теперь нам снова нужно убедиться, что Snort запущен на компьютере-жертве, а также на этот раз tcpdump.exe. Это позволит нам регистрировать входящий фрагментированный трафик, а затем просматривать некоторые примеры пакетов. Также убедитесь, что вы запустили fragrouter, прежде чем инициировать атаку через Metasploit Framework. Чтобы попытаться сохранить наши результаты однородными, мы снова воспользуемся эксплойтом MS03-026 через Metasploit. Все готово? Тогда давайте к этому.

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

На снимке экрана выше я вызвал fragrouter с ключами «-F3», как обсуждалось.

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

Теперь на снимке экрана выше я вызвал tcpdump.exe на компьютере-жертве, чтобы регистрировать фрагментированные пакеты по мере их поступления. Это позволит нам взглянуть на них. Обратите внимание на переключатель «-w», так как он будет регистрировать пакеты в двоичном формате. Позже вам нужно будет использовать «tcpdump -r test1 -nXvSs 0 | больше», чтобы просмотреть их.

Действие!

Теперь вернемся к забавным вещам. На атакующем компьютере снова запустите Metasploit и введите соответствующую информацию в веб-интерфейсе, чтобы атаковать компьютер-жертву. Как только все будет готово, стреляйте, как это было. Как только вы получите оболочку на компьютере, идите и остановите Snort на компьютере-жертве. Затем вернитесь к атакующему компьютеру и нажмите «session::break», чтобы изящно разорвать соединение. На снимке экрана ниже мы видим, что fragrouter выдает данные во время работы. Он фактически перечислит фрагменты, а также смещение в них, поскольку он выполняет свою фрагментацию. Это хороший список для справки, если вы хотите подробно просмотреть трассировку пакетов.

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

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

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

В общей сложности tcpdump.exe получил 290 пакетов, что примерно соответствует ранее зарегистрированному количеству. Это число может варьироваться в зависимости от широковещательной рассылки протокола NetBIOS и тому подобного. Больше интереса представляет то, что на этот раз увидел Снорт.

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

Что ж, похоже, Snort в очередной раз засек наши попытки уклониться от него. Чтобы выяснить это окончательно, давайте взглянем на файл «alert.ids», содержащийся в каталоге «log».

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

Наша последняя попытка обойти IDS с помощью фрагментации пакетов с помощью fragrouter снова с треском провалилась.

Включите Metasploit

До сих пор мы видели, что общие попытки фрагментации пакетов не смогут обойти современные IDS, такие как последняя версия Snort. В fragrouter есть много других опций, которые могут позволить обойти Snort при творческом использовании. Теперь, когда вы увидели, как использовать fragrouter, я оставлю эти эксперименты вам. Что мы сейчас сделаем, так это перейдем к другому инструменту, который позволит нам фрагментировать атакующий трафик. Этот инструмент — постоянно усложняющийся Metasploit Framework. До сих пор мы использовали его для генерации атакующего трафика, но теперь мы также будем использовать его встроенные возможности фрагментации.

Для простоты мы воссоздадим то, что уже делали раньше. Для этого снова воспользуемся MS03-026, но на этот раз с фрагментацией. Пожалуйста, смотрите скриншот ниже для используемого синтаксиса.

Изображение 25001
Рисунок 8

Теперь Metasploit будет фрагментировать сам фрагмент DCERPC. Он не будет фрагментировать все пакеты, а только их часть DCERPC. Давайте продолжим, а теперь попробуем и посмотрим, что найдет Snort. Пожалуйста, посмотрите на скриншот ниже, что увидел Snort.

Изображение 25002
Рисунок 9

Snort обнаружил одно предупреждение в трафике, который был отправлен ему через Metasploit, но не обнаружил фрагментированного трафика, так как была фрагментирована только часть DCERPC. Теперь, объект нашего интереса, была ли обнаружена попытка привязки RPC? Давайте посмотрим ниже.

Изображение 25003
Рисунок 10

Snort в очередной раз сорвал наши попытки скрытности, используя фрагментацию пакетов. Он обнаружил три отдельных попытки привязки RPC. Мы могли бы легко поэкспериментировать дальше, постоянно уменьшая размер фрагмента, но я оставлю это на ваше усмотрение. Ключевой урок, который следует здесь усвоить, состоит в том, что IDS действительно усложнились и их способность справляться с фрагментированным трафиком.

Заворачивать

В этой серии статей была рассмотрена проблема потенциального злоумышленника, преднамеренно фрагментирующего свой атакующий трафик, чтобы обойти сигнатуры IDS. Мы попытались воссоздать, что может сделать такой агрессор, пытаясь скрыть свою атаку. Был рассмотрен немного старый, но, по некоторым сведениям, все еще эффективный фрагутер. Через fragrouter нам было доступно множество вариантов, но Snort легко обнаружил некоторые из более простых. Это оставило бы более сложные из них для использования против компьютера с работающей IDS для дальнейших экспериментов.

Конечно, было еще немало сценариев, которые мы могли бы попробовать через fragrouter, но это повлекло бы за собой еще несколько сегментов статей. Целью этой серии статей было показать вам, что существуют инструменты компьютерной безопасности, такие как fragrouter и Metasploit Framework. Ни один из этих инструментов не спрятан где-то, скорее их можно взять. Было бы разумно сделать именно это и научиться их использовать. Это, в свою очередь, приведет вас к гораздо более фундаментальному пониманию того, как фрагментация может повлиять на IDS. Я знаю, что это определенно сработало для меня. До того, как я использовал эти инструменты, вся концепция фрагментации была довольно туманной. Я всегда пытаюсь воссоздать любую концепцию, о которой я читал. Лучший способ научиться — это сделать это на самом деле. Я искренне надеюсь, что эта статья была вам полезна, и, как всегда, буду рада вашим отзывам. До следующего раза.

фрагментацию пакетов и систему обнаружения вторжений (IDS), часть 1