• XSS.stack #1 – первый литературный журнал от юзеров форума

Статья Детектируем аномалии в сети компании. Работа над полигоном pt.3

defaultuser0

anime hater
Пользователь
Регистрация
07.07.2022
Сообщения
213
Реакции
432
Депозит
0.0003
Создаем собственный полигон Blue Team vs Read Team pt.3
Обнаружение вторжений с использованием Snort​

Авторство: defaultuser0​

Источник: xss.pro​


ghg.jpg


Продолжаем работать над полигоном и ставить системы защиты. Сегодня мы затронем такую вещь как IDS - Система обнаружения вторжения, а так же применим ее в нашей сети компании (полигон)
Я хочу чтобы вся сеть - 192.168.56.0/24 мониторилась на определенные аномалии, а так же создавала Alerts! при явном использовании сканнеров (таких как nmap). Я покажу только только часть с детектированнием nmap т.к я не хочу расскрывать полную настройку IDS своего полигона из-за предстоящего аудита сети. Это отличный пример и на базе него вы получите все знания для детектирования аномалий в трафике, а так же вывод логов snort'a в нашу SIEM. Давайте поставим цели:
  1. Развернуть IDS - Snort
  2. Настроть на детектирование nmap
  3. Вывести логи в SIEM
1 Часть - ТЫК
2 Часть - ТЫК

Перед началом я хотел бы хотел бы в очередной раз поблагодарить всех кто оставляет реакции под статъями.
Так же отдельно поблагодарить ice80 admin и kosok11 за пожертвования, благодаря им у меня есть желание и мотивация писать о том, что не пишут рядовые бойцы BlueTeam! - Спасибо вам огромное!
Конечный результат после проделанный работы будет выглядить так, как вы видите тут все прекрасно видно кто что куда и когда:
Screenshot 2024-02-10 150659.png


Теория про IDS - Snort
1707585237024.png
IDS (Intrusion Detection System) — это система обнаружения вторжений, предназначенная для мониторинга сетевого или системного трафика в реальном времени на предмет подозрительной активности и известных угроз. IDS может быть развернута как в сетевом, так и в хостовом варианте для защиты различных ресурсов. Системы обнаружения вторжений могут выполнять пассивное обнаружение, регистрируя информацию о потенциальных нарушениях, или активное вмешательство, например, изменяя конфигурацию сетевого оборудования для блокировки подозрительного трафика.

Snort — это одна из наиболее известных и широко используемых систем обнаружения вторжений с открытым исходным кодом. Snort может функционировать как в качестве IDS, так и в роли IPS (система предотвращения вторжений), обеспечивая возможность не только обнаруживать, но и предотвращать сетевые атаки. Snort анализирует сетевой трафик и осуществляет сравнение с базой данных известных подписей атак и паттернов аномального поведения для идентификации потенциальных угроз. Если обнаруживается совпадение, Snort может выполнить ряд действий, включая запись логов, отправку уведомлений администратору и активное блокирование трафика в режиме IPS.

Snort - может обнаруживать множество различных типов и векторов атак благодаря своим мощным возможностям анализа трафика и гибким правилам обнаружения:
  • Анализ Трафика: Snort анализирует сетевой трафик в реальном времени и сравнивает его с набором правил для обнаружения подозрительной активности.
  • Сигнатурное Обнаружение: Использует сигнатуры атак для обнаружения известных угроз, таких как буферные переполнения, сканирование портов, CGI атаки и многое другое.
  • Протокольное Анализ: Распознаёт различные протоколы и может анализировать трафик, чтобы идентифицировать потенциально вредоносные пакеты.
  • Поведенческий Анализ: Обнаруживает аномалии в сетевом трафике и потенциально вредоносное поведение.
  • Логирование: Записывает события в различные форматы логов для последующего анализа.
  • Детектирование Генерации Флуда: Обнаружение аномалий в трафике, которые могут указывать на DoS/DDoS атаки, целью которых является вывод из строя целевого сервера или сетевой инфраструктуры.
  • Сканирование Портов: Обнаружение попыток сканирования портов, используемых для идентификации открытых портов на целевой машине.
  • Спуфинг IP-адресов: Определение пакетов с поддельными (спуфинговыми) IP-адресами.

