สรุปสั้น
PHP2Shell คือ ชื่อเรียกช่องโหว่ RCE ระดับวิกฤต 2 ตัวใน PHP (CVE-2026-109618 และ CVE-2026-109619) ที่โครงการ PHP ออกแพตช์ฉุกเฉินเมื่อ 21 ตุลาคม 2569 (2026/10/215 ) ที่ผ่านมามีแต่รายงานการสแกนและการโจมตีที่ล้มเหลว (2026/10/276 ) จนล่าสุดทีม Unit 42 ของบริษัท Palo Alto Networks เปิดเผยเหยื่อที่ถูกเจาะสำเร็จรายแรก คือ หน่วยงานรัฐแห่งหนึ่งในยุโรป (ไม่ระบุชื่อและประเทศ) หลังเจาะเข้าได้ ผู้โจมตีใช้เวลาเพียง 2 ชั่วโมงก็ได้ hash รหัสผ่านและ secret ของ MFA ไป จากนั้นใช้เทคนิค NTLM relay เจาะต่อเข้า Active Directory เพื่อพยายามยึดสิทธิ์ Domain Admin ซึ่งเท่ากับคุมเครือข่ายได้ทั้งหมด Unit 42 เชื่อว่าผู้สั่งงานไม่ใช่คน แต่เป็นเอเจนต์ AI เพราะผลลัพธ์ของคำสั่งถูกจัดรูปแบบไว้ให้โมเดล AI อ่าน
อีกด้านหนึ่ง บริษัท CYFIRMA พบแคมเปญที่สงสัยว่าเป็นกลุ่ม Lazarus ของเกาหลีเหนือ (ความเชื่อมั่นระดับกลาง) กำลังเตรียมโจมตี PHP2Shell โดยทำรายชื่อเซิร์ฟเวอร์ที่ยังไม่แพตช์ไว้ 216 เครื่องในหลายประเทศ รวมถึงไทย อินโดนีเซีย สิงคโปร์ ญี่ปุ่น และเกาหลีใต้ เน้นหน่วยงานรัฐ การเงิน แพลตฟอร์มธุรกรรมออนไลน์ โลจิสติกส์ และท่าอากาศยาน การสแกนทำแบบช้าและเปลี่ยนเครื่องต้นทางไปเรื่อย ๆ จึงหลบระบบแจ้งเตือนที่ดูจากปริมาณคำขอได้ CYFIRMA เตือนว่าขั้นต่อไป คือ การโจมตีจริง ผู้ดูแลเซิร์ฟเวอร์ PHP ในกลุ่มเหล่านี้จึงควรอัปเกรดทันที และถือว่าตัวเองอาจอยู่ในรายชื่อเป้าหมายแล้ว
รายละเอียดข่าว
เว็บไซต์ The Hacker News รายงานเมื่อวันที่ 25 ตุลาคม 2569 ว่ามีผู้โจมตีใช้แพลตฟอร์ม AI แบบเอเจนต์ช่วยทำงานหลังเจาะระบบผ่าน PHP2Shell สำเร็จ โดย Unit 42 ระบุว่า “ในกรณีหนึ่ง ผู้โจมตีเล็งหน่วยงานรัฐในยุโรป และภายในสองชั่วโมงหลังเจาะเข้าครั้งแรกก็เข้าถึง hash รหัสผ่านและ secret ของ MFA ได้สำเร็จ” ก่อนจะ “ตั้งอุโมงค์ NTLM relay เข้า Active Directory และพยายามยกสิทธิ์เป็น Domain Admin” ทั้งนี้ Unit 42 ไม่ได้เปิดเผยชื่อหรือประเทศของหน่วยงาน และไม่ได้ระบุว่าผู้โจมตีเป็นใคร
ด้าน CYFIRMA นาย Kumar Ritesh ซีอีโอและผู้ก่อตั้ง อธิบายกับ The Hacker News ว่าการสแกนตั้งใจทำทีละน้อยและเว้นจังหวะ เมื่อโหนดใดเจอการบล็อกหรือ rate limit ก็จะถูกทิ้งแล้วเปลี่ยนไปใช้โหนดใหม่ทันที ระบบแจ้งเตือนที่ตั้งเกณฑ์จากจำนวนคำขอจึงไม่น่าจะจับได้ แคมเปญนี้ใช้โหนดที่ถูกยึดมา 21 จุด และสั่งงานกันผ่านช่องทางปิดบนเครือข่าย I2P
เหตุที่ CYFIRMA โยงไปเกาหลีเหนือมี 2 ข้อ ข้อแรก บัญชีผู้สั่งงาน 2 ชื่อ คือ 전창혁 2 (Jeon Chang-hyuk 2) และ 최아린 (Choi A-rin) เคยพบในปฏิบัติการลับของกลุ่มนี้มาก่อน ข้อสอง บทสนทนาที่ได้มาใช้คำศัพท์และการสะกดแบบภาษาเกาหลีเหนือ (Munhwaŏ) ไม่ใช่แบบเกาหลีใต้ ในบทสนทนา ผู้สั่งงานระบุว่าจะคัดเป้าหมายที่น่าสนใจที่สุดให้เสร็จภายในวันเดียวกัน แล้วเลือกว่าจะดัดแปลงโค้ดโจมตีสาธารณะตัวใดมาใช้
นอกจากนี้ บริษัท Defused Cyber รายงานเมื่อ 25 ตุลาคมว่าพบการหยั่งเชิง PHP2Shell ใส่ honeypot ที่จำลองเป็นอุปกรณ์ Palo Alto Networks GlobalProtect จาก IP 204.76.203[.]7 ซึ่งเป็น IP ที่รู้กันว่าใช้ยิงโจมตีแบบหว่าน ส่วนบริษัท Cloudflare ระบุว่าตรวจพบความพยายามโจมตีหลายล้านครั้งนับตั้งแต่เปิดเผยช่องโหว่ และ PHP Foundation ได้เตือนถึงช่องโหว่ RCE ตัวที่ 3 คือ CVE-2026-115560 ซึ่งเกิดได้เฉพาะกับคอนฟิกที่ไม่ปกติ (2026/10/275
)
วิธีการโจมตี
สัญญาณของเอเจนต์ AI — Unit 42 พบชุดคำสั่งสำรวจเครื่องที่ถูกเจาะซึ่งมีลักษณะของผู้โจมตีแบบเอเจนต์ ได้แก่ การใช้ข้อมูลรับรองที่ขโมยมาสำรวจฐานข้อมูลการยืนยันตัวตนเพื่อหา hash รหัสผ่านและ secret ของ 2FA การส่งคำค้น LDAP แบบไม่ระบุตัวตนด้วย curl ไปที่ domain controller เพื่อหาบัญชีผู้ดูแล และการสำรวจเครื่องเพื่อหาการเชื่อมโยง DNS กับ AD เครื่องภายใน กลุ่มสิทธิ์สูง และผู้ใช้ที่ล็อกอินอยู่ จุดที่บ่งชี้ชัด คือ “คำสั่งแต่ละชุดถูกครอบด้วยตัวคั่นหัวข้ออย่าง ==SHELLUSER== และ ==PASSWD==” ซึ่ง “สร้างผลลัพธ์ที่เครื่องอ่านได้ เพื่อให้โมเดล AI อ่าน”
สิ่งที่ทำให้การโจมตียาก — บริษัท Datadog อธิบายว่าผู้โจมตีมีข้อจำกัดหลัก 2 ข้อ คือ ต้องกำหนดขนาดคำขอให้การจองหน่วยความจำล้มเหลวในจังหวะที่ถูกต้อง และต้องข้าม ASLR ให้ได้เพื่อหาที่อยู่หน่วยความจำที่ใช้ได้ โค้ดโจมตีต้องใช้ชื่อฟิลด์ฟอร์มที่เล็กพอจะอยู่ในขนาดคำขอที่รับได้ แต่ใหญ่พอที่การคัดลอกคีย์จะเกิน memory_limit เพราะเมื่อ PHP แยกชื่อฟิลด์ฟอร์ม มันคัดลอกชื่อหลายครั้ง ผู้โจมตีใช้หน่วยความจำส่วนเกินนี้บังคับให้การจองหน่วยความจำล้มเหลวระหว่างที่ PHP คัดลอกชื่อลง hash table
การหยั่งเชิงอุปกรณ์ GlobalProtect — คำขอที่ Defused Cyber พบมีตัวระบุ PHP_SESSION_UPLOAD_PROGRESS ค่า p2s-rider และไฟล์อัปโหลดหลอกที่ไม่มีเพย์โหลด ซึ่งชี้ว่ามีผู้ตรวจพฤติกรรม upload progress ที่มีช่องโหว่ และน่าจะกำลังสร้างรายชื่อเป้าหมายอุปกรณ์ Palo Alto
ร่องรอยในล็อก — บริษัท ReliaQuest จำลอง CVE-2026-109618 ในแล็บ และพบลำดับร่องรอยข้าม PHP error log, Apache access log, Apache error log และ system log ที่ใช้ตรวจจับได้ คือ คำขอ POST ได้ผลตอบกลับ 500 ตามด้วย PHP รายงานหน่วยความจำหมดและ heap เสียหาย แล้ว worker ของ Apache ที่รับคำขอนั้นล่ม
ผลกระทบต่อไทย
ไทยอยู่ในรายชื่อประเทศของเครื่องเป้าหมาย 216 เครื่องที่ CYFIRMA พบในแคมเปญที่สงสัยว่าเป็นเกาหลีเหนือ ร่วมกับอินโดนีเซีย สิงคโปร์ ญี่ปุ่น เกาหลีใต้ ไต้หวัน อินเดีย ออสเตรเลีย ซาอุดีอาระเบีย สหรัฐอาหรับเอมิเรตส์ สหรัฐฯ และสหภาพยุโรป ข้อจำกัดของหลักฐาน คือ รายงานที่อ้างถึงไม่ได้แยกจำนวนเครื่องรายประเทศ และไม่ได้ระบุว่าเป้าหมายในไทยเป็นหน่วยงานใด แต่กลุ่มอุตสาหกรรมที่ถูกเลือก คือ หน่วยงานรัฐ สถาบันการเงินและแพลตฟอร์มธุรกรรมออนไลน์ โลจิสติกส์ และการบิน ตรงกับประวัติของกลุ่ม Lazarus ที่เจาะสถาบันการเงินเพื่อขโมยเงินและคริปโต และเคยยึดเซิร์ฟเวอร์ PHP กับ WordPress ไว้เป็น C2 และฝัง web shell มาแล้ว
เรื่องนี้ซ้อนกับข้อสั่งการที่ อว. และ สกมช. ให้หน่วยงานไทยเร่งอัปเกรด PHP ตั้งแต่ 22 ตุลาคม (2026/10/215 ) การสแกนแบบช้าและหมุนโหนดของแคมเปญนี้ออกแบบมาให้หลบการแจ้งเตือนแบบอิงเกณฑ์ หน่วยงานที่ดูแค่จำนวนคำขอผิดปกติจึงอาจไม่เห็น และกรณีหน่วยงานรัฐยุโรปแสดงว่าเมื่อเจาะได้แล้ว ผู้โจมตีที่ใช้เอเจนต์ AI ไปถึง Active Directory ได้ภายในไม่กี่ชั่วโมง ซึ่งเร็วกว่ารอบการตรวจแจ้งเตือนของหลายองค์กร ภาพรวมระดับโลกก็ใหญ่ Bitsight พบระบบที่รัน PHP หรือซอฟต์แวร์ที่เกี่ยวกับ PHP เปิดสู่อินเทอร์เน็ตเกือบ 37 ล้านระบบ และระบุว่า “ช่องโหว่ใน runtime แก้ด้วยการเปลี่ยนโค้ดแอปไม่ได้ WAF หรือการอัปเดตปลั๊กอินก็ไม่ได้ลบมันออก มีแต่การอัปเดต PHP บนเครื่องเท่านั้นที่ปิดช่องได้”
คำแนะนำ
- อัปเกรดเป็น PHP 8.5.12, 8.4.27, 8.3.36 หรือ 8.2.35 ทันที โดยเฉพาะหน่วยงานรัฐ สถาบันการเงิน แพลตฟอร์มชำระเงิน โลจิสติกส์ และท่าอากาศยาน ซึ่งเป็นกลุ่มที่ CYFIRMA ระบุ
- ตั้ง
session.upload_progress.enabled=0เป็นมาตรการเสริม ซึ่งช่วยทั้ง CVE-2026-109619 และ CVE-2026-115560 (2026/10/275 ) - ตั้งกฎตรวจจับตามลำดับที่ ReliaQuest ระบุ คือ POST ได้ 500 แล้ว PHP รายงาน memory exhaustion/heap corruption แล้ว worker ของ Apache ล่ม และค้นคำขอที่มี
PHP_SESSION_UPLOAD_PROGRESSค่าp2s-rider - อย่าพึ่งการแจ้งเตือนแบบอิงเกณฑ์อย่างเดียว ให้ดูคำขอจาก IP ที่เปลี่ยนไปเรื่อย ๆ แต่ใช้รูปแบบเดียวกันข้ามช่วงเวลานาน และบล็อก
204.76.203[.]7 - ถ้าเซิร์ฟเวอร์ PHP เคยเปิดโดยไม่แพตช์ ให้ตรวจการค้น LDAP แบบไม่ระบุตัวตนจากเว็บเซิร์ฟเวอร์ไปยัง domain controller การเข้าถึงตารางรหัสผ่านและ secret ของ MFA ในฐานข้อมูลแอป และสัญญาณ NTLM relay
- หากพบการเจาะ ให้ถือว่า hash รหัสผ่านและ secret ของ MFA ในระบบนั้นรั่วแล้ว ลงทะเบียน MFA ใหม่ เปลี่ยนรหัสผ่าน และตรวจบัญชีสิทธิ์สูงใน AD
- หน่วยงานไทยที่พบเหตุแจ้ง ThaiCERT ได้ที่โทร. 02-114-3531 (24 ชั่วโมง) หรือ thaicert@ncsa.or.th
Indicators of Compromise (IoCs)
| ประเภท | ค่า (defang แล้ว) | คำอธิบาย |
|---|---|---|
| IPv4 | 204.76.203[.]7 | IP ยิงโจมตีแบบหว่าน หยั่งเชิง PHP2Shell ใส่ honeypot GlobalProtect (Defused Cyber) |
| HTTP marker | PHP_SESSION_UPLOAD_PROGRESS=p2s-rider | ตัวระบุในคำขอตรวจพฤติกรรม upload progress |
| ตัวคั่นผลลัพธ์ | ==SHELLUSER==, ==PASSWD== | ตัวคั่นในคำสั่งของเอเจนต์ AI หลังเจาะ (Unit 42) |
แหล่งอ้างอิง
- PHP2Shell Exploitation Hits Government Entity Amid Global Scanning and Signs of AI-Assisted Hacking — The Hacker News
- CVE-2026-109618 and CVE-2026-109619 — Palo Alto Networks Unit 42
- Suspected DPRK Campaign Staging PHP2Shell Targeting — CYFIRMA
- PHP2Shell: Critical Vulnerabilities in PHP — Datadog Security Labs
- Threat Spotlight: PHP2Shell — ReliaQuest
