Cyber Security Academy · บทเรียน

มัลแวร์ไร้ไฟล์และเทคนิคการทำงานในหน่วยความจำ

วิเคราะห์มัลแวร์ที่ใช้ PowerShell การแทรกโค้ดเข้าสู่กระบวนการ และการทำงานในหน่วยความจำที่ไม่ทิ้งหลักฐานบนดิสก์

บทเรียน 2 จาก 413 ขั้นตอน

มัลแวร์ไร้ไฟล์และเทคนิคการทำงานในหน่วยความจำ เป็นบทเรียน Cyber Security Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Cyber Security Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Cyber Security Academy มีบทเรียนทั้งหมด 4 บทเรียน

มัลแวร์ไร้ไฟล์คืออะไร

มัลแวร์ไร้ไฟล์ทำงานทั้งหมดในหน่วยความจำโดยไม่เขียนไฟล์ปฏิบัติการลงดิสก์ มัลแวร์ประเภทนี้อาศัยเครื่องมือของระบบปฏิบัติการที่ถูกต้อง สภาพแวดล้อมตัวแปลคำสั่ง (PowerShell, ดับเบิลยูสคริปต์) และการฉีดโค้ดในหน่วยความจำเพื่อทำงาน โดยทิ้งร่องรอยทางนิติวิทยาศาสตร์ไว้น้อยมากจนการสแกนแบบ AV และการสแกนตามไฟล์แบบดั้งเดิมตรวจจับได้ยาก

การโจมตีด้วย PowerShell

PowerShell รองรับรูปแบบดาวน์โหลดแล้วเรียกใช้ โดย IEX (คำสั่งเรียกใช้นิพจน์) จะดาวน์โหลดและเรียกใช้สคริปต์จากอินเทอร์เน็ตโดยตรงโดยไม่แตะต้องดิสก์ เทคนิคการทำให้สับสน (การแทนที่อักขระ การเข้ารหัสแบบเบส 64 การต่อสตริง) ช่วยหลีกเลี่ยงการตรวจจับเนื้อหาสคริปต์อันตรายที่อาศัยลายเซ็น

# Example obfuscation pattern (for awareness)
# IEX (New-Object Net.WebClient).DownloadString(url)
# Often base64-encoded to evade detection

ไบนารีที่ใช้ประโยชน์จากเครื่องมือในระบบ

ไบนารีประเภทนี้คือไบนารีของวินโดวส์ที่ถูกต้องตามปกติและสามารถนำมาใช้เป็นอาวุธได้ เช่น certutil.exe (ดาวน์โหลดไฟล์) mshta.exe (เรียกใช้สคริปต์ HTA) regsvr32.exe (เรียกใช้ออบเจ็กต์ COM จากระยะไกล) wmic.exe (เรียกใช้คำสั่ง) และ PowerShell (ทำได้ทุกอย่าง) ไบนารีเหล่านี้ติดตั้งมาล่วงหน้า มีลายเซ็นดิจิทัล และมักอยู่ในรายการอนุญาต

เทคนิคการฉีดโค้ดเข้าสู่กระบวนการ

การฉีดโค้ดแบบคลาสสิก: VirtualAllocEx → WriteProcessMemory → CreateRemoteThread การทำให้กระบวนการกลวง: เรียกใช้กระบวนการที่ถูกต้องตามปกติในสถานะหยุดชั่วคราว ยกเลิกการแมปโค้ดของกระบวนการ แล้วแทนที่ด้วยโค้ดอันตราย การฉีด DLL ผ่าน SetWindowsHookEx หรือ AppInit_DLLs วิธีทั้งหมดนี้เรียกใช้โค้ดอันตรายภายในกระบวนการที่เชื่อถือได้

การฉีด DLL แบบสะท้อนกลับ

การฉีด DLL แบบสะท้อนกลับจะโหลด DLL จากหน่วยความจำโดยไม่ใช้ตัวโหลดของวินโดวส์และไม่แตะต้องดิสก์ DLL จะมีตัวโหลดขนาดย่อมของตัวเอง ซึ่งแก้ไขการนำเข้าและย้ายตำแหน่งตัวเอง เมเทอร์พรีเตอร์ใช้การโหลดแบบสะท้อนกลับ จึงไม่ทิ้งไฟล์ DLL ไว้บนดิสก์

การทำให้กระบวนการกลวง (RunPE)

การทำให้กระบวนการกลวงจะสร้างกระบวนการที่ถูกต้องตามปกติ (svchost.exe) ในสถานะหยุดชั่วคราว ยกเลิกการแมปไฟล์ปฏิบัติการเดิมจากหน่วยความจำ แมปไฟล์ปฏิบัติการอันตรายลงในพื้นที่ที่อยู่เดียวกัน แล้วดำเนินการต่อ กระบวนการจะดูถูกต้องตามปกติในตัวจัดการงาน แต่กลับเรียกใช้โค้ดอันตราย