Так же специфические атаки и атаки на приложения. Да да такой мощный инструмент этот ваш свин =0
Так же я не могу не упомянуть Suricata, это главный конкурент Snort'a. По сути одно и тоже на уровне VirtualBox vs VMware. Я буду использовать Snort так как просто напросто у меня с ним больше опыта.
Есть два самых распространенных вида установки:
  • Network Intrusion Detection System (NIDS);
  • Host-based Intrusion Detection System (HIDS).
Первая работает на уровне сети, а вторая — только на уровне отдельно взятого хоста. Мы будем покрывать всю сеть NIDS при помощи Snorta
Давайте покроем нашу сетку Снортом!

Установка и Настройка IDS - Snort

Добавляем новую виртуальную машину в нашу сеть, предварительно дав ей Host-Only Network adapter vboxnet0 с включенным режимом промискуитности "Allow VMs". Этот режим разрешает виртуальной машине принимать весь сетевой трафик, проходящий через сетевой адаптер (в моем случаи enp0s8), даже если он не предназначен для этой конкретной ВМ. Это нужно для того чтобы фиксировать весь трафик и анализировать его в дальнейшем в сети нашего полигона.

1707601082789.png
Screenshot 2024-02-10 083839.png

Устанавливаем Linux, ставим все по дефолту (openssh-server для удобства).
Теперь ставим наш Snort командой
Код:
apt update && apt install snort
И тут очень важно, нас попросят указать сетевой адаптер который снорт будет слушать (нам нужен наш адаптер который дает доступ в локалку полигона). Мы можем его посмотреть при помощи команды
Код:
ip a

1707601592816.png

Обязательно убедитесь что ваш адаптер (в моем случаи enp0s8) находится в режиме BROADCAST.
Указываем наш адаптер (в моем случаи enp0s8)

1707601756432.png

В этом поле указываем диапазон адресов нашей локальной сети
192.168.56.0/24

Screenshot 2024-02-10 084928.png

Окей, если все прошло без ошибко значит щас нам нужно указать в конфигурационном файле Snort'а адрес хоста самой тачки Snort'a
Переходим в файл
Код:
vim /etc/snort/snort.conf

1707601931372.png

Тут меняем две вещи
ipvar HOME_NET "айпишник тачки снорта"
ipvar EXTERNAL_NET !$HOME_NET
Так же инклюдим в наш конфиг файл, файл с правилами.
Код:
include /etc/snort/rules/local.rules
И добавляем оутпут в файл snort.alert.fast
Код:
output alert_fast: /var/log/snort/snort.alert.fast

1707602101730.png

Теперь само собой нам нужны правила. Как вы понимаете правило это - сценарий если под его условия подпадает трафик то у Snort'a есть несколько вариантов развитий событий:
  • Alert
  • Log
  • Pass
  • Activate
  • Dynamic
  • Drop
  • Reject
  • Sdrop
Сам пример правила выглядит так:
1707602952698.png

Давайте сделаем тестовое правило и посмотрим как реагирует снорт на самое дефолтное правило = ICMP ping flood.
Открываем тот самый файл который мы заинклюдили в основном конфиге
Код:
vim /etc/snort/rules/local.rules
Добавим туда правило теста ICMP!
Код:
alert icmp any any -> $HOME_NET any (msg:"ICMP test"; itype:8; sid:1000005;)

1707603342350.png

Теперь давайте начнем пинговать какой либо хост и в лайв моде консоли Снорта посмотрим как он реагирует.
Для этого я зайду на сервер на котором хостится SIEM = 192.168.56.109 и начну пинговать Доменн контролер GOAD-DC1 = 192.168.56.10
Чтобы видить все что снорт фиксирует для этого введем в терминал команду (Не забудьте указавть вконце ваш сетевой интерфейс):
Код:
snort -A console -q -c /etc/snort/snort.conf -i enp0s8
Давайте пинганем как мы и планировали, буквально моментально мы видем как снорт определяет пинги на Доменн контроллер с хоста SIEM

1707603828853.png

Прошу вас подметить что тут уже есть все что нам нужно для того чтобы грузить эти данные в SIEM
02/10-22:22:25.240501 [**] [1:1000005:0] ICMP test [**] [Priority: 0] {ICMP} 192.168.56.109 -> 192.168.56.10
Окей Снорт работает и настроен, я поделюсь базовыми правилами для снорта по сканированнию Сети. Так как хакеры часто после попадания в сеть сканируют ее на хосты и так же сканируют порты хостов.
Эти базовые правила нам нужно будет добавить в файл /etc/snort/rules/local.rules

Код:
alert tcp any any -> $HOME_NET any (msg:"NMAP SYN Scan"; flags:S; flow:stateless; detection_filter:track by_src, count 5, seconds 60; classtype:attempted-recon; sid:1000001; rev:1;)
alert tcp any any -> $HOME_NET any (msg:"NMAP FIN Scan"; flags:F; flow:stateless; detection_filter:track by_src, count 5, seconds 60; classtype:attempted-recon; sid:1000002; rev:1;)
alert tcp any any -> $HOME_NET any (msg:"NMAP XMAS Scan"; flags:FPU; flow:stateless; detection_filter:track by_src, count 5, seconds 60; classtype:attempted-recon; sid:1000003; rev:1;)
alert tcp any any -> $HOME_NET any (msg:"NMAP NULL Scan"; flags:0; flow:stateless; detection_filter:track by_src, count 5, seconds 60; classtype:attempted-recon; sid:1000004; rev:1;)

1707604045470.png

Сохраняем наш файл и теперь бежим все тестить от лица аттакера 0)
Запускаем Снорт в режиме лайв дебага. Подключаемся по ВПНУ в нашу сетку с Кали Линукс и пытаемся просканить один любой хост.
Для примера я Возьму SYN scan и просканю хост где находится SIEM.

1707604274154.png

Как мы видим все прекрасно! Снорт прекрасно нас оповещает о явном сканнировании портов. Теперь давайте эти результаты все загоним в нашу СИЕМ0)
Для этого я буду использовать свой любимый filebeat))
Устанавливаем filebeat agent на хост где находится Snort. ВАЖНО Filebeat агент должен быть такой же версии, какой и у вас весь Elastic STACK!
Код:
apt install filebeat

1707604554497.png
Открываем конфигурационный файл файлбита
Код:
vim /etc/filebeat/filebeat.yml
И тут мы делаем все по классике, комментируем все разделы связанные с elasticsearch, разкоментируем output.logstash и hosts.
Там само собой пишем хост на котором стоит логстеш

1707604731034.png

Самое ВАЖНОЕ! Сделаем так чтобы файлбит брал только логи снорта, а не все логи с линуксовой тачки. Тут просто повторите за мной:

1707604802848.png

Это тот самый output который мы указывали еще при настройке снорта. - /var/log/snort/snort.alert.* (звездачка тут работает как в SQL запросах)
Теперь давайте оценим это все как выглядит в нашей SIEM.
Заходим в Дискавери выбираем Индекс паттерн или Датавью (если у вас ЕЛК 8+) Filebeat

1707605052243.png

Как мы видим, тут все наши попытки только в удобном виде=) Это только базовый набор правил, Снорт умеет много чего, просто я по собственному соображению (т.к. пару пентестеров с этого форума будут проходить мой полигон) просто не могу показывать на все общее обозрение все свои правила и конфигурации -_0 Но надеюсь объяснил я доходчиво и читать это было интересно!

Для тех кто хочет поддержать меня финансово:
BTC: bc1qxzw0u2hl40hxpw0zjz82zzkl5mgjtp9xwkex6f

Кстати весь этот проект я поднимаю в прямом эфире на твиче, подробнее тут:
ТГ: https://t.me/infosecetochto

