Хакинг

Как читать и писать правила Snort для обхода систем обнаружения сетевых вторжений

Содержание:

С возвращением, мои хакеры!

Наши последние статьи были посвящены тому, как НЕ попасться. Некоторые люди называют это антикриминалистикой — способностью не оставлять следов, по которым вас или ваши хаки могут выследить системные администраторы или правоохранительные органы.

Один из наиболее распространенных способов, который уведомляет системных администраторов о вторжениях в сеть — это использование систем обнаружения сетевых вторжений (NIDS). Самой распространенной из них является Snort.

У нас уже есть вводная статья по Snort, и теперь мы хотим углубиться в эту тему, чтобы показать вам, как работают правила Snort для обнаружения вашего вторжения. Чем больше мы знаем о Snort и других NIDS, тем лучше мы можем обходить их.

Шаг 1. Найдите правила Snort

Snort — это, в своей основе, пакетный сниффер, который для определения вредоносного сетевого трафика применяет свои правила. Эти правила аналогичны сигнатурам антивирусного программного обеспечения. Разница заключается в том, что Snort — это проект с открытым исходным кодом, поэтому мы можем видеть эти «сигнатуры».

Мы можем найти все правила Snort, перейдя в директорию /etc/snort/rules нашего BackTrack. Перейдем и посмотрим на ее содержимое.

cd /etc/snort/rules

Теперь выведем список файлов этой директории.

ls -l

Как мы видим на скриншоте выше, в этой директории расположено довольно много правил для Snort. Каждый из этих файлов содержит какую-то категорию правил, а в некоторых содержатся сотни правил.

Шаг 2. Просмотр правил Snort

Файлы правил Snort являются простыми текстовыми файлами, поэтому мы можем открывать и редактировать их с помощью любого текстового редактора. Мы будем использовать редактор Kwrite. Откроем файл porn.rules. Этот набор правил предназначен для обнаружения порно, проходящего по проводному соединению. Это довольно старый набор правил и большинство системных администраторов больше его не использует.

kwrite /etc/snort/porn.rules

Здесь мы можем видеть, что эти правила предназначены для обнаружения различных видов порно. Если вы когда-нибудь задавались вопросом, как ваш сисадмин узнал, что вы скачивали порно, то теперь вы это знаете!

Шаг 3. Изучение правила

Давайте возьмем какое-нибудь простое правило и проанализируем его. Откроем файл scan.rules.

kwrite /etc/snort/scan.rules

Теперь копируем выделенное правило в отдельный текстовый файл и анализируем, что оно делает.

Шаг 4. Анализ правила SF-сканирования

Это правило предназначено для обнаружения сканирований, выполняемых с помощью различных инструментов для сканирования, таких как nmap и hping. Один из этих сканеров называется SYN-FIN. Этот сканер отправляет TCP-пакеты с установленными флагами SYN и FIN для того, чтобы попробовать определить, какие порты открыты на целевой системе.

Этот тип пакетов никогда нельзя встретить при анализе естественного трафика, поскольку пакет с одновременно включенными флагами SYN и FIN запрашивает у системы открытие соединения (SYN) и одновременное закрытие соединения (FIN).

Довольно легко увидеть, что любой пакет с этими установленными флагами является попыткой выполнить проверку системы, и поэтому системный администратор должен быть об этом предупрежден.

Шаг 5. Заголовок правила

Начнем с изучения первой части правила с начала и до первой скобки. Начальная часть правила называется заголовком и наш заголовок выглядит вот так:

Разбивка заголовка правила на элементы

  • alert — это действие. Это может быть предупреждение, запись в лог (журнал) или пропуск.
  • Tcp — это протокол трафика, который ищет правило. Это могут быть tcp, udp и icmp.
  • $EXTERNAL_NET — это исходный IP-адрес или сеть вредоносных пакетов. Его можно установить как переменную в файле snort.conf.
  • any — это исходный порт вредоносного трафика. Этот параметр можно установить как в один порт, так и в несколько или ряд портов.
  • -> — это направление трафика. В этом случае мы ищем трафик, идущий из EXTERNAL_NET во внутренний или HOME_NET.
  • $HOME_NET — это IP-адрес назначения, к которому идет трафик. Как и в случае с EXTERNAL_NET, его можно установить как переменную в файле snort.conf.
  • any — это порт назначения. Этот параметр также может указывать на определенные порты, например 80, или на переменную, содержащую список портов.

Шаг 6. Параметры правил Snort

Теперь рассмотрим ту часть правила, которая находится между круглыми скобками. Она называется параметрами правил. Эта часть состоит из ключевого слова, двоеточия и аргумента.

ключевое слово: аргументы

Наш пример правила выглядят вот так:

Разбивка параметров правила

  • msg — это сообщение, которое отсылается системному администратору, если это правило вызывается. В этом случае Snort сообщает системному администратору «SCAN SYN FIN».
  • flow — этот параметр позволяет правилу проверять поток трафика. Он может иметь несколько значений, включая established (TCP-соединение установлено), not established (TCP-соединение не установлено), stateless (установленные или не установленные соединения) и т.д. В нашем примере правило вызывается при трафике с установленным TCP-соединением или без него.
  • flags — эта пара проверяет флаги TCP. Как вы знаете, флаги TCP могут быть SYN, FIN, PSH, URG, RST или ACK. Это правило ищет трафик, в котором установлены флаги SYN и FIN (SF), и, кроме того, имеет два зарезервированных бита в наборе байтов флагов (12).
  • reference — этот раздел предназначен для ссылки на базу данных безопасности для получения дополнительной информации об атаке. В нашем примере мы можем найти дополнительную информацию об этой атаке в базе данных arachnids, атака 198.
  • classtype — все правила подразделяются на многочисленные категории, которые призваны помочь администратору понять, какой тип атаки был предпринят. В нашем примере мы видим, что он классифицируется как «попытка анализа».

Шаг 7. Обход и Отключение

Теперь, когда мы понимаем, как работают правила Snort, мы можем продумать нашу атаку таким образом, чтобы избежать этих правил. Если мы сможем подключиться к серверу NIDS, мы сможем отключить или отредактировать правила, которые могут предупредить администратора о нашей атаке.

В следующей статье по Snort мы углубимся в детали реализации некоторых более сложных правил Snort, поэтому следите за обновлениями. Если у вас есть какие-нибудь вопросы или комментарии по работе со Snort, пожалуйста, пишите!

HelpUAdmin

View Comments

  • Добрый день. Подскажите можно ли где то скачать правила отсортированные по группам, как у вас в скрине, но при этом не устанавливать Snort?

Recent Posts

Windows 10 стала работать медленнее после установки обновления? Исправим это

Ваш компьютер на Windows 10 перестал быть быстрым после обновления системы? Мы подскажем, как устранить…

3 года ago

Описание приложения-чата по приглашениям Clubhouse

Это приложение для iPhone основано на приглашениях и аудио. С его помощью можно всё равно…

3 года ago

Изменение почтового клиента по умолчанию в iOS 14 на Outlook, Spark, Gmail и другие

Одним из самых значительных изменений в операционной системе iOS 14 является возможность менять приложения по…

4 года ago

Включение пузырей уведомлений в чатах на Android 11

В системе Android 10 появился фреймворк для пузырей чатов, популярность которым принёс Messenger. Новая система…

4 года ago

Как настроить беспроводную отладку в Android 11

От загрузки в режим Fastboot при помощи одной команды до установки модов без рута, есть…

4 года ago

Главные проблемы Android 11 Beta и следует ли устанавливать её

Бета-версия операционной системы Android 11 в настоящее время доступна для устройств Google Pixel. Нужно посетить…

4 года ago