Reverse Engineering to Get the Python Malware Source Code via DFIR Memory Dump

  liuyuancheng        2025-04-12 00:21:09       1,506        0          English  简体中文  繁体中文  ภาษาไทย  Tiếng Việt 

title17.png

ในโลกของความปลอดภัยทางไซเบอร์ การทำความเข้าใจวิธีการวิเคราะห์และแยกแยะมัลแวร์และโค้ดที่เป็นอันตรายเป็นทักษะที่สำคัญ โดยเฉพาะอย่างยิ่งในระหว่างการปฏิบัติการ Digital Forensics and Incident Response (DFIR) สถานการณ์ทั่วไปอย่างหนึ่งคือการเผชิญหน้ากับไฟล์ปฏิบัติการที่เป็นอันตรายที่เขียนด้วย Python แต่คอมไพล์เป็นไฟล์ปฏิบัติการ (EXE) ของ Windows ในกรณีเช่นนี้ นักวิเคราะห์มักจะพึ่งพา Memory Dump เพื่อดึงและวิศวกรรมย้อนกลับพฤติกรรมและโค้ดพื้นฐานของมัลแวร์ บทความนี้จะแนะนำขั้นตอนโดยละเอียดเกี่ยวกับวิธีการแยกไฟล์ EXE มัลแวร์ของ Windows ที่คอมไพล์แล้ว (เขียนโค้ดด้วย Python) จากข้อมูล Memory Dump ของ Windows จากนั้น Decompile ข้อมูลเพื่อให้ได้ซอร์สโค้ด Python (ดังแสดงในไดอะแกรม Workflow ของโปรเจ็กต์ด้านล่าง)

คำแนะนำนี้แบ่งออกเป็นห้าส่วนหลัก:

  1. การสร้างมัลแวร์: การสร้างโปรแกรมปฏิบัติการ Windows-OS จำลองมัลแวร์ที่ใช้ Python

  2. การกำหนดค่าเหยื่อ: การกำหนดค่าระบบ Node เหยื่อมัลแวร์สำหรับการรวบรวมข้อมูล Memory Dump

  3. การรวบรวมหลักฐาน: การจับภาพ Memory Dump ระหว่างการดำเนินการมัลแวร์

  4. การแยกข้อมูล: การแยกข้อมูล/ไฟล์มัลแวร์จาก Memory Dump

  5. วิศวกรรมย้อนกลับ: การ Decompile ข้อมูลที่แยกออกมากลับเป็นซอร์สโค้ด Python ที่อ่านได้

นอกจากนี้ เราจะแนะนำเครื่องมือที่เกี่ยวข้องที่ใช้โดยการจบแต่ละส่วน ดังนั้นหากคุณเป็นผู้ปฏิบัติงาน DFIR Blue Team หรือผู้ที่สนใจด้านความปลอดภัยทางไซเบอร์ คุณสามารถใช้เครื่องมือเหล่านี้สำหรับการวิเคราะห์ Memory Forensics และมัลแวร์ Python ได้เช่นกัน

# Author:      Yuancheng Liu
# Created:     2025/04/06
# version:     v_0.0.1
# Copyright:   Copyright (c) 2025 LiuYuancheng
# License:     MIT License

บทนำ

Digital Forensics and Incident Response (DFIR) เป็นรากฐานที่สำคัญของความปลอดภัยทางไซเบอร์สมัยใหม่ โดยมีบทบาทสำคัญในการระบุ ตรวจสอบ และลดผลกระทบจากการโจมตีทางไซเบอร์ ภายใน DFIR Memory Forensics ได้กลายเป็นเทคนิคที่จำเป็น ซึ่งช่วยให้นักวิเคราะห์สามารถดึงหลักฐานที่เปลี่ยนแปลงได้จากหน่วยความจำระบบ ซึ่งอาจไม่มีอยู่ในดิสก์หรือ Network Traffic ดังแสดงในไดอะแกรมเนื้อหา DFIR ด้านล่าง

s_02.jpg

Figure-01 ไดอะแกรมภาพรวมโดเมน Digital Forensics and Incident Response (DFIR), เวอร์ชัน v_0.0.1 (2025)

