Cyberdefenders: Malware Traffic Analysis 2 Challenge

Nov 24 2022
เรามาดำดิ่งสู่ความท้าทายการวิเคราะห์ทราฟฟิกมัลแวร์ 2 เราจะเรียนรู้เครื่องมือทั่วไปและเครื่องมือใหม่ในการวิเคราะห์ไฟล์ pcap และยังใช้กฎ Suricata ที่พบใน Brim เพื่อระบุโทรจันที่เป็นอันตราย เริ่มกันเลย! คำถามที่ 1: ที่อยู่ IP ของ Windows VM ที่ติดไวรัสคืออะไร โดยใช้ NetworkMiner — เราสามารถดูที่ส่วนโฮสต์และจัดเรียงผลลัพธ์ตามที่อยู่ IP

เรามาดำดิ่งสู่ความท้าทายในการวิเคราะห์ทราฟฟิกมัลแวร์ 2
เราจะเรียนรู้เครื่องมือทั่วไปและเครื่องมือใหม่ในการวิเคราะห์ไฟล์ pcap และใช้กฎ Suricata ที่พบใน Brim เพื่อระบุโทรจันที่
เป็นอันตราย เริ่มกันเลย!

คำถามที่ 1: ที่อยู่ IP ของ Windows VM ที่ติดไวรัสคืออะไร
ด้วยการใช้ NetworkMiner — เราสามารถดูที่ส่วนโฮสต์และจัดเรียงผลลัพธ์ตามที่อยู่ IP
เมื่อเราดูผลลัพธ์และค้นหาที่อยู่ IP ส่วนตัว เราสามารถสังเกตเห็นที่อยู่ IP 172.16.165.132 ด้วยหน้าต่างระบบปฏิบัติการ และนี่คือคำตอบ

มิฉะนั้น เราสามารถตรวจสอบ Wireshark สำหรับที่อยู่ IP ทั้งหมดที่เป็นส่วนหนึ่งของช่วง IP ส่วนตัวและสำหรับโปรโตคอล DNS:
ด้วยวิธีนี้ เราสามารถค้นหา IP ต้นทางที่สอบถามสำหรับการแปลโดเมนและผู้ที่ตอบคำถามนั้น:

(ip.src == 10.0.0.0/8 or ip.src == 172.16.0.0/12 or ip.src == 192.168.0.0/24) && dns

      
                

คำตอบ: 172.16.165.132

คำถามที่ 2 — ที่อยู่ MAC ของ VM ที่ติดไวรัสคืออะไร

โดยใช้เครื่องมือเดียวกันกับด้านบน เราจะพบด้านล่างฟิลด์ IP — ที่อยู่ MAC ที่เรากำลังมองหา:

คำตอบ: 00:0c:29:c5:b7:a1

คำถามที่ 3 — ที่อยู่ IP และหมายเลขพอร์ตที่ส่งชุดช่องโหว่และมัลแวร์คืออะไร

การใช้การรักษาความปลอดภัย Brim และการใช้ส่วนการตรวจจับของ Suricata เราสามารถเห็น IP ที่ระบุว่าเป็นโทรจันเครือข่ายและตรวจพบชุดการโจมตี:

ข้อความค้นหา > การแจ้งเตือนของ Suricata ตามต้นทางและปลายทาง

มาหาหมายเลขพอร์ตที่มาจากการสื่อสาร — สำหรับงานนี้ เราเพียงแค่ต้องคลิกขวาที่ผลลัพธ์ จากนั้นคลิก “Pivot to logs”:
จากนั้นเราจะเห็นพอร์ตต้นทาง:

คำตอบ: 37.143.15.180:51439

คำถามที่ 4 — FQDN สองรายการที่ส่งชุดการหาประโยชน์คืออะไร คั่นด้วยเครื่องหมายจุลภาคตามลำดับตัวอักษร

