Сетевое расследование! Incident response в локальных сетях.

D2

Администратор
Регистрация
19 Фев 2025
Сообщения
4,380
Реакции
0
1.Вступление
-Кратко про Incident response
-Актуальность сетевого Incident response
-Подготовка к расследованию

2.Анализ траффика в сети
-Перехват сетевого траффика с wireshark
-Учимся анализировать перехваченные пакеты

3.Использование инструментов для сбора информации об IP адресах
-Определение активных IP адресов в сети
-Анализ OS
-Сканирование портов и перечисление висящих на них служб

4.Построение карты сети
-Реставрируем сеть с помощью дампа сетевого траффика
-Использование топологии zenmap

5.Анализ логов сетевого оборудования
-Просмотр логов на разных админках оборудования
-Какую инфу об сетевых событиях можно получить из логов

6.Итоги

Вступление
Кратко про Incident response
Incident response – набор тактик в мире кибербезопасности для обнаружения, исследования, и устранения угроз.
Если кратко – это расследование взломов, анализ взломанных систем.

Этот этап расследования активно используют спецслужбы в криминалистике и построении криминалистической цепочки для конечного выхода на атакующего хакера или группировку хакеров.

Процесс обнаружения и анализа угроз включает эти шаги:
  • Обнаружение инцидента, взлома
  • Оценка критичности инцидента
  • Изоляция зараженных систем и ликвидация угрозы
  • Сбор данных и анализ угроз, слабых мест в атакуемых системах
  • Восстановление систем и улучшение безопасности
В мире кибербезопасности этап обнаружения взломов и атак очень важен, так как профессионалы своего дела помогут ликвидировать угрозу, найти атакующего, и самое главное – исходя из информации об слабых местах в системе, через которые произошел взлом, устранить слабые места и повысить уровень безопасности своей системы.

Актуальность сетевого Incident response
Актуальность сетевого расследования в локальных корпоративных сетях остается крайне высокой и нарастает с течением времени. Так как злоумышленники постоянно совершают новые и усовершенствованные атаки. Это означает, что корпорации всегда подвергаются риску компрометации своих сетей и данных.
Инцидент-реагирование помогает обнаруживать и реагировать на эти угрозы.

Статистика показывает, что 70% кибератак на корпорации (зачастую Ransomware) происходят через взлом входной точки в сеть – главный маршрутизатор. Ransomware – один из самых выгодных для злоумышленника вид атак на сегодняшний день.
Кибер расследование взломанных сетей помогает спецслужбам обнаруживать потенциальные угрозы и злоумышленников.

Как мы знаем – большая часть спецслужб (особенно пиндосы) имеют доступы к большинству баз данных с приватной информацией, тем самым им намного легче искать нарушителей кибер-закона.


SOC представляет собой централизованный отдел или команду, ответственную за мониторинг, обнаружение и реагирование на киберугрозы и инциденты в реальном времени.
Основной задачей SOC является непрерывный мониторинг сетевого и системного трафика с использованием различных средств и инструментов, таких как системы информационной безопасности, сенсоры, журналы событий и другие.
SOC анализирует данные с целью выявления аномальной активности, подозрительных событий и индикаторов компрометации (IOCs).
SOC также реагирует на обнаруженные инциденты, проводя инцидент-реагирование, включая блокировку угроз, изоляцию атаки и восстановление.


EDR представляет собой технологический инструмент, который сосредотачивается на безопасности конечных точек (endpoint), таких как компьютеры, серверы, мобильные устройства и т. д.
Основная цель EDR - обеспечить более глубокий и детализированный анализ активности на конечных точках, чтобы обнаруживать угрозы, которые могут обойти другие средства безопасности.
EDR собирает информацию о действиях и событиях на конечных точках, включая информацию о процессах, файлах, сетевой активности и многом другом.
Эти данные используются для обнаружения продвинутых атак, включая атаки с нулевой допускаемой вероятностью (zero-day) и неизвестные угрозы.
EDR также может предоставлять средства для реагирования на инциденты на конечных точках, включая удаление вредоносных программ и анализ последствий инцидентов.

Подготовка к расследованию
При сборе информации, у нас есть несколько кейсов как это будет происходить: какие у нас возможности в сети, какую мы имеем входящую информацию и так далее…

Для обозначения этих случаев придумали несколько терминов:
Черный ящик – кейс когда мы ничего не знаем об сети или цели. Мы подключаемся к сети и начинаем собирать полную информацию.​
Серый ящик – кейс когда мы частично имеем хоть какую то информацию об сети (Например: список подсетей, список IP адресов, список ОС)​
Белый ящик – кейс когда у нас есть полная информация про сеть, нужно только создать криминалистическую цепочку.​

Также не забываем, до сбора информации про зараженную сеть, мы должны согласить это с администратором и владельцем сети.

Для работы нам подойдет система Windows или Linux. Вот список инструментов которые мы будем использовать для расследования:

Nmap - https://nmap.org/download
Wireshark - https://www.wireshark.org/download.html
Advanced IP Scanner - https://www.advanced-ip-scanner.com/download/
Zenmap - https://nmap.org/zenmap/

После установки всего нужного, и получения согласия от владельца сети на проведения криминалистики, подключаемся к сети.
Мы можем подключится к сети через ethernet кабель или по wifi, но будьте внимательны! Я советую настроить Firewall своей системы максимально жестко! Так как после подключения к сети, в ней еще может находится злоумышленник и может пробовать взломать вашу систему. Правильная жесткая настройка Firewall поможет избежать атак и подключений к вашей системе.

После подключения перейдем к расследованию!

Анализ траффика в сети
Перехват сетевого траффика с wireshark

Wireshark - это бесплатный и с открытым исходным кодом инструмент анализа сетевого трафика. Он доступен для различных операционных систем, включая Windows, macOS и Linux. Wireshark предоставляет возможность захватывать и анализировать сетевой трафик в режиме реального времени или из файлов записи (например, файлов с расширением .pcap).

Чтобы установить Wireshark, следуйте инструкциям на официальном сайте Wireshark (https://www.wireshark.org/download.html) для вашей операционной системы.
Wireshark может перехватывать сетевые пакеты, которые проходят через сетевой интерфейс вашего компьютера. Это позволяет вам видеть, какие данные отправляются и принимаются в вашей сети. Wireshark может анализировать различные протоколы, такие как HTTP, HTTPS, TCP, UDP, DNS и многие другие.

Чтобы начать сниффинг (перехват) пакетов в Wireshark, выполните следующие шаги:
  1. Запустите Wireshark.
  2. Выберите сетевой интерфейс, через который вы хотите перехватывать трафик.
1695663484806.png
3. Нажмите кнопку "Start" или "Capture" для начала захвата пакетов.​
Учимся анализировать перехваченные пакеты
С помощью анализа сетевых пакетов в Wireshark мы получим следующую информацию:
  • Исходный и целевой IP-адреса и порты.
  • Протоколы, используемые в пакете (например, HTTP, TCP, UDP).
  • Содержимое запросов и ответов (например, веб-страницы, электронные письма).
  • Время отправки и приема пакетов.
  • Информацию о сетевых устройствах и службах.

Wireshark предоставляет множество инструментов для анализа пакетов:
  • Нам доступны детальные протокольные деревья для каждого пакета, позволяющие разбирать протоколы на различных уровнях (например, Ethernet, IP, TCP).
  • Фильтры позволяют Нам отфильтровать исследуемый трафик по различным параметрам, таким как IP-адрес, порт, протокол и другие.
  • Wireshark предоставляет множество статистических отчетов и графиков для анализа трафика.
Для анализа перехваченного пакета, кликните на него два раза:
1695664887506.png




Понимаю, что много чего вам тут не понятно, но вам надо знать только основное:
  • Дерево протоколов представляет собой иерархическую структуру, где каждый уровень представляет определенный протокол. Обычно дерево начинается с Ethernet-уровня и расширяется на более высокие уровни, такие как IP, TCP/UDP, а затем прикладные протоколы, такие как HTTP или DNS.
  • Интерпретация заголовков: В каждом уровне дерева вы можете увидеть заголовки и поля, содержащие информацию о пакете. Например, в уровне Ethernet вы найдете MAC-адреса и тип кадра, а в уровне IP - IP-адреса и другие поля, характерные для протокола IP.
  • Раскрытие уровней: Вы можете раскрывать каждый уровень дерева, чтобы увидеть дополнительные детали. Например, раскрыв уровень IP, вы увидите поля, связанные с этим протоколом, такие как исходный и целевой IP-адрес, TTL (время жизни), флаги и другие.
  • Интерпретация данных: После анализа заголовков и полей, переходите к анализу фактических данных, содержащихся в пакете. Например, в уровне HTTP вы можете увидеть запросы и ответы, содержащиеся в веб-трафике, а в уровне DNS - DNS-запросы и ответы.
  • Интерпретация флагов и кодов ошибок: Важно обратить внимание на флаги и коды ошибок, если они есть. Например, в уровне TCP вы можете увидеть флаги, указывающие на установление соединения, завершение соединения или другие состояния.
  • Использование фильтров: В Wireshark вы можете применять фильтры для ограничения отображаемой информации. Фильтры позволяют вам сконцентрироваться только на интересующем вас трафике, что делает анализ более удобным и эффективным.
  • Исследование последовательности пакетов: Для полного понимания сетевой коммуникации часто необходимо изучать несколько пакетов, а не только один. Анализ последовательности пакетов может помочь выявить особенности и взаимодействие между устройствами и протоколами.

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

Фильтры информации в Wireshark:
Простые фильтры: Wireshark позволяет применять простые фильтры по разным параметрам, таким как IP-адрес, порт, протокол и т. д. Вы можете ввести фильтр непосредственно в поле "Display Filter" в верхней части окна Wireshark. Например, вы можете ввести ip.addr == 192.168.1.1 для фильтрации пакетов, связанных с IP-адресом 192.168.1.1.
  • Сложные фильтры: Wireshark также поддерживает более сложные и комбинированные фильтры с использованием операторов, таких как and, or, not. Например, ip.src == 192.168.1.1 and tcp.port == 80 выберет только HTTP-трафик, исходящий от IP-адреса 192.168.1.1.
  • Фильтры на основе протокола: Вы можете выбирать пакеты, относящиеся к определенному протоколу, например, http для HTTP-трафика или dns для DNS-запросов.
  • Фильтры на основе адреса: Вы можете фильтровать пакеты, связанные с определенными IP-адресами или диапазонами адресов, используя фильтры вида ip.addr == 192.168.1.1 или ip.addr in 192.168.1.0/24.


Сортировка информации в Wireshark:
Wireshark позволяет сортировать отображаемые пакеты по различным критериям:
  • Сортировка по времени: По умолчанию, пакеты отображаются в хронологическом порядке. Однако вы можете изменить сортировку, щелкнув на заголовке столбца "Time" (время), чтобы увидеть пакеты, отсортированные по времени отправки/получения.
  • Сортировка по протоколу: Чтобы сгруппировать пакеты по протоколу, щелкните на заголовке столбца "Protocol" (протокол).
  • Сортировка по дополнительным параметрам: Вы можете сортировать пакеты по другим параметрам, например, по размеру пакета, номеру порта и так далее, щелкнув на соответствующем заголовке столбца.
  • Обратная сортировка: Чтобы изменить порядок сортировки на обратный, щелкните на заголовке столбца второй раз.

Как анализировать сетевую активность с помощью перехвата и анализа сетевого траффика?

Вычисление новых устройств и IP-адресов в сети:

Выявление новых устройств с помощью ARP-пакетов:​
arp Отобразить все ARP-пакеты.​
Выявление новых IP-адресов с использованием DHCP:​
bootp Отобразить все DHCP-пакеты (которые также включают BOOTP).​

Вычисление сканирований:

Обнаружение сканирования портов и сервисов с помощью TCP:​
tcp.flags.syn == 1 && tcp.flags.ack == 0 Отобразить пакеты, начинающие установку TCP-соединения, но не завершающие его.​
Поиск ICMP-запросов (ping) используемых для сканирования:​
icmp && icmp.type == 8 Отобразить ICMP Echo Request (ping) пакеты.​

Вычисление брутфорс атак:

Для протокола FTP:​
ftp.request.command == "USER" && (ftp.response.code == 331 || ftp.response.code == 530) Отобразить попытки аутентификации в FTP, включая успешные (код 331) и неудачные (код 530) попытки.​
Для протокола SSH:​
ssh && (ssh.msg_code == 1 || ssh.msg_code == 3) Отобразить SSH-пакеты с кодами 1 (SSH_MSG_DISCONNECT) и 3 (SSH_MSG_UNIMPLEMENTED), что может указывать на попытки аутентификации.​
Для протокола Telnet:​
telnet && (tcp.flags.syn == 1) && (tcp.flags.ack == 0) Отобразить попытки установки Telnet-соединения.​
Для протокола HTTP:​
http.request.method == "POST" && http.request.uri contains "login" Отобразить HTTP-запросы, содержащие ключевое слово "login", что может указывать на попытки аутентификации.​
Для протокола SMB (Server Message Block):​
smb.command == 0x73 Отобразить SMB-запросы для аутентификации.​
Для протокола RDP (Remote Desktop Protocol):​
rdp.negotiation.request && rdp.negotiation.request == "NegReq" Отобразить запросы на установку RDP-соединения.​
Вычисление использования эксплоитов:
HTTP-запросы с аномальными URL:​
http.request.uri contains "../" || http.request.uri contains "..%2f" Отобразить HTTP-запросы с аномальными URL, которые могут указывать на попытки обхода директорий (Directory Traversal).​
HTTP-запросы на неправильные или несуществующие страницы:​
http.response.code == 404 Отобразить HTTP-ответы с кодом 404 (Not Found), что может указывать на попытки запросов несуществующих страниц.​
Аномальные SQL-запросы в HTTP-трафике:​
http.request.uri contains "select" || http.request.uri contains "union" || http.request.uri contains "concat" Отобразить HTTP-запросы, содержащие аномальные SQL-конструкции, которые могут указывать на SQL-инъекции.​
DNS-запросы на подозрительные домены:​
dns.qry.name matches "(paypal|bank|login|admin|sensitive)\.com" Отобразить DNS-запросы для доменов, содержащих ключевые слова, связанные с фишингом или атаками.​
FTP-запросы с аномальными командами:​
ftp.command matches "(STOR|DELE|RNFR|MKD|…)" Отобразить FTP-запросы с аномальными командами, которые могут указывать на попытки внесения изменений или загрузки файлов.​
SMTP-запросы на нестандартных портах:​
smtp && !(tcp.port == 25) Отобразить SMTP-трафик на портах, отличных от стандартного 25, что может указывать на попытки обхода правил.​
SSH-пакеты с неправильными версиями:​
ssh && ssh.version != "SSH-2.0-" Отобразить SSH-пакеты с неправильной версией, что может быть связано с попытками атаки на устаревшие протоколы.​
SMB-запросы с аномальными командами:​
smb.command == 0xff Отобразить SMB-запросы с неизвестными или аномальными командами.​
RDP-пакеты с аномальными сеансами:​
rdp.rdpNegReq.requestedProtocols == "SSL" || rdp.rdpNegReq.requestedProtocols == "TLS" Отобразить RDP-пакеты, запрашивающие использование небезопасных протоколов.​
HTTP-пакеты с большими заголовками:​
http.request or http.response and frame.len > 1500 Отобразить HTTP-пакеты с аномально большими заголовками, что может быть признаком HTTP-отправки эксплоита.​
ICMP-пакеты с аномальными кодами:​
icmp.type == 3 && icmp.code == 4 Отобразить ICMP Destination Unreachable пакеты с кодом 4, что может быть связано с атаками.​
Вычисление L2 атак:
ARP-пакеты с измененными MAC-адресами:​
arp && arp.src.hw_mac != arp.src.hw_mac Отобразить ARP-пакеты, в которых MAC-адрес отправителя отличается от фактического MAC-адреса отправителя.​
ARP-пакеты с измененными IP-адресами:​
arp && arp.src.proto_ipv4 != arp.src.proto_ipv4 Отобразить ARP-пакеты, в которых IP-адрес отправителя отличается от фактического IP-адреса отправителя.​
Дублированные MAC-адреса:​
eth.addr == <дублированный_MAC_адрес> Отобразить пакеты с указанным дублированным MAC-адресом.​
Изменение маршрутизации:​
arp.opcode == 2 && arp.src.hw_mac != arp.src.hw_mac Отобразить ARP-пакеты с операцией "ARP Reply", в которых MAC-адрес отправителя отличается от фактического MAC-адреса отправителя.​
Несколько записей ARP для одного IP-адреса:​
arp.proto_ipv4 == <целевой_IP_адрес> && arp.src.hw_mac != <правильный_MAC_адрес> Отобразить ARP-пакеты для указанного IP-адреса, в которых MAC-адрес отправителя отличается от ожидаемого.​
Аномальные ICMP Redirect-пакеты:​
icmp.type == 5 && icmp.code == 1 Отобразить ICMP Redirect пакеты с кодом 1 (Redirect for Network), которые могут использоваться в MITM-атаках.​
HTTP-запросы с измененным Host-заголовком:​
http.host != <ожидаемый_Host_заголовок> Отобразить HTTP-запросы с Host-заголовком, отличным от ожидаемого, что может быть признаком атаки на HTTP-уровне.​
DNS-запросы на неправильный DNS-сервер:​
dns.qry.name != <ожидаемый_DNS_сервер> Отобразить DNS-запросы, направленные на DNS-сервер, отличный от ожидаемого.​
ARP Caching Poisoning:​
arp.opcode == 2 && arp.src.proto_ipv4 != <ожидаемый_IP_адрес> Отобразить ARP-пакеты с операцией "ARP Reply", в которых IP-адрес отправителя отличается от ожидаемого.​


Использование инструментов для сбора информации об IP адресах
Перейдем к анализу активных IP адресов в сети, важно помнить – что на момент наличия нашей системы в сети, здесь еще может быть система злоумышленника подключенная через wifi, ethernet или VPN. Займемся определением этой системы (или систем) и сбором информации об ней.
С помощью сканирования активных IP адресов, можно определить левые и подозрительные IP адреса в сети. Также в случае с кейсом серого ящика, мы можем взять список IP адрес (иногда статических) и сравнить их с текущими IP адресами, тем самым найти отличающиеся левые IP адреса.

Определение левых IP адресов в сети
Будем использовать несколько инструментов для поиска левых подсетей и левых IP адрес.

Advanced IP Scanner – удобный инструмент для определения IP адресов и подсетей.
Скачать
View hidden content is available for registered users!
 
Сверху Снизу