ก่อนที่จะเจาะลึกขั้นตอนการปฏิบัติ เราจะให้ความรู้พื้นฐานที่จำเป็นเกี่ยวกับ DFIR และแนะนำเครื่องมือที่ใช้ในโปรเจ็กต์นี้ บทความนี้อยู่ภายใต้โดเมน Memory Forensics ของ DFIR และมุ่งเน้นไปที่สถานการณ์วิศวกรรมย้อนกลับเชิงปฏิบัติที่ใช้กันทั่วไปในการฝึกอบรมและกิจกรรมทางไซเบอร์ โดยเฉพาะอย่างยิ่ง เราจะสาธิตวิธีการแยกและกู้คืนซอร์สโค้ดของตัวอย่างมัลแวร์ที่ใช้ Python ซึ่งคอมไพล์เป็นไฟล์ปฏิบัติการของ Windows โดยใช้ Memory Dump ที่จับภาพระหว่างการดำเนินการเท่านั้น

ความรู้พื้นฐานเกี่ยวกับ DFIR

Digital Forensics and Incident Response (DFIR) เป็นสาขาวิชาความปลอดภัยทางไซเบอร์ที่อุทิศตนเพื่อทำความเข้าใจ ตอบสนอง และกู้คืนจากเหตุการณ์ด้านความปลอดภัย ซึ่งรวมถึงสองส่วนหลัก:

  • Digital Forensics: เกี่ยวข้องกับการวิเคราะห์ข้อมูลระบบ พฤติกรรมผู้ใช้ และหลักฐานดิจิทัล เพื่อเปิดเผยว่าการโจมตีเกิดขึ้นได้อย่างไรและใครอาจเป็นผู้รับผิดชอบ

  • Incident Response: ครอบคลุมกลยุทธ์และกระบวนการที่องค์กรปฏิบัติตามเพื่อตรวจจับ ควบคุม และแก้ไขภัยคุกคามในแบบเรียลไทม์

Digital Forensics แตกแขนงออกเป็นหลายส่วน รวมถึง File System Forensics, Network Forensics, Log Analysis และ Memory Forensics ซึ่งเป็นจุดสนใจหลักของบทความนี้

Reference Link: https://www.crowdstrike.com/en-us/cybersecurity-101/exposure-management/digital-forensics-and-incident-response-dfir/#:~:text=Digital%20forensics%20and%20incident%20response%20(DFIR)%20is%20a%20field%20within,investigation%2C%20and%20remediation%20of%20cyberattacks.

เครื่องมือที่ใช้ในโปรเจ็กต์นี้

โปรเจ็กต์นี้ใช้เครื่องมือหลายอย่างในสภาพแวดล้อมที่แตกต่างกัน:

  • PyInstaller (Windows): ใช้เพื่อคอมไพล์สคริปต์ Python เป็นไฟล์ปฏิบัติการ Windows แบบสแตนด์อโลน

  • Volatility3 (Ubuntu): เฟรมเวิร์กที่มีประสิทธิภาพสำหรับ Memory Forensics ใช้ที่นี่เพื่อวิเคราะห์ Memory Dump และแยกข้อมูลที่เกี่ยวข้องกับมัลแวร์

  • uncompyle6 (Ubuntu/Windows): เครื่องมือ De-compilation ที่แปลง Python Bytecode (ไฟล์ .pyc) กลับเป็นซอร์สโค้ดที่อ่านได้

เราใช้เครื่อง Windows-11 เพื่อสร้างมัลแวร์ EXE, เครื่อง Virtual Machine Windows-10 เพื่อดำเนินการและจับภาพ Memory Dump และเครื่อง Ubuntu-22.04 เพื่อทำการวิเคราะห์และวิศวกรรมย้อนกลับ

ด้วยรากฐานนี้ เราจะเดินผ่านแต่ละขั้นตอนของกระบวนการ ตั้งแต่การคอมไพล์มัลแวร์ไปจนถึงการกู้คืนซอร์สโค้ดจากหน่วยความจำ


การสร้างไฟล์ปฏิบัติการ Windows ที่ใช้ Python

