SIEM Без Границ: Хакерская Эстетика в Мире Безопасности
Ловим хакеров и плохих парней с использованием SIEM + honeypot pt.3
Ловим хакеров и плохих парней с использованием SIEM + honeypot pt.3
Авторство: defaultuser0
Источник: xss.pro
Приветсвую форумчане! Это третья часть (последняя) статьи про SIEM+Honeypoy. В этой части мы будем правильно публиковать репотры на айпи адреса серверов, которые детектировались honeypot'ом как вредонсные, так же мы чуть приведем в нормальный вид кибану добавив карту. Это вообще не обзяательно, но чаще всего используються для красивой картинки + такие видеостены с картой ставяться на стены с мониторами в SOC'ах. Цели которые мы должны достичь- Вывести карту для видеостены
- Отрпавка отчетов (репортов) о вредоносной активности руками. (почта/abuseipdb)
Задаваясь вопросом зачем? Это практика и проектная работа, если при устройстве на работу вы покажите свою автоматизированную систему с отправкой репортов, то вы как специалист на расхват (Как минимумм в СНГ). Оптяь же прочитав и повторив материал этих статьей вы повысите свою квалификацию и сможете претиндовать на позиции Аналитиков L2/Инжинеров по кибербезопасности.
Хотел бы в очередной раз поблагодарить всех кто оставляет реакции под статъями.
Так же отдельно поблагодарить ice80 admin kosok11 за пожертвования, благодаря им у меня есть желание и мотивация писать о том, что не пишут рядовые бойцы BlueTeam! - Спасибо вам огромное!
Статья про установку ELK - 1 часть
Статья про установку и настройку honeypot'a - 2 часть
Давайте посмотрим как поживает наша система.
Окей у нас теперь намного больше попыток подбора пароля + видим что прибавились атакующие страны айпи адреса принадлежащий определнным странам (Россия) , давайте добавим на дашборд красивую карту.
Зайдем в discovery и посмотрим на логи, какие данные тут указаны. Нас интересует все что связанно с geo + любое добавление.
Раскрыв любой лог начинаем изучать его детальнее.
Видим что тут есть все что нам нужно. geoip.city_name, geoip.country_code2, geoip.country_code3,geoip.country_name, geoip.ip, geoip.latitude, geoip.location.lat, geoip.location.lon, geoip.longitude
Используя эти данные мы сделаем карту для видеостены.
Код:
filter{
geoip {
source => "src_ip"
tag_on_failure => ["geoip-city-failed"]
}
geoip {
source => "src_ip"
tag_on_failure => ["geoip-asn-failed"]
add_field => [ "[geoip][coordinates]", "%{[geoip][longitude]}" ]
add_field => [ "[geoip][coordinates]", "%{[geoip][latitude]}" ]
}
mutate {
add_field => { "pshitt_host" => "YOUR_ORIGINAL_HOST" }
convert => [ "[geoip][coordinates]", "float"]
}
}
Нажимаем добавить слой и выбираем тут Choropleth.
Выбираем тут слой World Countries и добавляем иднекс паттерн (или же датавью если у вас ELK version 8+), Мы собираем логи с хонипота под индексом pshitt, именно они нам и нужны.
geoip.country_code2.keyword + geoip.country_code3.keyword отдельными слоями на карте.
Обязательно сохраняем слой и рефрешим страницу. Мы уже видим что подсвечиваются страны красным цветом, цифры обозначают количество попыток подбора пароля нашего хонипота с айпи адресса принадлежащего этой стране.
Добавляем geoip.country_code2.keyword и geoip.country_code3.keyword.keyword как отдельные слои. Спустя пару минут танца с бубнами я получил это:
Не то чтобы прям ВАУ!, но сойдет, опять же я не приследую цели поднять прод в одни руки, это дело команды инженеров тут все как сырые примеры, у вас есть этот пример основываясь на материале предоставленный мной, вы можете сделать что то сочнее. Для отчяенных самураев, можете почитать документацию эластика как это работает более детальнее и уже творить что то свое. Ссылка на документацию эластика - Клик
Окей красота на месте, что же делать с этими данными? У нас сформировалась база айпи адресов занимающийся брутфорсом (в нашем случаи только ssh)
Давайте начнем делиться этим добром с другими вайтхетами и организациями. Для публикации репортов можно выбрать много тематических ресурсов abuse[.]ch или же abuseipdb[.]com
Я остановился на abuseipdb, но вам не мешает это публиковать свои данные на оба ресурса (так даже лучше).
Давайте заведем учетную запись и перед тем как начать подтвердим свою учетку и отправим запрос на предоставления доступа о публикации репортов на их ресурсе.
Зарегестрировав аккаунт перейдем к запросу на получения доступа к публикации репортов.
Как пример я взял один из айпи адрессов из моей системы и пошел на ресурс whois. Это нужно для того чтобы определить почту для приема писем по злоупотреблению.
Пролистав чуть ниже мы можем найти такую строку.
Код:
cat /var/log/pshitt/data.json | grep "айпи адресс"
Кстати кто прочита до этого момента увидит сюрприз, как выглядит оффициальный запрос на пердостовления данных от рф для хостинг провайдера. Само собой я замажу всю важную инфу.
Продолжая разговор о репортах, само собой писать о каждом инцеденте на почту или же рапортовать каждый айпи адресс руками на abuseipdb, для этого созданна АПИ по которой в автоматическом режими можно публиковать ваши отчеты о злоупотребленнии.
Зайдя в раздел API мы можем получить наш ключ.
Сам скрипт можно написать на питоне и если вам интересно как это будет выглядить, то могу написать отдельную статью о автоматической публикации репортов.
Так же и с почтой, вы можете используя АПИ whois публиковать автоматически репорты на почту хостинг провайдерам.
Сама документация по написанию и использованию АПИ выглядит так.
Подводя итоги всей этой трилогии, я хотел бы сказать что получил большой опыт в развертывании Эластик стека и работы с хонипотом (в частности большой опыт по работе с логстешем)
Так же хотел написать что я провожу стримы на твиче где в лайве работаю и общаюсь с вами, больше информации о моих похождениях вы можете чекнуть тут (там кстати будет ссылка на твич канал):
Телеграмм Канал - https://t.me/infosecetochto
Полезная инфа по работе с Эластиком - https://www.elastic.co/guide/index.html
Для тех кто хочет меня поддержать:
Безработному блютимеру на ход ноги:
BTC
bc1qxzw0u2hl40hxpw0zjz82zzkl5mgjtp9xwkex6f
Последнее редактирование:
