Google เปิดเผยช่องโหว่ด้านความปลอดภัยที่ไม่ได้รับการแก้ไขใน Windows 8.1

ไอคอนเวลาอ่านหนังสือ 3 นาที. อ่าน


ผู้อ่านช่วยสนับสนุน MSpoweruser เราอาจได้รับค่าคอมมิชชันหากคุณซื้อผ่านลิงก์ของเรา ไอคอนคำแนะนำเครื่องมือ

อ่านหน้าการเปิดเผยข้อมูลของเราเพื่อดูว่าคุณจะช่วย MSPoweruser รักษาทีมบรรณาธิการได้อย่างไร อ่านเพิ่มเติม

เมนูเริ่มของ Windows 8.1 ใหม่

นักวิจัยของ Google ได้เปิดเผยช่องโหว่ด้านความปลอดภัยที่ไม่ได้รับการแก้ไขใน Windows 8.1 นักวิจัยของ Google ได้โพสต์จุดบกพร่องนี้บนหน้าการวิจัยความปลอดภัยของ Google และอยู่ภายใต้กำหนดเส้นตายการเปิดเผยข้อมูล 90 วัน หากผ่านไป 90 วันโดยไม่มีโปรแกรมแก้ไขที่ครอบคลุม รายงานข้อบกพร่องจะปรากฏต่อสาธารณะโดยอัตโนมัติ ไม่มีข้อมูลว่า Microsoft ยอมรับข้อบกพร่องหรือว่ากำลังทำงานอยู่หรือไม่ แต่ฉันรู้สึกว่าเป็นการย้ายที่ขาดความรับผิดชอบจาก Google ในการเผยแพร่จุดอ่อนในผลิตภัณฑ์ต่างๆ เช่น Windows 8 ซึ่งมีผู้ใช้หลายล้านคนทุกวัน

ข้อมูลต่อไปนี้ถูกโพสต์เกี่ยวกับข้อบกพร่อง

ใน Windows 8.1 อัปเดตการเรียกระบบ NtApphelpCacheControl (รหัสอยู่ใน ahcache.sys) อนุญาตให้แคชข้อมูลความเข้ากันได้ของแอปพลิเคชันเพื่อนำมาใช้ใหม่อย่างรวดเร็วเมื่อสร้างกระบวนการใหม่ ผู้ใช้ทั่วไปสามารถสืบค้นแคชได้ แต่ไม่สามารถเพิ่มรายการแคชใหม่ได้ เนื่องจากการดำเนินการนี้จำกัดเฉพาะผู้ดูแลระบบ มีการตรวจสอบในฟังก์ชัน AhcVerifyAdminContext

ฟังก์ชันนี้มีช่องโหว่ที่ไม่สามารถตรวจสอบโทเค็นการแอบอ้างของผู้โทรได้อย่างถูกต้องเพื่อตรวจสอบว่าผู้ใช้เป็นผู้ดูแลระบบหรือไม่ มันอ่านโทเค็นการเลียนแบบของผู้โทรโดยใช้ PsReferenceImpersonationToken จากนั้นทำการเปรียบเทียบระหว่าง SID ของผู้ใช้ในโทเค็นกับ SID ของ LocalSystem จะไม่ตรวจสอบระดับการเลียนแบบของโทเค็น ดังนั้นจึงสามารถรับโทเค็นการระบุตัวตนบนเธรดของคุณจากกระบวนการของระบบในเครื่องและข้ามการตรวจสอบนี้ เพื่อจุดประสงค์นี้ PoC ละเมิดบริการ BITS และ COM เพื่อรับโทเค็นการเลียนแบบ แต่อาจมีวิธีอื่น

เป็นเพียงกรณีของการหาวิธีใช้ประโยชน์จากช่องโหว่ ใน PoC รายการแคชถูกสร้างขึ้นเพื่อปฏิบัติการยกระดับอัตโนมัติของ UAC (เช่น ComputerDefaults.exe) และตั้งค่าแคชให้ชี้ไปที่รายการที่เข้ากันได้กับแอปสำหรับ regsvr32 ซึ่งบังคับให้ RedirectExe shim โหลด regsvr32.exe ใหม่ อย่างไรก็ตาม ปฏิบัติการใด ๆ ก็สามารถนำมาใช้ได้ เคล็ดลับคือการค้นหาการกำหนดค่าแอปที่มีอยู่ก่อนที่เหมาะสมเพื่อใช้ในทางที่ผิด

ไม่ชัดเจนว่า Windows 7 มีช่องโหว่หรือไม่เนื่องจากเส้นทางรหัสสำหรับการอัปเดตมีการตรวจสอบสิทธิ์ TCB (แม้ว่าจะดูเหมือนว่าขึ้นอยู่กับแฟล็กซึ่งอาจข้ามได้) ไม่มีความพยายามใดๆ ในการตรวจสอบบน Windows 7 หมายเหตุ: นี่ไม่ใช่จุดบกพร่องใน UAC เพียงใช้การยกระดับอัตโนมัติของ UAC เพื่อจุดประสงค์ในการสาธิต

PoC ได้รับการทดสอบในการอัปเดต Windows 8.1 ทั้งเวอร์ชัน 32 บิตและ 64 บิต ฉันขอแนะนำให้ใช้ 32 บิตเพื่อให้แน่ใจ ในการตรวจสอบทำตามขั้นตอนต่อไปนี้:

1) ใส่ AppCompatCache.exe และ Testdll.dll ลงในดิสก์
2) ตรวจสอบว่า UAC เปิดใช้งานอยู่ ผู้ใช้ปัจจุบันคือผู้ดูแลระบบ split-token และการตั้งค่า UAC เป็นค่าเริ่มต้น (ไม่มีข้อความแจ้งสำหรับไฟล์เรียกทำงานเฉพาะ)
3) เรียกใช้ AppCompatCache จากพรอมต์คำสั่งด้วยบรรทัดคำสั่ง AppCompatCache.exe c:windowssystem32ComputerDefaults.exe testdll.dll
4) หากสำเร็จ เครื่องคิดเลขควรปรากฏว่าทำงานเป็นผู้ดูแลระบบ หากไม่ได้ผลในครั้งแรก (และคุณได้รับโปรแกรม ComputerDefaults) เรียกใช้การหาประโยชน์จาก 3 อีกครั้ง ดูเหมือนว่าจะมีปัญหาการแคช/กำหนดเวลาในบางครั้งในการรันครั้งแรก

ที่มา: Google ผ่าน: Neowin

ข้อมูลเพิ่มเติมเกี่ยวกับหัวข้อต่างๆ: ดาวน์โหลด, ไมโครซอฟท์, ความปลอดภัย, ปรับปรุง, หน้าต่าง, หน้าต่าง 8.1