ในส่วนหนึ่งของการฝึก Memory Forensics DFIR นี้ เราจำเป็นต้องจำลองพฤติกรรมของมัลแวร์ที่ทำงานบนระบบเหยื่อเป้าหมาย ในการทำเช่นนี้ เราจะสร้างไฟล์ปฏิบัติการ Windows-OS จากสคริปต์มัลแวร์ที่ใช้ Python โดยใช้ PyInstaller ซึ่งเป็นเครื่องมือที่คอมไพล์โปรแกรม Python เป็นไฟล์ปฏิบัติการแบบสแตนด์อโลน

ในส่วนนี้ เราจะสร้างไฟล์ .exe สำหรับตัวอย่างมัลแวร์โทรจัน Backdoor จำลองที่มาจาก GitHub Repository ต่อไปนี้: https://github.com/LiuYuancheng/Python_Malwares_Repo/tree/main/src/backdoorTrojan

ขั้นตอนที่ 1: ติดตั้ง PyInstaller

ใช้ pip เพื่อติดตั้ง PyInstaller บน Host Machine Windows 11:

pip install -U pyinstaller

ขั้นตอนที่ 2: คอมไพล์สคริปต์ Python เป็นไฟล์ปฏิบัติการ

นำทางไปยังไดเร็กทอรีที่มี backdoorTrojan.py จากนั้นรันคำสั่งต่อไปนี้เพื่อสร้างไฟล์ปฏิบัติการเดียวโดยใช้ Flag --onefile:

pyinstaller --onefile .\backdoorTrojan.py

เมื่อกระบวนการเสร็จสิ้น ไฟล์ปฏิบัติการที่คอมไพล์แล้ว backdoorTrojan.exe จะอยู่ในโฟลเดอร์ dist ดังแสดงด้านล่าง:

s_03.jpg

Figure-02 การคอมไพล์โค้ดมัลแวร์ Python, เวอร์ชัน v_0.0.1 (2025)

จากนั้นเราจะเปลี่ยนชื่อไฟล์เอาต์พุตเป็นโปรแกรมติดตั้งซอฟต์แวร์ (เช่น เป็น testInstaller.exe) และคัดลอกไปยัง Virtual Machine เป้าหมายที่จะรวบรวม Memory Dump


การกำหนดค่า Windows สำหรับการรวบรวม Memory Dump

Target Machine: Windows 10

เครื่องมือ: N/A (การตั้งค่า Windows ในตัวและ Registry Editor)

Memory Dump จับภาพเนื้อหาของ RAM ของระบบและบันทึกลงในดิสก์ ซึ่งโดยพื้นฐานแล้วจะสร้าง Snapshot ของทุกสิ่งที่ทำงานในหน่วยความจำ ณ เวลาที่กำหนด แม้ว่า Memory Dump มักจะถูกสร้างขึ้นโดยอัตโนมัติระหว่างที่ระบบขัดข้อง แต่ก็สามารถกำหนดค่าเพื่อช่วยในการวิเคราะห์ทางนิติวิทยาศาสตร์ เช่น ในระหว่างการฝึก DFIR

ก่อนที่จะรวบรวม Memory Dump บน Virtual Machine Windows 10 ตรวจสอบให้แน่ใจว่ามีพื้นที่ดิสก์ว่างเพียงพอ ขนาดของ Memory Dump จะตรงกับปริมาณ RAM ที่จัดสรรให้กับ VM โดยประมาณ ตัวอย่างเช่น หาก VM ของคุณมี RAM 16 GB ตรวจสอบให้แน่ใจว่ามีพื้นที่ดิสก์ว่างอย่างน้อย 16 GB

ขั้นตอนที่ 1: เปิดใช้งานการตั้งค่า Windows Memory Dump

ในการกำหนดค่า Windows เพื่อสร้าง Memory Dump:

  1. เปิด Control Panel > System and Security > System

  2. คลิก Advanced System Settings ในแถบด้านข้าง

  3. ภายใต้แท็บ Advanced ไปที่ส่วน Startup and Recovery แล้วคลิก Settings

  4. ตรวจสอบให้แน่ใจว่าได้เลือก Kernel Memory Dump หรือ Complete Memory Dump ภายใต้ Writing Debugging Information

  5. คลิก OK และรีสตาร์ทเครื่องเพื่อใช้การเปลี่ยนแปลง

