แพ็กเกจ PHP ของ Packagist ที่เป็นอันตราย
นักวิเคราะห์ด้านความปลอดภัยทางไซเบอร์ได้ระบุแพ็กเกจ PHP ที่เป็นอันตรายบน Packagist ซึ่งปลอมตัวเป็นไลบรารีตัวช่วยของ Laravel ที่ถูกต้องตามกฎหมาย ในขณะที่แอบแฝงมัลแวร์ประเภท Remote Access Trojan (RAT) ไว้ภายใน มัลแวร์นี้ทำงานได้อย่างราบรื่นในสภาพแวดล้อมของ Windows, macOS และ Linux ซึ่งสร้างความเสี่ยงอย่างมากต่อระบบที่ได้รับผลกระทบ
แพ็กเกจที่ระบุไว้ ได้แก่:
- nhattuanbl/lara-helper (37 ดาวน์โหลด)
- nhattuanbl/simple-queue (ดาวน์โหลด 29 ครั้ง)
- nhattuanbl/lara-swagger (49 ดาวน์โหลด)
แม้ว่า nhattuanbl/lara-swagger จะไม่มีโค้ดที่เป็นอันตรายโดยตรง แต่ก็ระบุ nhattuanbl/lara-helper เป็นส่วนประกอบที่จำเป็นของ Composer ซึ่งส่งผลให้มีการติดตั้ง RAT ที่ฝังอยู่ภายใน แม้ว่าจะมีการเปิดเผยต่อสาธารณะแล้ว แต่แพ็กเกจเหล่านี้ยังคงสามารถเข้าถึงได้ในที่เก็บ และควรลบออกจากสภาพแวดล้อมที่ได้รับผลกระทบโดยทันที
สารบัญ
กลยุทธ์การปกปิดความจริงเพื่อซ่อนเจตนาร้าย
การวิเคราะห์โค้ดอย่างละเอียดแสดงให้เห็นว่าทั้ง lara-helper และ simple-queue มีไฟล์ชื่อ src/helper.php ที่ออกแบบมาเพื่อหลีกเลี่ยงการตรวจจับ มัลแวร์นี้ใช้กลยุทธ์การปกปิดขั้นสูง รวมถึงการจัดการการไหลของโปรแกรม การเข้ารหัสชื่อโดเมนและสตริงคำสั่ง การซ่อนเส้นทางไฟล์ และการสุ่มตัวระบุตัวแปรและฟังก์ชัน
เทคนิคเหล่านี้ทำให้การวิเคราะห์แบบคงที่ทำได้ยากขึ้นอย่างมาก และช่วยให้มัลแวร์สามารถหลีกเลี่ยงการตรวจสอบโค้ดแบบดั้งเดิมและเครื่องมือสแกนความปลอดภัยอัตโนมัติได้
โครงสร้างพื้นฐานการควบคุมและสั่งการช่วยให้สามารถเข้าควบคุมโฮสต์ได้อย่างสมบูรณ์
เมื่อรันแล้ว RAT จะสร้างการเชื่อมต่อกับเซิร์ฟเวอร์ควบคุมและสั่งการ (C2) ที่ helper.leuleu.net บนพอร์ต 2096 มันจะส่งข้อมูลการสอดแนมระบบและเข้าสู่สถานะการฟังอย่างต่อเนื่องเพื่อรอคำสั่งเพิ่มเติม การสื่อสารเกิดขึ้นผ่าน TCP โดยใช้ฟังก์ชัน stream_socket_client() ของ PHP
ช่องทางลับนี้รองรับคำสั่งต่างๆ จากผู้ปฏิบัติงานได้หลากหลาย ทำให้สามารถควบคุมระบบได้อย่างสมบูรณ์ ความสามารถต่างๆ ได้แก่:
- มีการส่งสัญญาณวัดอัตราการเต้นของหัวใจอัตโนมัติทุก 60 วินาทีผ่านระบบ ping
- การส่งข้อมูลโปรไฟล์ระบบผ่านระบบสารสนเทศ
- การเรียกใช้คำสั่งเชลล์ (cmd)
- การเรียกใช้คำสั่ง PowerShell (powershell)
- การเรียกใช้คำสั่งในพื้นหลัง (run)
เพื่อเพิ่มความน่าเชื่อถือสูงสุด RAT จะตรวจสอบการตั้งค่า disable_functions ของ PHP และเลือกวิธีการเรียกใช้งานที่พร้อมใช้งานวิธีแรกจากตัวเลือกต่อไปนี้: popen, proc_open, exec, shell_exec, system หรือ passthru วิธีการปรับตัวนี้ช่วยให้สามารถหลีกเลี่ยงมาตรการรักษาความปลอดภัยของ PHP ทั่วไปได้
กลไกการเชื่อมต่อใหม่ที่เกิดขึ้นอย่างต่อเนื่องเพิ่มความเสี่ยง
แม้ว่าเซิร์ฟเวอร์ C2 ที่ระบุไว้จะไม่ตอบสนองในขณะนี้ แต่โปรแกรมมัลแวร์ถูกตั้งโปรแกรมให้พยายามเชื่อมต่อใหม่ทุกๆ 15 วินาทีอย่างต่อเนื่อง กลไกการทำงานต่อเนื่องนี้ทำให้มั่นใจได้ว่าระบบที่ถูกโจมตีจะยังคงมีความเสี่ยงอยู่ แม้ว่าผู้โจมตีจะสามารถกู้คืนการใช้งานเซิร์ฟเวอร์ได้ก็ตาม
แอปพลิเคชัน Laravel ใดๆ ที่ติดตั้ง lara-helper หรือ simple-queue จะทำงานได้โดยมี RAT ฝังอยู่ภายใน ผู้โจมตีจะได้รับสิทธิ์เข้าถึงเชลล์ระยะไกลอย่างเต็มรูปแบบ ความสามารถในการอ่านและแก้ไขไฟล์ใดๆ และการมองเห็นรายละเอียดระดับระบบอย่างต่อเนื่องสำหรับโฮสต์ที่ติดเชื้อแต่ละเครื่อง
บริบทในการดำเนินการช่วยเพิ่มผลกระทบให้มากขึ้น
การเปิดใช้งานจะเกิดขึ้นโดยอัตโนมัติระหว่างการบูตแอปพลิเคชันผ่านผู้ให้บริการหรือผ่านการโหลดคลาสอัตโนมัติในกรณีของคิวแบบง่าย ส่งผลให้ RAT ทำงานภายในกระบวนการเดียวกันกับเว็บแอปพลิเคชัน โดยสืบทอดสิทธิ์การเข้าถึงไฟล์ระบบและตัวแปรสภาพแวดล้อมที่เหมือนกันทุกประการ
บริบทการดำเนินการนี้ทำให้ผู้โจมตีสามารถเข้าถึงข้อมูลสำคัญ เช่น ข้อมูลประจำตัวฐานข้อมูล คีย์ API และเนื้อหาของไฟล์ .env ได้ ดังนั้น การโจมตีจึงขยายวงกว้างออกไปนอกเหนือจากการควบคุมระดับระบบ ไปสู่การเปิดเผยความลับของแอปพลิเคชันและการเข้าถึงโครงสร้างพื้นฐานอย่างเต็มรูปแบบ
กลยุทธ์สร้างความน่าเชื่อถือผ่านบรรจุภัณฑ์ที่สะอาดตา
จากการตรวจสอบเพิ่มเติมพบว่า ผู้เผยแพร่รายเดียวกันได้ปล่อยแพ็กเกจเพิ่มเติมอีก 3 แพ็กเกจ ได้แก่ nhattuanbl/lara-media, nhattuanbl/snooze และ nhattuanbl/syslog ซึ่งไม่มีโค้ดที่เป็นอันตราย ดูเหมือนว่าแพ็กเกจเหล่านี้จะเป็นเครื่องมือสร้างชื่อเสียงที่ออกแบบมาเพื่อเพิ่มความน่าเชื่อถือและส่งเสริมการใช้งานแพ็กเกจที่เป็นอาวุธ
มาตรการบรรเทาและตอบสนองฉุกเฉิน
องค์กรที่ติดตั้งแพ็กเกจที่เป็นอันตรายใดๆ ควรสันนิษฐานว่าระบบของตนถูกโจมตีแล้ว มาตรการตอบสนองที่จำเป็น ได้แก่ การลบไลบรารีที่ได้รับผลกระทบโดยทันที การหมุนเวียนข้อมูลประจำตัวทั้งหมดที่เข้าถึงได้จากสภาพแวดล้อมของแอปพลิเคชัน และการตรวจสอบอย่างละเอียดเกี่ยวกับการรับส่งข้อมูลเครือข่ายขาออกเพื่อหาการพยายามเชื่อมต่อกับโครงสร้างพื้นฐาน C2 ที่ระบุไว้
การไม่ตอบสนองอย่างเด็ดขาดอาจทำให้ระบบเสี่ยงต่อการถูกโจมตีอีกครั้ง หากโครงสร้างพื้นฐานการควบคุมและสั่งการกลับมาใช้งานได้อีกครั้ง