เทคนิคหลีกเลี่ยง AMSI

อินเทอร์เฟซการสแกนมัลแวร์ของไมโครซอฟท์ (AMSI) ดักจับสคริปต์ PowerShell เพื่อให้ AV สแกน ผู้โจมตีหลีกเลี่ยง AMSI ได้โดยแก้ไข AmsiScanBuffer() ในหน่วยความจำให้ส่งคืนผลลัพธ์ว่าปลอดภัยเสมอ หรือทำให้สคริปต์สับสนจนต่ำกว่าเกณฑ์การตรวจจับของ AMSI การแก้ไข AMSI สามารถตรวจจับได้ด้วย EDR

การตรวจจับ: การวิเคราะห์พฤติกรรม

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

การตรวจจับด้วย ETW

การติดตามเหตุการณ์ของวินโดวส์ (ETW) ให้ข้อมูลการตรวจวัดอย่างละเอียดสำหรับแพลตฟอร์ม EDR ได้แก่ การบันทึกบล็อกสคริปต์ซึ่งเก็บเนื้อหา PowerShell ที่ถอดรหัสแล้ว การบันทึกโมดูลซึ่งบันทึก DLL ที่โหลด การสร้างกระบวนการพร้อมบรรทัดคำสั่งทั้งหมด และเหตุการณ์การเชื่อมต่อเครือข่าย ผู้ให้บริการ ETW ปิดใช้งานได้ยากสำหรับมัลแวร์โดยไม่ก่อให้เกิดการแจ้งเตือน

นิติวิทยาศาสตร์หน่วยความจำเพื่อตรวจจับมัลแวร์ไร้ไฟล์

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

การบันทึก PowerShell และโหมดภาษาจำกัด

เปิดใช้การบันทึกบล็อกสคริปต์ของ PowerShell (รหัสเหตุการณ์ ID 4104) และการบันทึกโมดูลเพื่อเก็บเนื้อหาสคริปต์ที่ถอดรหัสแล้วทั้งหมด โหมดภาษาจำกัดของ PowerShell จะจำกัดการดำเนินการที่เป็นอันตราย การจัดทำรายการอนุญาตแอปพลิเคชันด้วย WDAC จะป้องกันไม่ให้การผสมผสานไบนารีที่ใช้ประโยชน์จากเครื่องมือในระบบซึ่งไม่ได้รับอนุมัติเรียกใช้สคริปต์อันตราย

ตรวจสอบความรู้

เหตุใดมัลแวร์ไร้ไฟล์จึงตรวจจับได้ยากกว่ามัลแวร์แบบดั้งเดิม

สรุป

มัลแวร์ไร้ไฟล์ใช้ประโยชน์จาก PowerShell ไบนารีที่ใช้ประโยชน์จากเครื่องมือในระบบ และการฉีดโค้ดเข้าสู่กระบวนการเพื่อทำงานทั้งหมดในหน่วยความจำ การป้องกันมัลแวร์ประเภทนี้จำเป็นต้องใช้การบันทึกบล็อกสคริปต์ การวิเคราะห์พฤติกรรมจากแพลตฟอร์ม EDR การบังคับใช้ AMSI การจัดทำรายการอนุญาตแอปพลิเคชัน และเครื่องมือนิติวิทยาศาสตร์หน่วยความจำ เช่น Volatility เพื่อระบุโค้ดที่ถูกฉีด

เริ่มต้นได้ฟรี

เรียนรู้ Cyber Security Academy ด้วย AI tutor — ฟรี

เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป

คอร์ส
76
บทเรียน
303

คำถามที่พบบ่อย

บทเรียน “มัลแวร์ไร้ไฟล์และเทคนิคการทำงานในหน่วยความจำ” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “มัลแวร์ไร้ไฟล์และเทคนิคการทำงานในหน่วยความจำ” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Cyber Security Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Cyber Security Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “มัลแวร์ไร้ไฟล์และเทคนิคการทำงานในหน่วยความจำ”

วิเคราะห์มัลแวร์ที่ใช้ PowerShell การแทรกโค้ดเข้าสู่กระบวนการ และการทำงานในหน่วยความจำที่ไม่ทิ้งหลักฐานบนดิสก์ คุณปฏิบัติ Cyber Security Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Cyber Security Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Cyber Security Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน

บทเรียน “มัลแวร์ไร้ไฟล์และเทคนิคการทำงานในหน่วยความจำ” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Cyber Security Academy นี้ได้ไหม

ได้ บทเรียน Cyber Security Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. วงจรชีวิต APT: จากการเข้าถึงครั้งแรกถึงการลักลอบนำข้อมูลออก
  2. มัลแวร์ไร้ไฟล์และเทคนิคการทำงานในหน่วยความจำ
  3. C2 ผ่าน HTTPS และการทำอุโมงค์ DNS
  4. การระบุแหล่งที่มาของภัยคุกคามและติดตามแคมเปญ
← กลับไปที่ Cyber Security Academy