ดังแสดงด้านล่าง:

s_0410.png

Figure-03 เปิดใช้งานการตั้งค่า Memory Dump ความล้มเหลวของระบบ Windows_OS, เวอร์ชัน v_0.0.1 (2025)

ขั้นตอนที่ 2: เปิดใช้งานพารามิเตอร์ Memory Dump ผ่าน Registry Editor

กด Win + R พิมพ์ regedit แล้วกด Enter เพื่อเปิด Registry Editor

s_059.png

Figure-04 เริ่ม Registry Editor, เวอร์ชัน v_0.0.1 (2025)

เพื่อให้แน่ใจว่า Memory Dump จะถูกเก็บรักษาไว้เสมอ ให้แก้ไข Windows Registry ดังนี้:

  1. นำทางไปยัง Key ต่อไปนี้: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl

  2. คลิกขวาที่ CrashControl เลือก New > DWORD (32-bit) Value

  3. ตั้งชื่อรายการใหม่ NMICrashDump และตั้งค่าเป็น 1 โดย: คลิกขวาที่ NMICrashDump > เลือก Modify > ป้อน 1 ในฟิลด์ Value Data แล้วคลิก OK

  4. ตรวจสอบให้แน่ใจว่า Key AlwaysKeepMemoryDump ถูกตั้งค่าเป็น 1 ด้วย (ดังแสดงด้านล่าง)

s_0611.png

Figure-05 ตั้งค่า CrashControl Config ใน Registry Editor, เวอร์ชัน v_0.0.1 (2025)

การตั้งค่าเหล่านี้ช่วยให้มั่นใจได้ว่าไฟล์ Memory Dump จะถูกเก็บรักษาไว้แม้หลังจากรีสตาร์ทระบบ ทำให้พร้อมสำหรับการวิเคราะห์ในภายหลังด้วยเครื่องมือทางนิติวิทยาศาสตร์

Reference: https://learn.microsoft.com/en-us/troubleshoot/windows-client/performance/generate-a-kernel-or-complete-crash-dump


การรวบรวมไฟล์ Memory Dump

Target Machine: Windows 10

เครื่องมือ: N/A (ใช้พฤติกรรมระบบในตัว)

เมื่อระบบได้รับการกำหนดค่าอย่างถูกต้องสำหรับการสร้าง Memory Dump เราสามารถดำเนินการรันมัลแวร์และทริกเกอร์ Memory Dump สำหรับการวิเคราะห์ทางนิติวิทยาศาสตร์ได้

เริ่มต้นด้วยการดำเนินการมัลแวร์จำลอง (testInstaller.exe) บน Virtual Machine Windows 10 เป้าหมาย ในขณะที่โปรแกรมกำลังทำงาน เราจะทริกเกอร์ System Crash ด้วยตนเอง หรือที่เรียกว่า "Blue Screen" Kernel Crash เพื่อบังคับให้ระบบปฏิบัติการสร้างไฟล์ Memory Dump

ขั้นตอนที่ 1: การทริกเกอร์ Memory Dump ผ่านทาง Keyboard Shortcut

ในการเริ่มต้นกระบวนการ Crash และ Dump:

  1. กดปุ่ม Ctrl ค้างไว้

  2. กดปุ่ม Scroll Lock สองครั้ง

⚠️ หมายเหตุ: ใน Keyboard บางรุ่น โดยเฉพาะอย่างยิ่งใน Laptop คุณอาจต้องกดปุ่ม Fn (Function) เพื่อเข้าถึง Scroll Lock

Keyboard Shortcut: Ctrl + Scroll Lock + Scroll Lock

การรวมกันนี้จำลอง Non-Maskable Interrupt (NMI) ซึ่งทำให้ระบบ Crash และสร้างไฟล์ Memory Dump ตามที่กำหนดค่าไว้ในขั้นตอนก่อนหน้า

