นิติวิทยาศาสตร์เครือข่ายและหน่วยความจำ
เก็บรวบรวมและวิเคราะห์ข้อมูลบันทึกแพ็กเก็ต (pcap) และข้อมูลดัมป์หน่วยความจำ เพื่อสร้างเส้นทางการสื่อสารของผู้โจมตีขึ้นใหม่และระบุมัลแวร์ที่ซ่อนอยู่ใน RAM
นิติวิทยาศาสตร์เครือข่ายและหน่วยความจำ เป็นบทเรียน Security+ Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Security+ Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Security+ Academy มีบทเรียนทั้งหมด 4 บทเรียน
ภาพรวมการพิสูจน์หลักฐานเครือข่าย
การพิสูจน์หลักฐานเครือข่ายรวบรวมและวิเคราะห์ทราฟฟิกเครือข่ายเพื่อสร้างภาพการสื่อสารของผู้โจมตีขึ้นใหม่ ระบุการเคลื่อนที่ภายในเครือข่าย และตรวจจับการลักลอบนำข้อมูลออกไป แตกต่างจากการพิสูจน์หลักฐานบนอุปกรณ์ปลายทาง ซึ่งตรวจสอบหลักฐานที่อาจถูกแก้ไขบนโฮสต์ที่ถูกบุกรุก เพราะผู้โจมตีเปลี่ยนแปลงหลักฐานเครือข่ายได้ยากกว่าในภายหลัง — ผู้โจมตีไม่สามารถลบแพ็กเก็ตที่ถูกบันทึกโดยอุปกรณ์ดักจับเครือข่ายหรือระบบตรวจสอบโฟลว์ไปแล้วแบบย้อนหลังได้ การพิสูจน์หลักฐานเครือข่ายช่วยเสริมการพิสูจน์หลักฐานบนอุปกรณ์ปลายทาง เพื่อให้เห็นภาพการโจมตีอย่างครบถ้วน
พื้นฐานการดักจับแพ็กเก็ต
การดักจับแพ็กเก็ต (PCAP)บันทึกทราฟฟิกเครือข่ายทั้งหมดในระดับแพ็กเก็ต รวมถึงเนื้อหาข้อมูลเต็มรูปแบบ เครื่องมือที่ใช้ได้แก่ Wireshark (ทำงานผ่าน GUI และใช้งานกันอย่างแพร่หลาย), 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 tunneling (ชื่อโดเมนย่อยที่ยาวผิดปกติหรือมีค่า entropy สูง ซึ่งใช้ลักลอบนำข้อมูลออกไป) และการสอบถามไปยังโดเมนที่เชื่อมโยงกับตระกูลมัลแวร์ที่รู้จัก มักมีการบันทึก 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
ช่องทาง Command and Control (C2) ระหว่างเซิร์ฟเวอร์ที่ผู้โจมตีควบคุมกับระบบที่ถูกบุกรุกจะมีรูปแบบเฉพาะ การส่งสัญญาณบีคอนทำให้เกิดการเชื่อมต่อเป็นช่วงเวลาอย่างสม่ำเสมอ (เช่น ทุก 30 วินาที) ซึ่งระบุได้ใน NetFlow จากแพ็กเก็ตขนาดเล็กจำนวนมากที่ส่งไปยัง IP ภายนอกเดียวกันตามช่วงเวลาที่สม่ำเสมอ Jitter จะเพิ่มการสุ่มให้กับช่วงเวลาของบีคอนเพื่อหลบเลี่ยงการตรวจจับ นักวิเคราะห์มองหาความสม่ำเสมอทางสถิติของช่วงเวลาการเชื่อมต่อ เพื่อระบุการส่งสัญญาณบีคอนท่ามกลางทราฟฟิกเว็บปกติที่มีจำนวนมาก
# 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 (โอเพนซอร์ส) เป็นเครื่องมือมาตรฐานของอุตสาหกรรมสำหรับการวิเคราะห์หน่วยความจำ ความสามารถสำคัญ ได้แก่ การแสดงรายการโพรเซสที่กำลังทำงานและความสัมพันธ์ระหว่างโพรเซสแม่กับโพรเซสลูก การระบุโค้ดที่ถูกฉีดเข้าไปในโพรเซสที่ Legitimate การดึงการเชื่อมต่อเครือข่ายที่ Open อยู่ขณะเก็บข้อมูล การกู้คืนเนื้อหากลุ่มรีจิสทรีจากหน่วยความจำ และการดึงคีย์เข้ารหัสที่เก็บอยู่ใน 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 สามารถระบุได้ การฉีดโพรเซส (โค้ดที่ถูกฉีดเข้าไปในโพรเซสที่ Legitimate เช่น svchost.exe) จะปรากฏเป็น regions ของหน่วยความจำที่มี permissions สำหรับการ Execute ในโพรเซสซึ่งโดยปกติไม่ควรมี permissions ดังกล่าว โพรเซสแบบ Hollow (โพรเซส Legitimate ที่ทำหน้าที่เป็นเปลือกและมีโค้ดที่เป็นอันตรายเข้ามาแทนที่โค้ดเดิม) จะแสดงความไม่สอดคล้องกันระหว่างชื่อโพรเซสกับโค้ดจริงในหน่วยความจำ รูตคิตระดับเคอร์เนลอาจซ่อนโพรเซสจากรายการโพรเซสได้ แต่ 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 (Local Security Authority Subsystem Service) เพื่อรองรับการลงชื่อเข้าใช้ครั้งเดียว เครื่องมืออย่าง 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 — การบรรจบกันของหลักฐานเหล่านี้ช่วยระบุแหล่งที่มาของกิจกรรมที่เป็นอันตรายด้วยความมั่นใจสูง และสนับสนุนการสร้างลำดับเรื่องราวการโจมตีที่ครบถ้วน
Network Time Protocol (NTP) และความถูกต้องของการประทับเวลา
การประทับเวลาที่ถูกต้องมีความจำเป็นต่อการเชื่อมโยงหลักฐานการพิสูจน์หลักฐานจากเครือข่ายและอุปกรณ์ปลายทาง หากนาฬิกาของเซิร์ฟเวอร์คลาดเคลื่อนจากนาฬิกาของไฟร์วอลล์ 15 นาที การเชื่อมโยงเหตุการณ์ด้วยการประทับเวลาจะสร้างลำดับเวลาที่ไม่ถูกต้อง ความน่าเชื่อถือของหลักฐานการพิสูจน์หลักฐานเครือข่ายขึ้นอยู่กับการซิงโครไนซ์เวลาของอุปกรณ์ที่สร้างบันทึก องค์กรต้องกำหนดค่า NTP (Network Time Protocol) ให้สอดคล้องกันในอุปกรณ์ทั้งหมดที่เกี่ยวข้องกับความปลอดภัย และบันทึกความคลาดเคลื่อนของเวลาที่ทราบซึ่งค้นพบระหว่างการตรวจสอบ
# 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 ทำให้นักวิเคราะห์การพิสูจน์หลักฐานเครือข่ายไม่สามารถอ่านเนื้อหาข้อมูลโดยตรงได้ อย่างไรก็ตาม ทราฟฟิกที่เข้ารหัสยังเปิดเผยเมทาดาทาได้ เช่น รูปแบบช่วงเวลาการเชื่อมต่อ (การส่งสัญญาณบีคอน) ความผิดปกติของใบรับรอง (ใบรับรองที่ลงนามด้วยตนเองจากโครงสร้างพื้นฐานของผู้โจมตี และฟิลด์ 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 เพื่อตรวจจับการฉีดโพรเซส ดึงการเชื่อมต่อเครือข่าย และระบุมัลแวร์ที่ซ่อนอยู่ในโพรเซสที่ Legitimate ขอแสดงความยินดีที่เรียนจบโมดูลการพิสูจน์หลักฐาน ต่อไปคือการจัดการความเสี่ยงและกรอบงานความปลอดภัย
คำถามที่พบบ่อย
บทเรียน “นิติวิทยาศาสตร์เครือข่ายและหน่วยความจำ” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “นิติวิทยาศาสตร์เครือข่ายและหน่วยความจำ” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Security+ Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Security+ Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “นิติวิทยาศาสตร์เครือข่ายและหน่วยความจำ”
เก็บรวบรวมและวิเคราะห์ข้อมูลบันทึกแพ็กเก็ต (pcap) และข้อมูลดัมป์หน่วยความจำ เพื่อสร้างเส้นทางการสื่อสารของผู้โจมตีขึ้นใหม่และระบุมัลแวร์ที่ซ่อนอยู่ใน RAM คุณปฏิบัติ Security+ Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Security+ Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Security+ Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน
บทเรียน “นิติวิทยาศาสตร์เครือข่ายและหน่วยความจำ” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Security+ Academy นี้ได้ไหม
ได้ บทเรียน Security+ Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- ลำดับความผันผวนและการเก็บรวบรวมหลักฐาน
- สายโซ่การครอบครองหลักฐานและการรับฟังในศาล
- วัตถุพยานทางนิติวิทยาศาสตร์ของ Windows: รีจิสทรี บันทึกเหตุการณ์ และ Prefetch
- นิติวิทยาศาสตร์เครือข่ายและหน่วยความจำ