Network Miner สามารถช่วยเราในการค้นหาโดเมนทั้งหมดที่เกี่ยวข้องกับ IP นั้นๆ
เมื่อไปที่แท็บโฮสต์ จัดเรียงผลลัพธ์ตามที่อยู่ IP และค้นหาที่อยู่ IP ที่เราพบด้านบน — เราจะเห็น 2 FQDN ที่พบใน IP นั้น:

คำตอบ: g.trinketking.com, h.trinketking.com

คำถามที่ 5 + 6 — ที่อยู่ IP และ FQDN ของเว็บไซต์ที่ถูกบุกรุกคืออะไร

หากโดเมนชุดช่องโหว่ถูกเปิดใช้งานโดยเว็บไซต์ที่ถูกบุกรุกและไม่ใช่ผู้ใช้โดยตรง ดังนั้นให้ค้นหาทราฟฟิก http ทั้งหมดที่ IP ปลายทางคือ 37.143.15.180 และจากนั้นเราจะค้นหาโดเมนผู้อ้างอิง

ip.dst == 37.143.15.180 && http

คำตอบ: hijinksensee.com

จากนั้นเราจะค้นหา FQDN ของเราใน NetworkMiner — จัดเรียงโฮสต์ผลลัพธ์ตามชื่อโฮสต์และค้นหาที่อยู่ IP ของเรา:

คำตอบ: 192.30.138.146

คำถามที่ 7 — ชื่อชุดช่องโหว่ (EK) ที่ส่งมัลแวร์คืออะไร (สองคำ)

กฎแต่ละข้อใน Suricata มีหมวดหมู่และลายเซ็นโดยที่ลายเซ็นคือชื่อของการแจ้งเตือนเมื่อกฎตรงกับลักษณะการทำงาน
เมื่อดูที่ลายเซ็นของ Suricata ของ IP ชุดช่องโหว่ — เราสามารถให้ความสนใจกับชื่อของมัน “ET INFO WinHttpRequest Downloading EXE”

การค้นหาอย่างง่ายใน Google เผยให้เห็นชื่อชุดการหาประโยชน์: Sweet Orange

ส้มหวาน คำอธิบาย:

คำตอบ: ส้มหวาน

คำถามที่ 8 — URL การเปลี่ยนเส้นทางที่ชี้ไปยังหน้า Landing Page ของชุดการหาประโยชน์คืออะไร

ความคิดของฉันคือ:

หากเว็บไซต์ที่ถูกบุกรุกไม่ใช่เว็บไซต์ที่เปลี่ยนเส้นทางไปยังเว็บไซต์ที่เป็นอันตราย ดังนั้นอาจมีโดเมนที่เปลี่ยนเส้นทางไปยังเว็บไซต์ที่เป็นอันตรายเฉพาะในเวลาทำงาน และปรากฏเป็นส่วนหนึ่งของเว็บไซต์ที่ถูกบุกรุกในสถานะคงที่ ดังนั้นมาค้นหาเว็บไซต์ทั้งหมด โดเมนที่มีผู้อ้างอิงของเว็บไซต์ที่ถูกบุกรุกในเวลาที่กำหนดซึ่งคำขอไปยังผู้ประสงค์ร้ายที่ส่ง… ไม่รวม IP ปลายทางของเว็บไซต์ที่ถูกบุกรุกและค้นหาไฟล์ JavaScript

ก่อนอื่น เรามาตรวจสอบแพ็กเก็ตของ IP ปลายทางที่เป็นอันตรายอีกครั้ง และให้ความสนใจกับผู้อ้างอิง:

ip.dst ==  37.143.15.180 && http

http.referer == "http://hijinksensue.com/" && frame.time < "2014-11-23 02:58:46" &&  frame.time > "2014-11-23 02:58:44" && !ip.dst == 192.30.138.146