ขั้นตอนที่ 2: ยืนยันการสร้างไฟล์ Memory Dump

เมื่อทริกเกอร์แล้ว ระบบจะ Crash และแสดง Blue Screen (BSOD) พร้อมตัวบ่งชี้ความคืบหน้าที่แสดงหน่วยความจำที่ถูก Dump ลงในดิสก์ดังแสดงด้านล่าง:

s_0710.png

Figure-06 ภาพหน้าจอความล้มเหลวของระบบ, เวอร์ชัน v_0.0.1 (2025)

รอจนกว่ากระบวนการ Dump จะถึง 100% และระบบจะรีสตาร์ทโดยอัตโนมัติ อย่า ขัดจังหวะกระบวนการ หลังจากรีบูต ให้นำทางไปยังไดเร็กทอรี C:\dump (ตามการกำหนดค่าที่คุณตั้งไว้ในส่วนก่อนหน้า) ตอนนี้คุณควรเห็นไฟล์ Memory Dump ที่สร้างขึ้น (เช่น test.dmp) ดังแสดงด้านล่าง:

s_089.png

Figure-07 ไฟล์ Memory Dump ของระบบ Windows, เวอร์ชัน v_0.0.1 (2025)

Reference: https://techcommunity.microsoft.com/blog/coreinfrastructureandsecurityblog/how-to-force-a-diagnostic-memory-dump-when-a-computer-hangs/257809


การแยกวิเคราะห์ Memory Dump เพื่อแยกข้อมูลมัลแวร์ที่ดำเนินการ

Host Machine: Ubuntu 22.04

เครื่องมือ: volatility3, https://github.com/volatilityfoundation/volatility3

เมื่อมีไฟล์ Memory Dump (test.dmp) พร้อมใช้งานแล้ว ขั้นตอนต่อไปคือการวิเคราะห์โดยใช้ Volatility3 ซึ่งเป็นเฟรมเวิร์ก Memory Forensics ที่มีประสิทธิภาพ เป้าหมายของเราคือการระบุกระบวนการมัลแวร์และแยกข้อมูลหน่วยความจำที่เกี่ยวข้องเพื่อทำการวิเคราะห์เพิ่มเติม

ขั้นตอนที่ 1: ติดตั้ง Volatility3

ติดตั้ง Volatility3 บนเครื่อง Ubuntu ของคุณโดยใช้ pip:

pip install volatility3

ขั้นตอนที่ 2: ระบุกระบวนการมัลแวร์

เมื่อติดตั้งแล้ว ให้ใช้คำสั่ง vol เพื่อแสดงรายการกระบวนการที่กำลังทำงานทั้งหมดจาก Memory Dump:

vol -f test.dmp windows.pslist

คำสั่งนี้จะแสดงรายการกระบวนการที่ใช้งานอยู่ที่จับภาพ ณ เวลาที่ Dump มองหาชื่อไฟล์ปฏิบัติการมัลแวร์ของคุณ (ในกรณีนี้คือ testInstaller.exe) เพื่อระบุ Process ID (PID) ดังแสดงด้านล่าง:

s_096.png

Figure-08 ใช้ Volatility3 เพื่อรับ Process Try จาก Memory Dump, เวอร์ชัน v_0.0.1 (2025)

ในตัวอย่าง Process Tree ด้านบน เนื่องจากเราเปลี่ยนชื่อโทรจัน Backdoor เป็น testInstaller เราจึงเห็นสองกระบวนการที่เกี่ยวข้อง:

  • PID 3968

  • PID 8276

เนื่องจาก Parent Process ID (PPID) ของกระบวนการ 8276 คือ 3968 เราจึงอนุมานได้ว่า 3968 เป็นกระบวนการเริ่มต้นที่เปิดตัวมัลแวร์

ขั้นตอนที่ 3: แยกส่วนหน่วยความจำมัลแวร์

ตอนนี้เราระบุกระบวนการที่ถูกต้อง (PID 3968) แล้ว เราสามารถแยกข้อมูลหน่วยความจำไปยังไฟล์โดยใช้ Plugin dumpfiles ของ Volatility3:

vol -f test.dmp -o output  windows.dumpfiles --pid 3968

Memory Region ที่เกี่ยวข้องกับกระบวนการที่เลือกจะถูกแยกไปยังไดเร็กทอรี output/ ในบรรดาไฟล์ที่แยกออกมา ให้ค้นหาไฟล์ที่คล้ายกับ file.0xd084eb19a620.0xd084eb13d150.DataSectionObject.testInstaller.exe.dat ดังแสดงด้านล่าง:

s_106.png

Figure-08 ใช้ Volatility3 เพื่อแยกข้อมูลโปรแกรมจาก Memory Dump, เวอร์ชัน v_0.0.1 (2025)

ไฟล์นี้มี Representation ในหน่วยความจำของไฟล์ปฏิบัติการ นี่คือข้อมูลสำคัญที่เราจะใช้ในขั้นตอนต่อไปเพื่อกู้คืนซอร์สโค้ด Python ดั้งเดิม


Decompile ข้อมูลมัลแวร์กลับเป็นซอร์สโค้ด

Host Machine: Ubuntu 20.04 หรือ Windows

เครื่องมือ:

หลังจากแยกข้อมูลหน่วยความจำไฟล์ปฏิบัติการจาก Memory Dump แล้ว ขั้นตอนต่อไปคือการทำวิศวกรรมย้อนกลับ Binary กลับเป็นซอร์สโค้ด Python

ขั้นตอนที่ 1: แยกไฟล์ .pyc โดยใช้ pyinstxtractor

เริ่มต้นด้วยการดาวน์โหลด pyinstxtractor.py จาก GitHub Repository วางไฟล์ข้อมูลหน่วยความจำที่แยกไว้ก่อนหน้านี้ (file.0xd084eb19a620.0xd084eb13d150.DataSectionObject.testInstaller.exe.dat) ในไดเร็กทอรีเดียวกับสคริปต์

รันคำสั่งต่อไปนี้เพื่อแยก Python Bytecode ที่ฝังไว้:

python3 pyinstxtractor.py file.0xd084eb19a620.0xd084eb13d150.DataSectionObject.testInstaller.exe.dat

หลังจากการดำเนินการ คุณจะเห็นเอาต์พุตเช่นนี้:

s_117.png

Figure-09 แยกไฟล์ .pyc โดยใช้ pyinstxtractor จาก Memory Dump, เวอร์ชัน v_0.0.1 (2025)

Extractor ยังระบุเวอร์ชัน Python ที่ใช้ในการคอมไพล์ไฟล์ปฏิบัติการ ในกรณีนี้คือ Python 3.7

⚠️ สำคัญ: หากสภาพแวดล้อมปัจจุบันของคุณไม่ได้ใช้ Python เวอร์ชันเดียวกัน (3.7) ไดเร็กทอรี PYZ-00.pyz_extracted/ จะยังคงว่างเปล่า เพื่อหลีกเลี่ยงปัญหานี้ ให้สร้างและเปิดใช้งานสภาพแวดล้อมเสมือน Python 3.7 ก่อนทำการแยก

s_128.png

Figure-10 ค้นหาไฟล์ Import Liborary เพิ่มเติมจากโฟลเดอร์ PYZ-00.pyz_extracted, เวอร์ชัน v_0.0.1 (2025)

ขั้นตอนที่ 2: Decompile ไฟล์ .pyc โดยใช้ uncompyle6

เมื่อการแยกสำเร็จ ให้ค้นหาไฟล์ .pyc ไฟล์ปฏิบัติการหลักจากไดเร็กทอรีเอาต์พุต:

📷 ตัวอย่างของ backdoorTrojan.pyc ที่แยกออกมา:

s_134.png

Figure-11 ค้นหาไฟล์ Python Pyc จากผลลัพธ์, เวอร์ชัน v_0.0.1 (2025)

ใช้ uncompyle6 เพื่อ Decompile ไฟล์ .pyc เป็นซอร์สโค้ด Python ที่อ่านได้:

uncompyle6 backdoorTrojan.pyc >> sourcode.txt

