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
Если кратко – это расследование взломов, анализ взломанных систем.
Этот этап расследования активно используют спецслужбы в криминалистике и построении криминалистической цепочки для конечного выхода на атакующего хакера или группировку хакеров.
Процесс обнаружения и анализа угроз включает эти шаги:
- Обнаружение инцидента, взлома
- Оценка критичности инцидента
- Изоляция зараженных систем и ликвидация угрозы
- Сбор данных и анализ угроз, слабых мест в атакуемых системах
- Восстановление систем и улучшение безопасности
Актуальность сетевого 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
Wireshark - это бесплатный и с открытым исходным кодом инструмент анализа сетевого трафика. Он доступен для различных операционных систем, включая Windows, macOS и Linux. Wireshark предоставляет возможность захватывать и анализировать сетевой трафик в режиме реального времени или из файлов записи (например, файлов с расширением .pcap).
Чтобы установить Wireshark, следуйте инструкциям на официальном сайте Wireshark (https://www.wireshark.org/download.html) для вашей операционной системы.
Wireshark может перехватывать сетевые пакеты, которые проходят через сетевой интерфейс вашего компьютера. Это позволяет вам видеть, какие данные отправляются и принимаются в вашей сети. Wireshark может анализировать различные протоколы, такие как HTTP, HTTPS, TCP, UDP, DNS и многие другие.
Чтобы начать сниффинг (перехват) пакетов в Wireshark, выполните следующие шаги:
- Запустите Wireshark.
- Выберите сетевой интерфейс, через который вы хотите перехватывать трафик.
3. Нажмите кнопку "Start" или "Capture" для начала захвата пакетов.
Учимся анализировать перехваченные пакеты
С помощью анализа сетевых пакетов в Wireshark мы получим следующую информацию:- Исходный и целевой IP-адреса и порты.
- Протоколы, используемые в пакете (например, HTTP, TCP, UDP).
- Содержимое запросов и ответов (например, веб-страницы, электронные письма).
- Время отправки и приема пакетов.
- Информацию о сетевых устройствах и службах.
Wireshark предоставляет множество инструментов для анализа пакетов:
- Нам доступны детальные протокольные деревья для каждого пакета, позволяющие разбирать протоколы на различных уровнях (например, Ethernet, IP, TCP).
- Фильтры позволяют Нам отфильтровать исследуемый трафик по различным параметрам, таким как IP-адрес, порт, протокол и другие.
- Wireshark предоставляет множество статистических отчетов и графиков для анализа трафика.
Понимаю, что много чего вам тут не понятно, но вам надо знать только основное:
- Дерево протоколов представляет собой иерархическую структуру, где каждый уровень представляет определенный протокол. Обычно дерево начинается с 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!