โดยการตรวจสอบการตอบสนองของโดเมน “intensedebate.com” (IP: 192.0.65.226) — เราสามารถเห็นสคริปต์ได้อย่างชัดเจน และนี่ไม่ใช่สคริปต์ที่คลุมเครือและเป็นอันตราย:

frame.time < "2014-11-23 02:58:46" &&  frame.time > "2014-11-23 02:58:44" && ip.src == 192.0.65.226 && http

      
                

frame.time < "2014-11-23 02:58:47" &&  frame.time > "2014-11-23 02:58:44" && ip.src == 50.87.149.90 && http

var main_request_data_content='(6i8h(74$X7o4w(70(z3a)2fY_2f)[email protected]_O72x$P69Y;R6e=R6b;6v5j!74m;H6b=69)L6QeP_M6S7_2he@63R=6vfJ;6d;i3a,[email protected])33Z(39w$t2fw!T63(6fr(r6peV.P7X3,7P5t,6dx_z65,7V2J@Z2f)6V5(w6dJ$7U0!74W;p79q$s2f=K6k2x_69n=7o2=G64_73;Z2pe;Z70.68_7N0@3f(R7O7q,6Q9;S6Oej(K74(t65,7O2k$t3d,3i3';

ตอบ:http://static.charlotteretirementcommunities.com/k?tstmp=3701802802

คำถามที่ 9: ที่อยู่ IP ของ URL การเปลี่ยนเส้นทางที่ชี้ไปยังหน้า Landing Page ของชุดการหาประโยชน์คืออะไร

ตามโดเมนที่เราพบในข้อความค้นหาด้านบน — เรายังสามารถค้นหา IP ของโดเมนได้ด้วยการตรวจสอบแท็บ “โฮสต์” ใน NetworkMiner:

คำตอบ: 50.87.149.90

คำถามที่ 10: แยกเพย์โหลดมัลแวร์ (ไฟล์ PE) จาก PCAP แฮช MD5 คืออะไร?

เราทราบ IP และยกเว้นว่าโดเมนของชุดช่องโหว่ ดังนั้นลองค้นหาอีกครั้งในฐานะที่อยู่ต้นทางเพื่อดูการตอบกลับและค้นหาช่องโหว่

ip.src ==  37.143.15.180 && http

ลองส่งออกไบต์และใช้ฟังก์ชันของ PowerShell “Get-FileHash” เพื่อดึง MD5 และตรวจสอบใน VT และ BOOM !!!

คำตอบ: 1408275C2E2C8FE5E83227BA371AC6B3

คำถามที่ 11 — CVE ของช่องโหว่ที่ถูกโจมตีคืออะไร

เรารู้จากคำถามก่อนหน้านี้ว่ามัลแวร์ชื่อ “ส้มหวาน” ฉันจึงเริ่มค้นหาในกูเกิล “ส้มหวาน cve”
เมื่อเรียกดูไซต์ด้านล่าง ฉันสังเกตเห็นว่าบทความเน้นประเภทเนื้อหา

https://www.malware-traffic-analysis.net/2014/04/20/index.html

      
                

แล้วรวมผลลัพธ์เพื่อค้นหาใน Google และสร้าง "Sweet orange octet stream cve"

https://malware.dontneedcoffee.com/2014/11/cve-2014-6332.html

      
                

คำถามที่ 12: ไฟล์ประเภท mime ใดที่ใช้เวลานานที่สุด (ระยะเวลา) ในการวิเคราะห์โดยใช้ Zeek

Mime เป็นสื่อประเภทหนึ่งที่บ่งบอกถึงลักษณะและรูปแบบของเอกสาร
สามารถดูประเภท Common mime ได้ที่นี่:https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types

สำหรับการค้นหาระยะเวลาที่นานที่สุดในการโหลดประเภท mime เราจะดูว่าเส้นทางใดที่เรามีกับข้อมูลทั้งหมดใน Brim โดยทำแบบสอบถามนี้:

count() by _path | sort -r

      
                

_path=="files" | mime_type!=null | sort -r duration

คำตอบ: แอปพลิเคชัน/x-dosexec

คำถามที่ 13 — อะไรคือผู้อ้างอิงสำหรับ URI ที่เข้าชมซึ่งส่งคืนไฟล์ “f.txt”

สำหรับการค้นหาผู้อ้างอิงไปยัง URI ที่เยี่ยมชมซึ่งส่งคืน f.txt เราสามารถใช้ Brim ซึ่งเราเพียงแค่ค้นหาคำขอ HTTP ทั้งหมดด้วยชื่อไฟล์ตอบกลับที่มี f.txt และใช้ "cut" เพื่อกรองเฉพาะ URL ผู้อ้างอิง

_path=="http" | "f.txt" in resp_filenames | cut referrer

      
                

คำถามที่ 14 — PCAP นี้ถูกจับเมื่อใด

เมื่อดูเวลาของแพ็กเก็ตที่บันทึก แต่ละแพ็กเก็ตจะได้รับการประทับเวลา — ด้วยเหตุนี้ เราจึงสามารถใส่ใจกับเวลาแรกสุดและเวลาล่าสุดของแพ็กเก็ต และสังเกตได้ว่าเวลาตรงกัน ซึ่งหมายความว่า PCAP นี้ถูกจับบน 23/11/2014

ตอบ: 23/11/2557

คำถามที่ 15 — ไฟล์ PE ถูกรวบรวมเมื่อใด

การใช้ซอฟต์แวร์ PEStudio ทำให้เราได้รับการวิเคราะห์แบบคงที่ของไฟล์ รวมถึงสตริง แฮช และการประทับเวลาการคอมไพล์:

ตอบ: 21/11/2014

คำถามที่ 16 — ชื่อของผู้ออกใบรับรอง SSL ที่ปรากฏเพียงครั้งเดียวคืออะไร (หนึ่งคำ)

สำหรับการดึงใบรับรองทั้งหมด — ฉันค้นหาทราฟฟิกทั้งหมดที่พอร์ตคือ 443 และปลายทางคือ IP ส่วนตัวของเราเพื่อจุดประสงค์เพื่อค้นหาการตอบสนอง "เซิร์ฟเวอร์" ทั้งหมด:

tcp.port == 443 && ip.dst == 172.16.165.132

คำตอบ: CYBERTRUST

คำถามที่ 17 — วิธีป้องกันสองวิธีใดที่เปิดใช้งานระหว่างการคอมไพล์ไฟล์ PE ปัจจุบัน รูปแบบ: คั่นด้วยเครื่องหมายจุลภาคตามลำดับตัวอักษร

สำหรับจุดประสงค์ในการค้นหาการป้องกันโปรแกรมพกพา (PE) เราสามารถใช้เครื่องมือ “winchecksec” ใน Github
https://github.com/trailofbits/winchecksec/releases/download/v3.1.0/windows.x64.Release.zip

หลังจากแตกไฟล์และใช้ winchecksec.exe บนไบนารีที่เป็นอันตรายที่แยกออกมาซึ่งโดเมนชุดเจาะช่องโหว่ส่งมา — เราสามารถเห็นการป้องกัน 2 อย่างอย่างชัดเจนที่ตรงกับคำถามของเรา:

จากข้อมูลของ Google NX เป็น non-Execute (ชื่อที่สอง — DEP) ซึ่งบล็อกการเรียกใช้โค้ดจากหน่วยความจำที่ทำเครื่องหมายว่าไม่สามารถเรียกใช้งานได้

การป้องกันที่สองเรียกว่า SEH ซึ่งเกี่ยวข้องกับการใช้ประโยชน์จาก SEH ที่ให้ฝ่ายตรงข้ามเขียนทับตัวชี้และกำหนดลำดับการดำเนินการไปยังรหัสที่เป็นอันตราย

ตอบ:ทบ