โค้ดที่ Decompile จะถูกบันทึกใน sourcecode.txt และควรมีลักษณะคล้ายกับสคริปต์ Python โทรจัน Backdoor ดั้งเดิมดังแสดงด้านล่าง:

s_144.png

Figure-12 Decompile ไฟล์ Pyc เป็นซอร์สโค้ด Python, เวอร์ชัน v_0.0.1 (2025)

ตอนนี้คุณสามารถตรวจสอบและวิเคราะห์พฤติกรรมของ Simulator มัลแวร์สำหรับการฝึก DFIR ของคุณได้แล้ว

(ไม่บังคับ) Decompile ไลบรารีที่นำเข้า

หากคุณต้องการวิเคราะห์โมดูล Python ที่นำเข้าซึ่งรวมอยู่ใน PyInstaller Archive ด้วย:

  1. นำทางไปยังโฟลเดอร์ PYZ-00.pyz_extracted/

  2. ใช้ uncompyle6 เพื่อ Decompile ไฟล์ .pyc ใดๆ ที่พบที่นั่น

⚠️ โปรดจำไว้ว่า: หาก Python เวอร์ชัน Host ของคุณไม่ตรงกับเวอร์ชันการคอมไพล์ดั้งเดิม (เช่น 3.7) โฟลเดอร์นี้อาจยังคงว่างเปล่าหรือไม่สมบูรณ์


สรุป

ในบทความนี้ เราได้เรียนรู้ขั้นตอนการทำงาน DFIR แบบครบวงจรตั้งแต่ต้นจนจบ เพื่อกู้คืนซอร์สโค้ดของมัลแวร์ Python จาก Memory Dump โดยเริ่มจากการสร้างไฟล์ปฏิบัติการ Windows ที่ใช้ Python เป็นฐาน เราได้สาธิตวิธีการจำลองการทำงานของมัลแวร์ จับภาพ Memory Dump ดึงข้อมูลในหน่วยความจำโดยใช้ Volatility3 และสุดท้ายคือ Decompile ไบนารีที่กู้คืนมาโดยใช้เครื่องมือต่างๆ เช่น pyinstxtractor และ uncompyle6

แนวทางการทำ Reverse Engineering เชิงปฏิบัติเช่นนี้ เน้นให้เห็นถึงประสิทธิภาพของการตรวจสอบหน่วยความจำในการเปิดเผยพฤติกรรมที่เป็นอันตราย ซึ่งอาจไม่สามารถตรวจพบได้ด้วยวิธีอื่น การทำความเข้าใจเทคนิคเหล่านี้ จะช่วยให้ผู้ปฏิบัติงาน DFIR และผู้ที่สนใจด้านความปลอดภัยทางไซเบอร์ สามารถวิเคราะห์ ตอบสนอง และป้องกันภัยคุกคามจากมัลแวร์ Python ในสภาพแวดล้อมจริงได้ดียิ่งขึ้น

ไม่ว่าจะเป็นเพื่อการวิจัย การฝึกอบรม หรือการตอบสนองต่อเหตุการณ์ กระบวนการนี้ก็มอบวิธีการที่ใช้งานได้จริงและลึกซึ้ง เพื่อเพิ่มพูนทักษะการวิเคราะห์มัลแวร์ของคุณ


ขอบคุณที่สละเวลาอ่านรายละเอียดบทความ หากคุณมีคำถาม ข้อเสนอแนะ หรือพบข้อผิดพลาดของโปรแกรม โปรดส่งข้อความถึงฉันได้เลย ขอบคุณมากหากคุณสามารถแสดงความคิดเห็นและแบ่งปันคำแนะนำในการปรับปรุง เพื่อให้เราสามารถปรับปรุงงานของเราให้ดียิ่งขึ้นได้ ~


แก้ไขล่าสุดโดย LiuYuancheng ([email protected]) เมื่อ 12/04/2025 หากคุณมีปัญหาใดๆ โปรดส่งข้อความถึงฉัน

           

  RELATED


No related articles

  0 COMMENT


No comment for this article.



  RANDOM FUN

The future world


  SUPPORT US