Всем спасибо! Ждите след части, совсем скоро будет финал =)
 
Понимая что меня ждет, порт сканнинг это просто базовый пример работы snort'a, в интернете есть куча комьюнити правил для снорта и вы можете сделать опору как на базовые атаки ssh/ftp/rdp так и выгрузить правила по поиску аномалий в сети.

1707606084296.png
 
Пример работы:
Понимаю, что мои вопросы будут несколько провакационными (так как пару пентестеров должны будут проходить эту лабу). Поэтому допускаю что ТС сможет ответить на них в паблике после проведения пентеста (надеюсь это событие случится в ближайшее время и мы с удовольствием почитаем разбор как это было).

На мой взгляд тема не раскрыта полностью. Мы видим как система с лёгкостью детектит нмап при скане в обычном режиме. Это понятно.
Дальше для сравнения видим попытки модификации процесса отправки пакетов нмапа при скане (дробление пакетов, увеличенный интервал между отправкой пакетов, снижение интенсивности скана и скан без пинга).
Но возможности нмапа по мимикрии несколько шире. Предлагаю рассмотреть изменение размера и содержания пакета (--data-length <число> или моё любимое --data-string "fuck, snort!!!" (надеюсь мой нмап никого не обидел:)), воспользоваться нестандартной величиной раздробленного пакета (--mtu <значение>).
И самое главное, как мне кажется, как система будет реагировать на -sV и -sC? Нам же необходимо знать что именно и где работает на живых хостах.
 
Понимаю, что мои вопросы будут несколько провакационными (так как пару пентестеров должны будут проходить эту лабу). Поэтому допускаю что ТС сможет ответить на них в паблике после проведения пентеста (надеюсь это событие случится в ближайшее время и мы с удовольствием почитаем разбор как это было).

На мой взгляд тема не раскрыта полностью. Мы видим как система с лёгкостью детектит нмап при скане в обычном режиме. Это понятно.
Дальше для сравнения видим попытки модификации процесса отправки пакетов нмапа при скане (дробление пакетов, увеличенный интервал между отправкой пакетов, снижение интенсивности скана и скан без пинга).
Но возможности нмапа по мимикрии несколько шире. Предлагаю рассмотреть изменение размера и содержания пакета (--data-length <число> или моё любимое --data-string "fuck, snort!!!" (надеюсь мой нмап никого не обидел:)), воспользоваться нестандартной величиной раздробленного пакета (--mtu <значение>).
И самое главное, как мне кажется, как система будет реагировать на -sV и -sC? Нам же необходимо знать что именно и где работает на живых хостах.
Принял доп.информацию, дополню чуть позже этот топик (ниже) на базе этой инфы!
 
UPD: потребление всего сервера в активном режиме (с запасом берите +10гб оперативы)
Вообще минималка: 8cpu/64гб/1тб
1707746858872.png
 
Делай курс, ну или анонсируй, посмотри сколько людей будут готовы записаться.
Мне вот лично таких скилов нехватает, про продукты и как их настроить и тд.
Чернухи никакой а нубы придут я думаю.
 
Делай курс, ну или анонсируй, посмотри сколько людей будут готовы записаться.
Честно вообще хз кому интересны курсы, вообще есть ли тут такие люди кто на курсы записывается -_0 но идея прикольная
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Делай курс, ну или анонсируй, посмотри сколько людей будут готовы записаться.
Так, а смысл записываться на курс от ноунейма? Когда есть вот это --> habr.com/ru/news/790494/
 
Так, а смысл записываться на курс от ноунейма? Когда есть вот это --> habr.com/ru/news/790494/
Ну Лукацкий это вообще пиздец0) "Хардкорные практики" + половину мата этого курса я и так описал, конечно тебе там и жопу полижут и красивые слайды сделают, но смотря правде в глаза ниче там такого нету. за что надо платить 200к рублей)))) спасибо как то само добрался до Л2 и без ваших курсов с лукацким0)
1707792737580.png

1707792920494.png
1707792947226.png
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Ничего не знаю. Лукацкий топ!!!

Я представляю это, приходишь на собес и говоришь здравствуйте я обучался на киберпреступном форуме где сидят сливки андерграунта, APT1337 команды, всякие рамс ПП, малварщики, кардеры. И вот там вот я познал дзен блутима. А еще мне отрисовщик документов нарисовал красивый сертификат что я прошел курс. Я знаю что такое тред хантинг и тред интелегес. Возьмете меня на работу?

А еще в конце им говоришь, я договорюсь, чтобы инцидентов не было. Всё под котролем. Я найду их в логах. ПОЦАНЫ сами покажут логи Nmap'а как сканили...
 
Последнее редактирование:
Ничего не знаю. Лукацкий топ!!!

Я представляю это, приходишь на собес и говоришь здравствуйте я обучался на киберпреступном форуме где сидят сливки андерграунта, APT1337 команды, всякие рамс ПП, малварщики, кардеры. И вот там вот я познал дзен блутима. А еще мне отрисовщик документов нарисовал красивый сертификат что я прошел курс. Я знаю что такое тред хантинг и тред интелегес. Возьмете меня на работу?​
2839795431_preview_база-острыекозырьки.gif


особенно вынесло с момента
А еще мне отрисовщик документов нарисовал красивый сертификат что я прошел курс.​
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Скрытый контент для пользователей: defaultuser0.
 
Так, а смысл записываться на курс от ноунейма? Когда есть вот это --> habr.com/ru/news/790494/
Смысл в том что я не хочу что бы хоть кто то знал какими знаниями, навыками и инструментарием я владею, я даже не хочу что бы мой провайдер знал что я умею писать скрипты на питоне. Про устраиваться на работы вообще молчу. Смотри, обладая навыками если уж припрет и очень захочу на работу то я просто пройду любой модный курс на изи, потому что от них мне по сути нужен будет только серт и офферы.
 
Последнее редактирование:
a4c516debac7340db31c8446989f558f5e8e5cc83042f7c66da45f9eea0002d2

через недльку еще добавлю 🤝
 
Всем привет, чутка по теме ищу пару пентестеров, кто хочет пробежаться по сетке (это пойдет в отчет для этого форума как след.часть этой статьи).
Хочу подготовить полигон перед одним сильным петестером и обкатать его. Напишите в ПМ форума кому это интересно.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Я представляю это, приходишь на собес и говоришь здравствуйте я обучался на киберпреступном форуме где сидят сливки андерграунта, APT1337 команды, всякие рамс ПП, малварщики, кардеры.
именно те кто обучася сам и практики атакующих знает не понаслышке - в разы лучше смогут защищать сеть.
зы - атакующе это не вайты - которые нулями гасят сисмон и отснифая креды с конфлуенса(что бежал по хттп) и поимеют всю сеть, не касаясь и пальцем лсасс и нтдс
+ "верифнув риски" сдампив у бухалтерши токен дбо опять же самописным софтом.

атакуют как раз васи и пети - да у них нету скилла и самописного софта в 90% случаев - они юзают другие вещи - и при работе с ними нужно обращать внимание совсем на иное.
Не раз сок проебывал установку RMM софта условным петей - так как тот уже дорос до момента когда патчит ETW и сисмон и сием проебали вспышку так как на вебсерваке почему-то нагрузка цп была 95-98%, и вот условный Федор-Хацкер задеплоил уже то же что и стояло у сисадмина - байпаснув с "божьей помощью" и сок и все его инструменты. Ясно - что тот федя будет скорее всего пойман на следующих шагах своего путешествия - дак не факт что он не успеет скрсить жизнь сотрудникам корпа какой небудь пакостью или качнуть приличное кол-во даты - для начала переговоров.

Все эти теоретики с про курсов понятия не имеют как лочаться сети - исключения есть - но они только подтверждают правила.
Потому щас частая практика - на респонс тащить пентестеров - те то сходу разпедалят - как и чем там ломали.
 
Последнее редактирование:


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх