ความฉลาดทางข้อมูลเชิงกำเนิด

จุดอ่อนของ Windows 'MagicDot' ทำให้เกิดกิจกรรม Rootkit ที่ไม่มีสิทธิพิเศษ

วันที่:

BLACK HAT ASIA – สิงคโปร์ – ปัญหาที่ทราบที่เกี่ยวข้องกับกระบวนการแปลงเส้นทาง DOS เป็น NT ใน Windows ทำให้เกิดความเสี่ยงที่สำคัญสำหรับธุรกิจโดยการอนุญาตให้ผู้โจมตีได้รับความสามารถหลังการแสวงหาประโยชน์เหมือนรูทคิทเพื่อปกปิดและเลียนแบบไฟล์ ไดเรกทอรี และกระบวนการ

อ้างอิงจาก Or Yair นักวิจัยด้านความปลอดภัยของ SafeBreach ซึ่งสรุปปัญหาระหว่างเซสชั่นที่นี่ในสัปดาห์นี้ นอกจากนี้เขายังให้รายละเอียดช่องโหว่สี่รายการที่เกี่ยวข้องกับปัญหานี้ซึ่งเขา ขนานนามว่า “MagicDot” – รวมถึงจุดบกพร่องในการรันโค้ดจากระยะไกลที่เป็นอันตราย ซึ่งสามารถถูกกระตุ้นได้ง่ายๆ โดยการแตกไฟล์เก็บถาวร

จุดและช่องว่างในการแปลงเส้นทาง DOS เป็น NT

ปัญหากลุ่ม MagicDot เกิดขึ้นเนื่องจากวิธีที่ Windows เปลี่ยนเส้นทาง DOS เป็นเส้นทาง NT

เมื่อผู้ใช้เปิดไฟล์หรือโฟลเดอร์บนพีซี Windows จะดำเนินการนี้โดยอ้างอิงเส้นทางที่มีไฟล์อยู่ โดยปกติแล้ว นั่นคือเส้นทาง DOS ที่เป็นไปตามรูปแบบ “C:UsersUserDocumentssexample.txt” อย่างไรก็ตาม ฟังก์ชันพื้นฐานอื่นที่เรียกว่า NtCreateFile ถูกใช้ในการดำเนินการเปิดไฟล์จริง และ NtCreateFile จะขอเส้นทาง NT ไม่ใช่เส้นทาง DOS ดังนั้น Windows จะแปลงเส้นทาง DOS ที่ผู้ใช้คุ้นเคยมองเห็นเป็นเส้นทาง NT ก่อนที่จะเรียก NtCreateFile เพื่อเปิดใช้งานการดำเนินการ

ปัญหาที่สามารถหาประโยชน์ได้เกิดขึ้นเนื่องจากในระหว่างกระบวนการแปลง Windows จะลบช่วงเวลาใดๆ ออกจากเส้นทาง DOS โดยอัตโนมัติ พร้อมด้วยช่องว่างเพิ่มเติมใดๆ ที่ส่วนท้าย ดังนั้นเส้นทาง DOS เช่นนี้:

  • C: ตัวอย่างตัวอย่าง   

  • C: ตัวอย่างตัวอย่าง… 

  • C: ตัวอย่างตัวอย่าง    

ทั้งหมดจะถูกแปลงเป็น “??C:exampleexample” เป็นเส้นทาง NT

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

การจำลอง Rootkit ที่ไม่มีสิทธิพิเศษ

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

ตัวอย่างเช่น คุณสามารถล็อคเนื้อหาที่เป็นอันตรายและป้องกันไม่ให้ผู้ใช้ แม้แต่ผู้ดูแลระบบ ตรวจสอบได้ “ด้วยการวางจุดต่อท้ายแบบธรรมดาที่ส่วนท้ายของชื่อไฟล์ที่เป็นอันตราย หรือโดยการตั้งชื่อไฟล์หรือไดเร็กทอรีด้วยจุดและ/หรือช่องว่างเท่านั้น ฉันสามารถทำให้โปรแกรมพื้นที่ผู้ใช้ทั้งหมดที่ใช้ API ปกติไม่สามารถเข้าถึงได้ … ผู้ใช้จะ ไม่สามารถอ่าน เขียน ลบ หรือดำเนินการใดๆ กับสิ่งเหล่านี้ได้” Yair อธิบายในเซสชั่น

จากนั้น ในการโจมตีที่เกี่ยวข้อง Yair พบว่าเทคนิคนี้สามารถใช้เพื่อซ่อนไฟล์หรือไดเร็กทอรีภายในไฟล์เก็บถาวรได้

“ฉันเพียงแค่ลงท้ายชื่อไฟล์ในไฟล์เก็บถาวรด้วยจุดเพื่อป้องกันไม่ให้ Explorer แสดงรายการหรือแตกไฟล์นั้น” Yair กล่าว “ด้วยเหตุนี้ ฉันสามารถวางไฟล์ที่เป็นอันตรายไว้ในไฟล์ zip ที่ไม่เป็นอันตราย ใครก็ตามที่ใช้ Explorer เพื่อดูและแยกเนื้อหาที่เก็บถาวรจะไม่เห็นว่าไฟล์นั้นมีอยู่ภายใน”

วิธีการโจมตีที่สามเกี่ยวข้องกับการปกปิดเนื้อหาที่เป็นอันตรายโดยการแอบอ้างเป็นเส้นทางไฟล์ที่ถูกต้อง

“หากมีไฟล์ที่ไม่เป็นอันตรายที่เรียกว่า 'อ่อนโยน' ฉันสามารถ [ใช้การแปลงเส้นทาง DOS-to-NT] เพื่อสร้างไฟล์ที่เป็นอันตรายในไดเร็กทอรีเดียวกัน [ชื่อเดียวกัน] อ่อนโยน” เขาอธิบาย พร้อมเสริมว่าแนวทางเดียวกัน สามารถใช้เพื่อเลียนแบบโฟลเดอร์และกระบวนการ Windows ที่กว้างขึ้น “ด้วยเหตุนี้ เมื่อผู้ใช้อ่านไฟล์ที่เป็นอันตราย เนื้อหาของไฟล์ต้นฉบับที่ไม่เป็นอันตรายจะถูกส่งกลับแทน” โดยที่เหยื่อไม่ได้ฉลาดไปกว่าการเปิดเนื้อหาที่เป็นอันตรายจริงๆ

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

“ฉันพบว่าฉันสามารถซ่อนไฟล์และกระบวนการ ซ่อนไฟล์ในอาร์ไคฟ์ ส่งผลต่อการวิเคราะห์ไฟล์พรีโหลด ทำให้ผู้ใช้ตัวจัดการงานและ Process Explorer คิดว่าไฟล์มัลแวร์เป็นไฟล์ปฏิบัติการที่ได้รับการตรวจสอบแล้วซึ่งเผยแพร่โดย Microsoft ปิดการใช้งาน Process Explorer ด้วยการปฏิเสธการบริการ (DoS) ช่องโหว่และอื่นๆ อีกมากมาย” เขากล่าว ทั้งหมดนี้ไม่มีสิทธิ์ของผู้ดูแลระบบหรือความสามารถในการรันโค้ดในเคอร์เนล และไม่มีการแทรกแซงในสายโซ่ของการเรียก API ที่ดึงข้อมูล

“สิ่งสำคัญคือชุมชนความปลอดภัยทางไซเบอร์ต้องตระหนักถึงความเสี่ยงนี้และพิจารณาพัฒนาเทคนิคและกฎการตรวจจับรูทคิทที่ไม่มีสิทธิพิเศษ” เขาเตือน

ชุดช่องโหว่ “MagicDot”

ในระหว่างการวิจัยเส้นทาง MagicDot นั้น Yair ยังสามารถค้นพบช่องโหว่ที่แตกต่างกันสี่ช่องโหว่ที่เกี่ยวข้องกับปัญหาที่ซ่อนอยู่ โดยสามช่องโหว่นั้นนับตั้งแต่ได้รับการแก้ไขโดย Microsoft

ช่องโหว่การเรียกใช้โค้ดจากระยะไกล (RCE) หนึ่งช่อง (CVE-2023-36396, CVSS 7.8) ในตรรกะการแตกไฟล์ใหม่ของ Windows สำหรับประเภทไฟล์เก็บถาวรที่รองรับใหม่ทั้งหมด ช่วยให้ผู้โจมตีสามารถสร้างไฟล์เก็บถาวรที่เป็นอันตรายซึ่งจะเขียนทุกที่ที่พวกเขาเลือกบนคอมพิวเตอร์ระยะไกลเมื่อแตกไฟล์แล้ว ซึ่งนำไปสู่การเรียกใช้โค้ด

“โดยพื้นฐานแล้ว สมมติว่าคุณอัปโหลดไฟล์เก็บถาวรไปยังไฟล์ของคุณ พื้นที่เก็บข้อมูล GitHub โฆษณาว่ามันเป็นเครื่องมือเจ๋งๆ ที่มีให้ดาวน์โหลด” ยาร์บอกกับ Dark Reading “และเมื่อผู้ใช้ดาวน์โหลด มันไม่ใช่ไฟล์ปฏิบัติการ คุณเพียงแค่แตกไฟล์เก็บถาวร ซึ่งถือเป็นการดำเนินการที่ปลอดภัยอย่างสมบูรณ์โดยไม่มีความเสี่ยงด้านความปลอดภัย แต่ตอนนี้การแตกไฟล์สามารถเรียกใช้โค้ดบนคอมพิวเตอร์ของคุณได้ และนั่นเป็นสิ่งที่ผิดร้ายแรงและอันตรายมาก”

จุดบกพร่องประการที่สองคือช่องโหว่การยกระดับสิทธิ์ (EoP) (CVE-2023-32054, CVSS 7.3) ที่อนุญาตให้ผู้โจมตีเขียนลงในไฟล์โดยไม่มีสิทธิ์โดยจัดการกระบวนการกู้คืนของเวอร์ชันก่อนหน้าจาก Shadow Copy

จุดบกพร่องที่สามคือ DOS ที่ไม่มีสิทธิพิเศษของ Process Explorer สำหรับจุดบกพร่องต่อต้านการวิเคราะห์ ซึ่ง CVE-2023-42757 ถูกสงวนไว้ โดยมีรายละเอียดให้ติดตาม และข้อผิดพลาดประการที่สี่ซึ่งก็คือปัญหา EoP เช่นกัน ทำให้ผู้โจมตีที่ไม่มีสิทธิ์สามารถลบไฟล์ได้ Microsoft ยืนยันว่าข้อบกพร่องดังกล่าวนำไปสู่ ​​"พฤติกรรมที่ไม่คาดคิด" แต่ยังไม่ได้ออก CVE หรือการแก้ไข

“ฉันสร้างโฟลเดอร์ภายในโฟลเดอร์สาธิตชื่อ... และข้างในฉันเขียนไฟล์ชื่อ c.txt” Yair อธิบาย “แล้วเมื่อผู้ดูแลระบบพยายามลบ… โฟลเดอร์สาธิตทั้งหมดจะถูกลบแทน”

การขยายสาขา “MagicDot” ที่กว้างขึ้นที่อาจเกิดขึ้น

แม้ว่า Microsoft จะจัดการกับช่องโหว่เฉพาะของ Yair แต่การแปลงเส้นทาง DOS-to-NT แบบอัตโนมัติจะคงอยู่ตามช่วงเวลาและช่องว่าง แม้ว่านั่นจะเป็นสาเหตุหลักของช่องโหว่ดังกล่าวก็ตาม

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

เขาเสริมว่าปัญหามีสาขานอกเหนือจาก Microsoft

“เราเชื่อว่าผลกระทบดังกล่าวมีความเกี่ยวข้องไม่เพียงแต่กับ Microsoft Windows ซึ่งเป็นระบบปฏิบัติการเดสก์ท็อปที่ใช้กันอย่างแพร่หลายมากที่สุดในโลกเท่านั้น แต่ยังรวมไปถึงผู้จำหน่ายซอฟต์แวร์ทั้งหมด ซึ่งส่วนใหญ่ยังปล่อยให้ปัญหาที่ทราบยังคงมีอยู่จากเวอร์ชันหนึ่งไปอีกเวอร์ชันของซอฟต์แวร์” เขาเตือน ในการนำเสนอของเขา

ในขณะเดียวกัน นักพัฒนาซอฟต์แวร์สามารถทำให้โค้ดของตนปลอดภัยยิ่งขึ้นจากช่องโหว่ประเภทนี้โดยการใช้เส้นทาง NT แทนที่จะเป็นเส้นทาง DOS เขากล่าว

“การเรียก API ระดับสูงส่วนใหญ่ใน Windows รองรับเส้นทาง NT” Yair กล่าวในการนำเสนอของเขา “การใช้เส้นทาง NT จะช่วยหลีกเลี่ยงกระบวนการแปลงและทำให้แน่ใจว่าเส้นทางที่ให้ไว้นั้นเป็นเส้นทางเดียวกับที่กำลังดำเนินการอยู่จริง”

สำหรับธุรกิจ ทีมรักษาความปลอดภัยควรสร้างการตรวจจับที่มองหาช่วงเวลาและพื้นที่ภายในเส้นทางไฟล์

“มีการตรวจจับที่ค่อนข้างง่ายที่คุณสามารถพัฒนาสำหรับสิ่งเหล่านี้ เพื่อค้นหาไฟล์หรือไดเร็กทอรี ที่มีจุดต่อท้ายหรือช่องว่างอยู่ในนั้น เพราะถ้าคุณพบสิ่งเหล่านั้นบนคอมพิวเตอร์ของคุณ นั่นหมายความว่ามีใครบางคนตั้งใจเพราะไม่ใช่ ทำได้ง่ายๆ เลย” ยาร์บอกกับ Dark Reading “ผู้ใช้ทั่วไปไม่สามารถสร้างไฟล์ที่ลงท้ายด้วยจุดหรือช่องว่างได้ Microsoft จะป้องกันสิ่งนั้น ผู้โจมตีจะต้องใช้การ API ที่ต่ำกว่า ซึ่งอยู่ใกล้กับเคอร์เนลมากกว่า และจะต้องอาศัยความเชี่ยวชาญบางอย่างจึงจะบรรลุผลสำเร็จ”

จุด_img

ข่าวกรองล่าสุด

จุด_img

แชทกับเรา

สวัสดี! ฉันจะช่วยคุณได้อย่างไร?