ClickOnce: ช่องโหว่ลับในโลกไซเบอร์ที่หลายคนมองข้าม

ClickOnce: ช่องโหว่ลับในโลกไซเบอร์ที่หลายคนมองข้าม

ในโลกของการโจมตีทางไซเบอร์ มักจะมีการใช้เครื่องมือที่ถูกกฎหมายของระบบปฏิบัติการวินโดวส์ หรือที่เรียกว่า LOLBins (Living Off the Land Binaries) เพื่อหลีกเลี่ยงการตรวจจับ แม้ mshta.exe, rundll32.exe หรือ installutil.exe จะเป็นที่รู้จักกันดีในฐานะเครื่องมือของ Red Team แต่มีอีกหนึ่งกลไกที่มักถูกมองข้าม นั่นคือ ClickOnce ซึ่งเป็นฟีเจอร์ของไมโครซอฟต์ที่ซ่อนศักยภาพในการถูกนำไปใช้โจมตีได้อย่างแนบเนียน

ClickOnce คืออะไรและทำไมถึงสำคัญ?

ClickOnce เป็นเทคโนโลยีของไมโครซอฟต์ที่ช่วยให้การติดตั้งและอัปเดตแอปพลิเคชันบนวินโดวส์ทำได้ง่าย เพียงแค่คลิกลิงก์จากเว็บเซิร์ฟเวอร์หรือเครือข่าย โดยมักไม่จำเป็นต้องใช้สิทธิ์ผู้ดูแลระบบ

ความสะดวกนี้เองที่ทำให้ ClickOnce เป็นส่วนหนึ่งของระบบวินโดวส์และเป็น ไบนารีที่ถูกกฎหมาย ซึ่งหมายความว่าการทำงานของมันมักจะดูเหมือนกิจกรรมปกติของระบบ ทำให้เป็นเป้าหมายที่น่าสนใจสำหรับผู้โจมตีที่ต้องการหลบเลี่ยงการตรวจจับ

ClickOnce ถูกใช้เป็นเครื่องมือโจมตีได้อย่างไร?

ผู้โจมตีสามารถใช้ประโยชน์จาก ClickOnce โดยเฉพาะผ่านกระบวนการหลักอย่าง dfsvc.exe ด้วยการสร้างไฟล์ Application Manifest (.application) ที่ถูกออกแบบมาเป็นพิเศษ เพื่อหลอกให้ ClickOnce ทำงานผิดวัตถุประสงค์ และรันโค้ดที่เป็นอันตราย

หนึ่งในกลไกสำคัญคือ Trusted Application Deployment (TAD) ซึ่งอนุญาตให้แอปพลิเคชันที่ลงนามด้วยใบรับรองที่เชื่อถือได้ สามารถทำงานด้วยสิทธิ์ที่สูงขึ้น โดยไม่ถูก UAC ขัดขวาง หากผู้โจมตีสามารถปลอมแปลงใบรับรองหรือใช้ใบรับรองที่ถูกบุกรุกได้ ก็จะสามารถรันโค้ดด้วยสิทธิ์สูงได้อย่างง่ายดาย

นอกจากนี้ ผู้โจมตียังสามารถกำหนดให้ dfsvc.exe ไปเปิดใช้งาน LOLBins อื่นๆ เช่น msbuild.exe หรือ InstallUtil.exe

ตัวอย่างเช่น ไฟล์ .application สามารถถูกสร้างขึ้นเพื่อบอกให้ ClickOnce เรียกใช้ msbuild.exe โดยมีอาร์กิวเมนต์ที่ชี้ไปยังไฟล์ .csproj ที่มีโค้ด C# อันตราย เมื่อผู้ใช้คลิกไฟล์นี้ ClickOnce จะดำเนินการตามคำสั่งนั้น และรันโค้ดมัลแวร์บนเครื่องเป้าหมาย

ในทำนองเดียวกัน สามารถใช้กับ InstallUtil.exe ได้ โดยไฟล์ .application จะสั่งให้ InstallUtil.exe รันโค้ดที่อยู่ในแอสเซมบลี .NET ที่เป็นอันตราย ทำให้เกิดการรันโค้ดบนระบบได้อีกช่องทางหนึ่ง

การป้องกันและตรวจจับการโจมตีด้วย ClickOnce

เพื่อลดความเสี่ยงจากการโจมตีด้วย ClickOnce องค์กรจำเป็นต้องมีมาตรการทั้งการตรวจจับและการป้องกันที่แข็งแกร่ง

สำหรับการ ตรวจจับ ควรให้ความสำคัญกับการเฝ้าระวังพฤติกรรมการทำงานของ dfsvc.exe โดยเฉพาะอย่างยิ่งการเรียกใช้โปรเซสลูกที่ไม่ปกติ เช่น msbuild.exe, InstallUtil.exe หรือโปรแกรมอื่นๆ ที่ไม่เกี่ยวข้องกับแอปพลิเคชันที่เชื่อถือได้ รวมถึงการตรวจสอบการดาวน์โหลดไฟล์ ClickOnce manifest (.application) จากแหล่งที่ไม่น่าเชื่อถือ และตรวจสอบความถูกต้องของใบรับรองที่ใช้ลงนามแอปพลิเคชัน ClickOnce

ส่วนมาตรการ ป้องกัน ควรพิจารณาใช้ Application Whitelisting เพื่อจำกัดการรันโปรเซสอย่าง dfsvc.exe หากไม่มีความจำเป็น หรือป้องกันไม่ให้มันเรียกใช้โปรแกรมที่น่าสงสัย นอกจากนี้ การบังคับใช้ นโยบายการลงนามโค้ด (Code Signing Policies) ที่เข้มงวด เพื่อให้มั่นใจว่าเฉพาะแอปพลิเคชันที่ลงนามโดยหน่วยงานที่เชื่อถือได้เท่านั้นที่สามารถรันได้

ควรเฝ้าระวังและบล็อกการดาวน์โหลด manifest หรือไฟล์ปฏิบัติการที่น่าสงสัยจากโดเมนที่ไม่รู้จักบนเครือข่ายอย่างเคร่งครัด รวมถึงการให้ความรู้แก่ผู้ใช้งานเกี่ยวกับการระมัดระวังการคลิกลิงก์ที่ไม่คุ้นเคย และการใช้ Endpoint Detection and Response (EDR) จะช่วยเสริมการตรวจจับพฤติกรรมการโจมตีที่ซับซ้อนได้เป็นอย่างดี