VulnCity

چه زمانی از شبکه FPC بگیریم؟

نویسنده: یاسین عابدینی · دسته: Blue-Team · تاریخ انتشار: ۱۴۰۵/۳/۱۶

Full Packet Capture (FPC) — راهنمای عملی تیم Blue Team

چرا FPC برای Blue Team حیاتی است؟

لاگ‌های سیستمی و SIEM Alert تنها یک روایت ناقص از حادثه ارائه می‌دهند. FPC حقیقت شبکه است — هر بایتی که منتقل شده، هر اتصالی که برقرار شده، هر فایلی که دانلود شده. در تحلیل APT، اثبات نقض داده، و شکار تهدید، FPC اغلب تنها منبع قابل اعتماد است.

۱. سناریوهای کاربردی برای Blue Team

۱.۱ رصد دستگاه‌های بدون Agent

در بسیاری از محیط‌های سازمانی، نصب EDR یا هر Agent دیگری امکان‌پذیر نیست:

  • OT/ICS — PLCها، SCADA Serverها، HMIها با سیستم‌عامل اختصاصی
  • تجهیزات شبکه — سوئیچ‌ها، روترها، فایروال‌های Legacy
  • دستگاه‌های پزشکی و صنعتی — اغلب سیستم‌عامل‌های Embedded دارند
  • دستگاه‌های IoT/OT — دوربین‌های IP، سنسورها، کنترلرها
  • سیستم‌های EoL — Windows XP/2003 که هنوز در برخی محیط‌ها فعال هستند

برای این دستگاه‌ها، FPC تنها روش مشاهده رفتار شبکه است. یک TAP یا SPAN Port روی سوئیچ متصل، و Arkime Capture شروع به ضبط می‌کند.

۱.۲ Incident Response — FPC موقت (Ad-hoc)

وقتی Alert در SIEM فعال می‌شود، تیم IR نیاز دارد چه اتفاقی افتاده را بداند، نه فقط که اتفاق افتاده. FPC موقت به این شکل اجرا می‌شود:

  1. تشخیص سگمنت یا IP مشکوک از روی Alert اولیه
  2. فعال‌سازی SPAN Port روی سوئیچ مربوطه
  3. اجرای Arkime Capture برای بازه زمانی مشخص (معمولاً ۲۴ تا ۷۲ ساعت)
  4. جمع‌آوری PCAP و تحلیل
  5. غیرفعال‌سازی SPAN و توقف Capture پس از جمع‌آوری شواهد

نکته عملی: یک سرور FPC موقت آماده داشته باشید (مثلاً یک VM با ۸ TB دیسک) که بتوانید در کمتر از ۳۰ دقیقه آن را روی هر سگمنتی Deploy کنید. این زمان در IR حیاتی است.

۱.۳ تحلیل APT و استخراج IOC

در حملات پیشرفته، مهاجم سعی می‌کند In the Land بماند و از ابزارهای بومی سیستم‌عامل استفاده کند. FPC اجازه می‌دهد:

  • بازسازی فایل‌های منتقل‌شده — File Carving از HTTP، FTP، SMB، SMTP
  • شناسایی C2 Communication — الگوهای Beaconing، Domain Generation Algorithm (DGA)
  • استخراج TLS Fingerprint — JA3/JA3S برای شناسایی نرم‌افزار مخرب
  • تحلیل DNS Tunneling — حجم غیرعادی Query، Entropy بالای Subdomain
  • کشف Data Exfiltration — انتقال حجم زیاد به IP خارجی در ساعات غیرکاری

۱.۴ Threat Hunting پیش‌گیرانه

FPC نه‌فقط برای پاسخ به حادثه، بلکه برای شکار تهدید نیز کاربرد دارد:

  • جستجو برای Known Bad IOC در ترافیک تاریخی
  • شناسایی Lateral Movement از طریق گراف ارتباطات
  • بررسی پروتکل‌های غیرمعمول روی پورت‌های استاندارد (HTTP روی پورت 443)
  • تحلیل ترافیک رمزشده بر اساس متادیتا و رفتار بدون Decrypt کردن

۱.۵ اثبات دیجیتال (Digital Forensics)

PCAP فایل به عنوان مدرک قانونی قابل استفاده است. در صورت نیاز به گزارش‌دهی به مراجع قانونی یا اعلام نقض داده، PCAP chain of custody را حفظ می‌کند.

۲. معماری Arkime برای Blue Team

اجزای اصلی

Arkime Capture

سرویس اصلی ضبط. ترافیک را از Interface یا SPAN دریافت می‌کند، فایل‌های PCAP را روی دیسک ذخیره می‌کند و متادیتا را به OpenSearch ارسال می‌کند. از libpcap و AF_PACKET برای کارایی بالا استفاده می‌کند.

OpenSearch / Elasticsearch

موتور ذخیره و جستجوی متادیتا. تمام فیلدهای پارس‌شده (IP، پورت، پروتکل، User-Agent، DNS Query و...) ایندکس می‌شوند. در محیط‌های بزرگ می‌توان Cluster چند نودی راه‌اندازی کرد.

Arkime Viewer

رابط وب روی پورت 8005. جستجوی سریع روی متادیتا، بازیابی PCAP اصلی و نمایش گراف ارتباطات را فراهم می‌کند.

توپولوژی توصیه‌شده برای محیط سازمانی


  [Core Switch]
       |
  [SPAN/TAP]
       |
  [Arkime Capture Server] ─── [NAS/SAN Storage]
       |
  [OpenSearch Cluster]
       |
  [Arkime Viewer] ─── [SOC Analyst Workstation]
       |
  [SIEM Integration]
  

۳. مراحل نصب Arkime

مرحله ۱ — پیش‌نیازها

# نصب پیش‌نیازهای سیستم (RHEL/CentOS/Rocky)
dnf install -y libpcap libpcap-devel wget curl java-11-openjdk

# تنظیم Kernel برای بهبود عملکرد Capture
echo "net.core.rmem_max=134217728" >> /etc/sysctl.conf
echo "net.core.netdev_max_backlog=250000" >> /etc/sysctl.conf
sysctl -p

مرحله ۲ — نصب OpenSearch

wget https://artifacts.opensearch.org/releases/bundle/opensearch/2.x.x/opensearch-2.x.x-linux-x64.tar.gz
tar xzf opensearch-*.tar.gz -C /opt/
mv /opt/opensearch-* /opt/opensearch
# /opt/opensearch/config/opensearch.yml
cluster.name: arkime-cluster
node.name: arkime-node-1
network.host: 0.0.0.0
discovery.type: single-node
plugins.security.disabled: true
cd /opt/opensearch/bin
./opensearch -d -p /tmp/opensearch.pid

# بررسی سلامت
curl -s http://localhost:9200/_cluster/health | python3 -m json.tool

مرحله ۳ — نصب Arkime

# دریافت آخرین نسخه از GitHub Releases
wget https://github.com/arkime/arkime/releases/download/v5.x.x/arkime-5.x.x-1.el9.x86_64.rpm
rpm -ivh arkime-*.rpm

مرحله ۴ — پیکربندی اصلی

# /etc/arkime/config.ini

[default]
# اتصال به OpenSearch
elasticsearch=http://localhost:9200

# Interface مورد نظر برای Capture
interface=eth0

# مسیر ذخیره PCAP
pcapDir=/opt/arkime/raw

# حداکثر اندازه هر فایل PCAP (گیگابایت)
maxFileSizeG=10

# حداکثر زمان هر فایل PCAP (دقیقه)
maxFileTimeM=60

# Threshold پاک‌سازی خودکار (درصد فضای آزاد)
freeSpaceG=10%

# حداکثر زمان نگهداری Session (ثانیه)
tcpTimeout=600
udpTimeout=30
icmpTimeout=10

# BPF Filter برای حذف ترافیک مدیریتی
bpf=not port 22 and not host 192.168.1.1

# تعداد Thread برای Capture
packetThreads=4

مرحله ۵ — راه‌اندازی اولیه

# ایجاد Schema در OpenSearch
/opt/arkime/db/db.pl http://localhost:9200 init

# ایجاد کاربر Admin
/opt/arkime/bin/arkime_add_user.sh admin "Admin User" STRONGPASSWORD --admin

# راه‌اندازی سرویس‌ها
systemctl enable --now arkimecapture.service
systemctl enable --now arkimeviewer.service

# بررسی وضعیت
systemctl status arkimecapture.service
systemctl status arkimeviewer.service

مرحله ۶ — تست اتصال

# بررسی لاگ Capture
journalctl -u arkimecapture.service -f

# دسترسی به Viewer
# http://ARKIME-SERVER-IP:8005

۴. تب‌های Arkime Viewer — راهنمای عملی

Sessions — قلب تحلیل

نمای اصلی تمام جلسات ضبط‌شده. هر ردیف یک مکالمه شبکه‌ای کامل است. کاربرد در Blue Team:

  • جستجو با Arkime Query Language: ip.dst == 185.x.x.x && protocols == "http"
  • فیلتر بر اساس GeoIP برای شناسایی ارتباط با کشورهای مشکوک
  • دانلود PCAP یک Session خاص برای تحلیل در Wireshark
  • مشاهده Tags و علامت‌گذاری Session‌های مشکوک

SPI View — شناسایی ناهنجاری

تمام مقادیر یکتا برای هر فیلد نمایش داده می‌شود. کاربرد در Blue Team:

  • مشاهده تمام User-Agentهای منحصربه‌فرد → شناسایی ابزارهای مخرب
  • بررسی تمام DNS Queryها → شناسایی DGA Domain و DNS Tunneling
  • لیست تمام Certificate Issuerها → شناسایی Self-Signed Certificate مشکوک
  • مرور HTTP URIها → شناسایی مسیرهای C2

SPI Graph — تحلیل زمانی و جغرافیایی

نمودار ترافیک در طول زمان و روی نقشه جهانی. کاربرد در Blue Team:

  • شناسایی Beaconing Pattern — spike منظم در بازه‌های زمانی یکسان
  • تشخیص کشورهای مقصد غیرمعمول برای سازمان
  • مقایسه ترافیک ساعات کاری و غیرکاری

Connections — نقشه حرکت مهاجم

گراف بصری ارتباطات بین نودها. کاربرد در Blue Team:

  • شناسایی Lateral Movement — یک IP که به IP‌های زیاد در شبکه داخلی متصل شده
  • تشخیص Command and Control — یک نود خارجی که چندین سیستم داخلی به آن وصل می‌شوند
  • رسم Kill Chain از ابتدا تا انتها

Hunt — شکار تهدید هدفمند

جستجو در محتوای Payload بسته‌ها. کاربرد در Blue Team:

  • جستجوی Known Malware String: powershell -enc، cmd.exe /c
  • تطابق با Yara Rule روی محتوای ترافیک
  • جستجوی Hash فایل مشکوک در داده‌های منتقل‌شده
  • بررسی Payload برای رشته‌های مشخص C2 Framework مانند Cobalt Strike، Metasploit
# مثال: Hunt برای PowerShell Encoded Command
# Pattern: powershell.*-enc
# Source: http.body, http.request-body

Files — مدیریت PCAP

مشاهده تمام فایل‌های PCAP ذخیره‌شده. مفید برای بررسی سیاست Retention و اطمینان از عدم وجود Gap در ضبط.

Stats — سلامت سیستم

مانیتورینگ عملکرد نودهای Capture. مهم‌ترین متریک برای Blue Team: ستون Dropped Packets. هر عددی بیشتر از صفر یعنی بخشی از ترافیک ضبط نشده — این Gap می‌تواند کور بودن شما در برابر بخشی از حمله باشد.

History — Audit Trail

ثبت تمام اقدامات کاربران. برای بررسی اینکه چه کسی چه Session‌هایی را دیده یا چه PCAPهایی را دانلود کرده، حیاتی است.

۵. یکپارچه‌سازی با اکوسیستم SOC

ارسال Metadata به SIEM

# ارسال لاگ به Syslog (برای Wazuh/Splunk/QRadar)
# در config.ini اضافه کنید:
syslog=LOG_INFO

# یا استفاده از Filebeat برای ارسال به Elasticsearch/SIEM
# پیکربندی Filebeat برای خواندن لاگ Arkime

یکپارچه‌سازی با MISP (Threat Intelligence)

# استخراج IOC از Arkime و ارسال به MISP با API
curl -X POST http://ARKIME:8005/api/sessions/csv \
  -H "Authorization: Bearer TOKEN" \
  -d 'expression=ip.dst==185.x.x.x' \
  | python3 misp_import.py

اتصال به TheHive برای Case Management

PCAP فایل‌های مربوط به یک Case را مستقیم به TheHive Attach کنید تا تمام اعضای تیم IR به آن دسترسی داشته باشند.

یکپارچه‌سازی با Zeek

Zeek می‌تواند همزمان با Arkime روی همان Interface اجرا شود:

  • Arkime — PCAP کامل را ذخیره می‌کند
  • Zeek — لاگ‌های ساختاریافته (conn.log، dns.log، http.log) تولید می‌کند

این ترکیب بهترین پوشش را می‌دهد: لاگ سریع از Zeek و PCAP کامل از Arkime.

۶. برنامه‌ریزی ظرفیت Storage

پهنای باند شبکهاشغال واقعیذخیره روزانه (تقریبی)نگهداری ۳۰ روزه
100 Mbps30%~324 GB~9.7 TB
1 Gbps30%~3.2 TB~97 TB
10 Gbps20%~21 TB~630 TB

توصیه عملی: FPC دائمی فقط برای سگمنت‌های حساس (DMZ، شبکه مدیریت، DC) راه‌اندازی کنید. برای باقی شبکه از NetFlow استفاده کنید و FPC را فقط در صورت نیاز فعال کنید.

سیاست‌های Retention

  • DMZ / Internet-Facing — ۳۰ روز (خطر بالا، حجم معقول)
  • شبکه داخلی حساس (DC، پایگاه داده) — ۱۴ روز
  • شبکه کاربری عمومی — ۷ روز یا فقط در IR
  • PCAP مربوط به Incident — نامحدود (Archive کنید)

۷. امنیت خود Arkime

  • دسترسی به پورت 8005 فقط از شبکه مدیریت یا VPN
  • فعال‌سازی HTTPS با Certificate معتبر
  • تعریف RBAC: Analyst فقط Session می‌بیند، Senior Analyst PCAP دانلود می‌کند، Admin تنظیمات دارد
  • رمزگذاری دیسک برای PCAP — این فایل‌ها حاوی اطلاعات بسیار حساس هستند
  • Audit Log را به SIEM ارسال کنید تا هر دانلود PCAP رصد شود

۸. مقایسه FPC با سایر روش‌های جمع‌آوری داده

روشجزئیاتStorageتحلیل Payloadمناسب برای
FPC / Arkimeکاملبسیار زیاد✅ کاملIR، APT، Forensics
NetFlow / IPFIXمتادیتاکمرصد مداوم، Baseline
Zeek LogsساختاریافتهمتوسطجزئیDetection، Hunting
EDR Network EventsProcess-levelمتوسطEndpoint IR
NDR (مثل Darktrace)رفتاریکمجزئیAnomaly Detection

۹. Workflow عملی Blue Team با Arkime

سناریو: Alert مشکوک از SIEM

  1. دریافت Alert: SIEM: "ارتباط با IP مخرب شناخته‌شده از HOST-X"
  2. جستجو در Arkime:
    ip.src == HOST-X-IP && ip.dst == MALICIOUS-IP
  3. بررسی Session: بازه زمانی، پروتکل، حجم داده منتقل‌شده
  4. دانلود PCAP: کلیک روی Session → Download PCAP
  5. تحلیل در Wireshark: بازسازی جریان، استخراج فایل‌های منتقل‌شده
  6. SPI View: بررسی سایر ارتباطات HOST-X برای Lateral Movement
  7. Connections Graph: آیا HOST-X به سیستم‌های دیگر نیز متصل شده؟
  8. Hunt: جستجوی IOC استخراج‌شده در کل ترافیک شبکه
  9. مستندسازی: Export نتایج و Attach به Case در TheHive

سناریو: Threat Hunting پیش‌گیرانه

  1. دریافت TIP Feed — لیست IOCهای جدید از MISP/OpenCTI
  2. جستجوی IP/Domain/Hash در Arkime برای ۳۰ روز گذشته
  3. بررسی JA3/JA3S Fingerprint ابزارهای مخرب شناخته‌شده
  4. تحلیل DNS Query با Entropy بالا برای DNS Tunneling
  5. بررسی ترافیک خروجی غیرمعمول در ساعات ۲۲:۰۰ تا ۰۶:۰۰

۱۰. ابزارهای مکمل

  • Zeek — لاگ‌های ساختاریافته شبکه، مکمل ایده‌آل Arkime
  • Suricata — IDS/IPS که می‌تواند روی PCAP Arkime اعمال شود
  • Wireshark — تحلیل عمیق PCAP خروجی Arkime
  • MISP — ثبت IOC استخراج‌شده از FPC
  • TheHive — Case Management برای IR
  • Arkime Official — مستندات رسمی و آخرین نسخه

جمع‌بندی

FPC و Arkime یک لایه دید شبکه‌ای فراهم می‌کنند که هیچ ابزار دیگری نمی‌تواند جایگزین آن شود. استراتژی بهینه برای Blue Team این است: NetFlow برای رصد دائمی کل شبکه، FPC دائمی فقط برای سگمنت‌های حساس، و FPC موقت برای هر Incident فعال. این ترکیب بهترین تعادل بین دید کامل و هزینه ذخیره‌سازی را ایجاد می‌کند.