Matt Graeber และ Matt Nelson นักวิจัยด้านความมั่นคงปลอดภัยค้นพบช่องโหว่บนระบบปฏิบัติการ Windows 10 ซึ่งช่วยให้แฮ็คเกอร์สามารถบายพาสระบบป้องกัน User Account Control (UAC) เพื่อรันไฟล์ DLL แปลกปลอมบนเครื่องของเหยื่อได้

User Account Control (UAC) คืออะไร
UAC เป็นเทคโนโลยีที่ช่วยเพิ่มความมั่นคงปลอดภัยในกับระบบปฏิบัติการด้วยการไม่ยินยอมให้ซอฟต์แวร์แปลกปลอม หรือมัลแวร์รันบนอุปกรณ์คอมพิวเตอร์โดยใช้สิทธิ์เป็น Admin เว้นแต่ว่าผู้ใช้จะเป็นคนกดให้สิทธิ์ด้วยตนเอง
ช่องโหว่บน SilentCleanup ให้สิทธิ์เกินพอดี
ช่องโหว่นี้เกิดจาก Default Scheduled Task ที่ชื่อว่า “SilentCleanup” ที่อยู่ภายใต้ Disk Cleanup Utility ซึ่งบน Windows 10 นั้น SilentCleanup ถูกตั้งค่าให้สามารถเปิดใช้งานได้โดยผู้ใช้ทั่วไป (ที่ไม่ต้องเป็น Admin) แต่สามารถรันโดยใช้สิทธิ์สูงสุดของเครื่องได้ ส่งผลให้แฮ็คเกอร์สามารถใช้ช่องโหว่ตรงจุดนี้ในการสร้างไฟล์ DLL แบบพิเศษขึ้นมารันได้ทันที โดยไม่ผ่านระบบป้องกัน UAC
แอบสับเปลี่ยนไฟล์ DLL สุดท้ายเป็น DLL แปลกปลอมแทน
เมื่อ SilentCleanup เริ่มทำงาน โปรเซส cleanmgr.exe จะถูกรัน เพื่อทำการสร้างโฟลเดอร์ขึ้นมาใหม่ โดยภายในโฟลเดอร์ดังกล่าวจะบรรจุไฟล์ DLL หลายรายการ จากนั้นโปรเซส dismhost.exe จะทำการโหลดไฟล์ DLL เหล่านั้นตามลำดับที่กำหนดไว้
“เนื่องจาก Medium Integrity User ในปัจจุบันมีสิทธิ์ในการเขียนข้อมูลลงบนไดเร็คทอรี่ %TEMP% จึงเป็นไปได้ที่จะเข้ายึดครองไฟล์ DLL ที่ถูกโหลดโดย dismhost.exe และได้รับสิทธิ์ในการรันโค้ดใน High Integrity Process วิธีการนี้รู้จักดีในชื่อ การโจมตีแบบ ‘BypassUAC’” — Graeber และ Nelson อธิบาย
นักวิจัยทั้งสองทำการดักจับไฟล์ DLL สุดท้าย (LogProvider.dll) ที่ถูกโหลดโดย dismhost.exe จากนั้นใช้ WMI Event ติดตามการสร้างโฟลเดอร์ที่เพิ่งกล่าวไปเบื้องต้น รวมไปถึงทำการแลกเปลี่ยนไฟล์ LogProvider.dll กับไฟล์ DLL แปลกปลอมที่สร้างขึ้นแทน (แต่ใช้ชื่อเดิม) ส่งผลให้ dismhost.exe ทำการโหลดไฟล์ DLL ปลอมแทนไฟล์ปกติ โดยที่ UAC ไม่มีการแจ้งเตือนผู้ใช้แต่อย่างใด
อย่างไรก็ตาม เพื่อที่จะทำการโจมตีได้สำเร็จ จำเป็นต้องลอบส่งมัลแวร์เข้าไปเพื่อทำการโจมตี ซึ่ง Graeber และ Nelson ได้เขียนสคริปต์ PowerShell สำหรับทำ POC มาให้เรียบร้อย (คลิกเพื่อดูสคริปต์ PowerShell)
Microsoft ระบุไม่ใช่ช่องโหว่ เพราะ UAC ไม่ใช่ระบบความมั่นคงปลอดภัย
นักวิจัยทั้งสองได้แจ้ง Microsoft เกี่ยวกับช่องโหว่ที่ตนค้นพบ แต่ทาง Microsoft ระบุว่า “UAC ไม่ใช่ระบบความมั่นคงปลอดภัย ดังนั้นจึงไม่สามารถเรียกได้ว่าเป็นช่องโหว่ด้านความมั่นคงปลอดภัย” นั่นหมายความว่า Microsoft จะไม่ออกแพทช์มาเพื่อแก้ไขปัญหาดังกล่าว อย่างไรก็ตาม ผู้ใช้สามารถอุดช่องโหว่นี้โดยยกเลิกการใช้ SilentCleanup หรือเปลี่ยนการตั้งค่าไม่ให้รันแบบ “Run with highest privileges”
ที่มา: https://www.helpnetsecurity.com/2016/07/26/user-account-control-bypass/
TechTalkThai ศูนย์รวมข่าว Enterprise IT ออนไลน์แห่งแรกในประเทศไทย







