Exploit (เอ็กซ์พลอยต์) คืออะไร?
Exploit คือ โค้ด โปรแกรม สคริปต์ หรือลำดับคำสั่ง ที่ใช้ประโยชน์จาก ช่องโหว่ (Vulnerability) ของระบบ แอปพลิเคชัน เครือข่าย หรือระบบปฏิบัติการ เพื่อทำให้เกิดพฤติกรรมที่ไม่ได้ตั้งใจ เช่น รันโค้ดระยะไกล (RCE), ขยับสิทธิ์ (Privilege Escalation), ขโมยข้อมูล หรือติดตั้งมัลแวร์
Vulnerability (ช่องโหว่) = จุดอ่อน
Exploit (โค้ดโจมตี) = เครื่องมือ/วิธีใช้ประโยชน์จากจุดอ่อน
Attack (การโจมตี) = การกระทำใช้ Exploit โจมตีจริง
Payload = สิ่งที่ส่งไปพร้อม Exploit (เช่น Reverse Shell, Ransomware)
ประเภทของ Exploit
1. แบ่งตามการเข้าถึง (Access Vector)
| ประเภท | คำอธิบาย | ตัวอย่าง |
|---|---|---|
| Remote Exploit | โจมตีผ่านเครือข่าย ไม่ต้องมีสิทธิ์เข้าถึงระบบก่อน | EternalBlue (MS17-010), Log4Shell (CVE-2021-44228) |
| Local Exploit | ต้องมีสิทธิ์เข้าถึงระบบ (Local Access) ก่อน จึงขยับสิทธิ์ได้ | Dirty Pipe (CVE-2022-0847), PrintNightmare |
| Client-side Exploit | โจมตีผ่าน Client App (Browser, Office, PDF Reader) เมื่อผู้ใช้เปิดไฟล์/ลิงก์ | Browser Exploit, Malicious PDF/Office Doc |
2. แบ่งตามสถานะช่องโหว่
- Known Exploit: ช่องโหว่ที่รายงานแล้ว มี CVE มี Patch (ควร Patch ด่วน)
- Zero-day Exploit (0-day): ช่องโหว่ที่ยังไม่ถูกค้นพบ/รายงาน ไม่มี Patch อันตรายมาก
- N-day Exploit: Exploit สำหรับช่องโหว่ที่มี Patch แล้ว แต่เหยื่อยังไม่ได้ Patch
Exploit Kit คืออะไร?
ชุดเครื่องมืออัตโนมัติ (Automated Framework) ที่รวม Exploits หลายตัวไว้ด้วยกัน ใช้ในการสแกนช่องโหว่ของเหยื่อ และส่ง Exploit ที่เหมาะสมอัตโนมัติ มักใช้แพร่มัลแวร์ (Ransomware, Banking Trojan) ตัวอย่าง: Angler, Neutrino, RIG, Magnitude
Exploit vs Malware vs Virus
| คำศัพท์ | ความหมาย |
|---|---|
| Vulnerability | จุดอ่อนในโค้ด/ระบบ (Bug, Flaw) |
| Exploit | โค้ด/วิธีที่ใช้ประโยชน์จาก Vulnerability |
| Payload | โค้ดที่รันหลัง Exploit สำเร็จ (Shell, Malware) |
| Malware | ซอฟต์แวร์ร้าย (Virus, Worm, Ransomware, Spyware, Rootkit) |
| Virus | ประเภทหนึ่งของ Malware ที่ติดเชื้อไฟล์และแพร่กระจายตัวเอง |
Exploit เองไม่ใช่ Malware แต่เป็น "ยานพาหนะ" ที่ส่ง Malware เข้าระบบ
ตัวอย่าง Exploit ที่มีชื่อเสียง
- EternalBlue (MS17-010): SMBv1 RCE ใช้โดย WannaCry, NotPetya (2017)
- Log4Shell (CVE-2021-44228): Log4j RCE ผ่าน JNDI Lookup กระทบล้านระบบ
- BlueKeep (CVE-2019-0708): RDP RCE Pre-auth วิญญาณ Windows 7/Server 2008
- PrintNightmare (CVE-2021-34527): Windows Print Spooler RCE/LPE
- Dirty Pipe (CVE-2022-0847): Linux Kernel LPE เขียนไฟล์ Read-only ได้
การป้องกัน Exploit (Mitigation)
- Patch Management: อัปเดต OS, App, Firmware ทันเวลา (Critical ≤ 72 hrs)
- Vulnerability Scanning: Nessus, OpenVAS, Qualys 掃描定期
- EDR/XDR: จับพฤติกรรม Exploit (Memory injection, Process hollowing)
- Application Whitelisting / Applocker: บล็อก Executable ไม่รู้จัก
- Network Segmentation: จำกัด Blast Radius
- Disable Unused Services: ลด Attack Surface (SMBv1, RDP, Print Spooler ถ้าไม่ใช้)
- WAF / IPS: บล็อก Exploit Traffic ที่ทราบ Signature
- Least Privilege: ผู้ใช้/Service ใช้สิทธิ์ขั้นต่ำ
Exploit Database (Exploit-DB)
ฐานข้อมูล Exploit สาธารณะ: exploit-db.com (โดย Offensive Security) รวบรวม PoC, Shellcode, Papers สำหรับนักวิจัยและ Penetration Tester