Сетевая и оперативная криминалистика
Собирайте и анализируйте захваты пакетов (pcap) и дампы памяти, чтобы восстановить коммуникации злоумышленников и обнаружить вредоносное ПО, скрывающееся в RAM.
«Сетевая и оперативная криминалистика» — бесплатный урок Security+ Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Security+ Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Security+ Academy содержит 4 уроков всего.
Обзор сетевой криминалистики
Сетевая криминалистика перехватывает и анализирует сетевой трафик, чтобы восстановить коммуникации Attacker, выявить горизонтальное перемещение и обнаружить утечку данных. В отличие от криминалистики конечных устройств, которая изучает свидетельства, подвергшиеся изменениям на скомпрометированном узле, сетевые свидетельства сложнее изменить задним числом: Attacker не может удалить пакеты, которые уже были перехвачены сетевым анализатором или системой мониторинга потоков. Сетевая криминалистика дополняет криминалистику конечных устройств и позволяет получить полную картину атаки.
Основы перехвата пакетов
Перехват пакетов (PCAP) записывает весь сетевой трафик на уровне пакетов, включая полное содержимое полезной нагрузки. К таким инструментам относятся Wireshark (с графическим интерфейсом, широко используется), tcpdump (командная строка, поддерживает написание сценариев) и Zeek (ранее Bro, создает журналы на уровне протоколов из PCAP). Полный перехват пакетов требует большого объема хранилища; для высокоскоростных сетей могут понадобиться специализированные устройства перехвата. Анализ PCAP может выявить учетные данные в протоколах, передающих данные в открытом виде, шаблоны сигнальных сообщений C2, извлеченные данные и соединения, связанные с горизонтальным перемещением.
# tcpdump: capture all traffic on eth0
tcpdump -i eth0 -w /forensics/incident.pcap
# Capture only traffic to/from attacker IP
tcpdump -i eth0 host 198.51.100.10 -w /forensics/attacker.pcap
# Wireshark filter examples:
# Show HTTP GET requests: http.request.method == 'GET'
# Show DNS queries: dns.qr == 0
# Show large outbound transfers: ip.dst != 10.0.0.0/8 && tcp.len > 1000
# Show cleartext FTP creds: ftp.request.command == 'PASS'NetFlow и анализ трафика
NetFlow (и его эквивалент с открытым исходным кодом IPFIX) записывает метаданные о сетевых взаимодействиях без перехвата содержимого полезной нагрузки: исходный и конечный IP-адреса, исходный и конечный порты, протокол, количество байтов, количество пакетов и временные метки. NetFlow требует значительно меньше места для хранения, чем полный PCAP, и подходит для длительного хранения данных (90–365 дней). Во время криминалистического анализа NetFlow может определить, какие системы взаимодействовали в период инцидента, выявить утечку данных (по большому количеству исходящих байтов) и сигнальные сообщения C2 (регулярные небольшие соединения с внешними IP-адресами).
# Analyze NetFlow data with nfdump
# Show top talkers (by bytes) in incident time window
nfdump -r /var/cache/netflow/2026/06/20/ \
-t '2026/06/20.02:00-2026/06/20.06:00' \
-s ip/bytes -n 20
# Show all connections TO external IPs from suspicious host
nfdump -r /var/cache/netflow/ \
'src ip 10.0.1.50 and dst ip not in [10.0.0.0/8]'
# VPC Flow Logs provide similar data in cloud environmentsКриминалистический анализ DNS
Журналы DNS-запросов являются ценным источником криминалистических данных, поскольку для большинства коммуникаций C2 и загрузок вредоносных программ требуется разрешение DNS-имен. К признакам вредоносной активности DNS относятся: запросы к недавно зарегистрированным доменам или доменам с низкой репутацией, большое количество запросов к одному домену (вредоносная программа DGA перебирает множество сгенерированных имен), туннелирование DNS (необычно длинные имена поддоменов или имена с высокой энтропией, используемые для утечки данных) и запросы к доменам, связанным с известными семействами вредоносных программ. DNS часто регистрируется даже при ограниченных возможностях проверки трафика HTTP.
# DNS sinkhole detection - check for DGA domains
# DGA: malware generates random domain names to find active C2
# Indicators:
# - High volume of NXDOMAIN responses from one host
# - Domain names with high entropy (random characters)
# - Queries to .ru/.cn/.tk TLDs unusual for organization
# Wireshark filter for NXDOMAIN responses
dns.flags.rcode == 3 # NXDOMAIN
# Calculate domain entropy to find DGA
# Legitimate: google.com (low entropy)
# DGA: xk3j9pqm2v.com (high entropy)Шаблоны коммуникаций C2
Каналы командования и управления (C2) между серверами под управлением Attacker и скомпрометированными системами имеют характерные шаблоны. Сигнальные сообщения создают регулярные периодические соединения (например, каждые 30 секунд), которые в NetFlow проявляются как множество небольших пакетов, отправляемых на один и тот же внешний IP-адрес с регулярным интервалом. Случайное смещение интервалов добавляет рандомизацию к интервалам между сигнальными сообщениями, чтобы обойти обнаружение. Аналитики ищут статистическую регулярность времени соединений, чтобы обнаружить сигнальные сообщения среди обычного веб-трафика.
# Detect beaconing behavior with Zeek/RITA
# RITA (Real Intelligence Threat Analytics) analyzes Zeek logs
# Manual NetFlow beacon detection
nfdump -r /var/cache/netflow/ \
'src ip 10.0.1.50' \
-o 'fmt:%ts %sa %da %dp %byt' |
awk '{print $1}' | sort | uniq -c
# Regular intervals in the timestamp column = beaconing
# Zeek conn.log: look for many connections to same IP
# with similar connection durations and small byte countsКриминалистический анализ памяти с помощью Volatility
Криминалистический анализ памяти анализирует дампы RAM, чтобы извлечь свидетельства вредоносной активности, которых может не быть на диске. Volatility Framework (с открытым исходным кодом) является отраслевым стандартом для анализа памяти. Основные возможности: составление списка запущенных процессов и их родительско-дочерних связей, обнаружение внедренного кода в легитимных процессах, извлечение сетевых соединений, открытых на момент получения данных, восстановление содержимого кустов реестра из памяти и извлечение ключей шифрования, хранящихся в RAM.
# Volatility 3 memory analysis commands
# List running processes
vol -f memory.raw windows.pslist
# List processes showing hidden/injected processes
vol -f memory.raw windows.pstree
# Find process injection (code in wrong memory regions)
vol -f memory.raw windows.malfind
# List network connections at time of capture
vol -f memory.raw windows.netstat
# Dump a suspicious process's memory for further analysis
vol -f memory.raw windows.memmap --pid 1234 --dumpОбнаружение вредоносных программ в памяти
Вредоносные программы в памяти имеют определенные признаки, которые обнаруживают плагины Volatility. Внедрение процесса (код, внедренный в легитимный процесс, например svchost.exe) проявляется как области памяти с разрешениями на выполнение в процессе, которому обычно такие разрешения не требуются. Опустошенные процессы (оболочки легитимных процессов, в которых исходный код заменен вредоносным) демонстрируют несоответствие между именем процесса и фактическим кодом в памяти. Ядерные руткиты могут скрывать процессы из списка процессов, но Volatility обнаруживает их, сравнивая список запущенных процессов с необработанным списком структур процессов в ядре.
# Find suspicious executable memory regions (malfind output)
# Look for:
# - MZ header (PE file magic bytes: 4d 5a) in injected memory
# - Memory pages with Read+Write+Execute permissions (uncommon)
# - Code in heap or stack regions
vol -f memory.raw windows.malfind
# Output shows process, virtual address, protection flags, hex dump
# MZ in non-standard location = process injection indicator
# Compare pslist (API) vs psscan (pool scanner) to find hidden procs:
vol -f memory.raw windows.psscan # shows processes hidden from APIИзвлечение учетных данных из памяти
Криминалистический анализ памяти особенно эффективен для восстановления учетных данных. Windows хранит учетные данные в памяти процесса LSASS (подсистема локального центра авторизации) для поддержки единого входа. Такие инструменты, как Mimikatz, используют это, считывая память LSASS для извлечения паролей в открытом виде и хешей NTLM. С криминалистической точки зрения Volatility может извлечь те же сведения из дампа памяти, полученного для расследования, и показать, какие учетные данные были кэшированы в скомпрометированной системе. Это помогает определить масштаб возможного горизонтального перемещения.
# Extract cached credentials from LSASS memory (forensic use)
vol -f memory.raw windows.hashdump # extracts NTLM hashes from SAM
# Detect Mimikatz execution in memory:
vol -f memory.raw windows.malfind | grep -i lsass
# Or search for Mimikatz strings in process memory:
vol -f memory.raw windows.strings --pid <lsass_pid> |
grep -i 'mimikatz\|sekurlsa\|wdigest'
# Defense: Credential Guard (Windows 10+) moves LSASS credentials
# to a protected VTL1 hypervisor environment Mimikatz cannot accessСопоставление сетевых свидетельств и свидетельств из памяти
Наиболее эффективный криминалистический анализ объединяет сетевые свидетельства и данные из памяти. Память показывает, какие процессы выполнялись и какой код они содержали; сетевая криминалистика показывает, с чем эти процессы взаимодействовали. Если процесс, обнаруженный при анализе памяти с помощью Volatility, имеет сетевое соединение, видимое в PCAP, подключается к домену, отмеченному в журналах DNS, и соответствует внешнему IP-адресу в NetFlow, такое совпадение дает высокую степень уверенности в атрибуции вредоносной активности и помогает восстановить полную картину атаки.
Протокол сетевого времени (NTP) и точность временных меток
Точные временные метки необходимы для сопоставления сетевых свидетельств и криминалистических данных конечных устройств. Если часы сервера спешат или отстают на 15 минут относительно часов межсетевого экрана, сопоставление событий по временным меткам создает ложную последовательность событий. Надежность сетевых криминалистических данных не может быть выше надежности синхронизации времени на устройствах, создающих журналы. Организации должны настроить единообразный NTP (протокол сетевого времени) на всех устройствах, важных для безопасности, и документировать все известные расхождения времени, обнаруженные во время расследования.
# Verify NTP synchronization on Linux
timedatectl status
# Check: 'System clock synchronized: yes'
# Check: 'NTP service: active'
# Check NTP peers
ntpq -p
# * = current reference, + = candidate
# Windows NTP status
w32tm /query /status
# During incident: document the clock offset of each system
# so timestamps can be normalized in the timelineПроблемы анализа зашифрованного трафика
В большинстве современных коммуникаций C2 используется шифрование TLS, не позволяющее аналитикам сетевой криминалистики напрямую прочитать содержимое полезной нагрузки. Однако даже зашифрованный трафик раскрывает метаданные: шаблоны времени соединений (сигнальные сообщения), аномалии сертификатов (самоподписанные сертификаты инфраструктуры Attacker, несовпадающие поля CN), отпечатки JA3 (идентификация клиента TLS по отпечатку, позволяющая распознавать определенные семейства вредоносных программ независимо от назначения соединения) и необычные характеристики рукопожатия TLS. Такие инструменты, как Zeek, автоматически извлекают отпечатки JA3 из соединений TLS, что позволяет обнаруживать известные вредоносные программы без расшифровки трафика.
# Zeek extracts JA3 fingerprints from TLS connections
# ssl.log contains JA3 and JA3S hashes
# Check against known-malware JA3 database
cat ssl.log | zeek-cut ja3 ja3s server_name |
sort | uniq -c | sort -rn | head -20
# Known malware JA3 hashes (examples):
# Metasploit: 6734f37431670b3ab4292b8f60f29984
# Cobalt Strike: 72a589da586844d7f0818ce684948eea
# Reference: https://github.com/salesforce/ja3Быстрая проверка
Проверьте свое понимание концепций CompTIA Security+ (SY0-701) из этого урока.
Итоги урока
В этом уроке Вы узнали, что перехваты пакетов и NetFlow предоставляют взаимодополняющие сетевые свидетельства: PCAP показывает полное содержимое, а NetFlow — метаданные в больших масштабах, сигнальные сообщения C2 проявляются как регулярные периодические соединения, обнаруживаемые с помощью статистического анализа времени соединений, а Volatility Framework анализирует дампы RAM, чтобы обнаруживать внедрение процессов, извлекать сетевые соединения и выявлять вредоносные программы, скрывающиеся в легитимных процессах. Поздравляем с завершением модулей по криминалистике! Далее Вы изучите управление рисками и платформы безопасности.
Часто задаваемые вопросы
Урок «Сетевая и оперативная криминалистика» бесплатный?
Да — полный текст урока «Сетевая и оперативная криминалистика» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Security+ Academy, подпишись на CoddyKit PRO. Курс Security+ Academy содержит 4 уроков всего.
Чему я научусь в уроке «Сетевая и оперативная криминалистика»?
Собирайте и анализируйте захваты пакетов (pcap) и дампы памяти, чтобы восстановить коммуникации злоумышленников и обнаружить вредоносное ПО, скрывающееся в RAM. Ты практикуешь Security+ Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Security+ Academy?
Предыдущий опыт не требуется. Security+ Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.
Сколько времени занимает урок «Сетевая и оперативная криминалистика»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Security+ Academy?
Да. Каждый урок Security+ Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Порядок изменчивости и получение доказательств
- Цепочка хранения и юридическая допустимость
- Артефакты криминалистического анализа Windows: реестр, журналы событий и Prefetch
- Сетевая и оперативная криминалистика