Checkpoint พบวิธีการขโมย NTLM ผ่าน PDF
Checkpoint พบช่องโหว่ใน Windows PDF Viewer ใดๆ เมื่อเปิดไฟล์ PDF ตัว user จะสามารถถูกขโมย NTLM Hashes ได้ผ่านการอ้างอิง NFS ได้
PDF Background
โดยปกติแล้ว PDF นั้นสามารถฝัง object ต่างๆไว้ในไฟล์ได้ (ซึ่ง Microsoft Office ต่างๆก็ไม่ต่างกัน) โดยภายใน PDF จะมี object อยู่ 8 ประเภทคือ
- Boolean values
- Integers and real numbers
- Strings
- Names
- Arrays
- Streams
- The null object
- Dictionaries
โดย dictionary object จะเป็นตารางที่มีการรวม object หลายๆตัวเข้าด้วยกัน เรียกว่า entry โดย element แรกในแต่ละ entry จะเป็น key และ element ที่สองจะเป็นค่าของ key นั้นๆ โดย key จะต้องมีชื่อ และค่าของ key จะเป็น object ชนิดไหนก็ได้ รวมถึง dictionary ซ้อนทับก็ได้เช่นกัน โดยการเรียกใช้งาน object ของ dictionary นั้นๆถูกนำไปใช้ใน page ต่างๆได้ โดย page ที่นำ dictionary object ไปใช้นั้นจะเรียกว่า page object ทีนี้ใน page object นั้นสามารถจะใส่ entry ต่างๆได้
Proof of Concept
/AA entry เป็น optional entry ซึ่งเอาไว้กำหนด action เมื่อเพจถูกเปิด (/O entry) หรือปิด (/C entry). โดย /O (/C) entry จะเป็นตัวเก็บ action dictionary. action dictionary จะเก็บ required entries 3 ตัวด้วยกันคือ: /S, /F, และ /D:
- /S entry: กำหนดประเภทของ action, หากเป็น GoTo action ใช้สำหรับเปลี่ยน view ของ destination ใดๆ ใน document. ส่วน action types GoToR, (Go To Remote) และ GoToE (Go To Embedded), จะเป็นตัวที่มีช่องโหว่ vulnerable, เป็นการกำหนดให้ปลายทางกระโดดไปยัง PDF file อื่น
- /F entry: จะถูกใช้เมื่อมีการใช้งาน GoToR และ GoToE, โดยปกติจะใช้ในความหมายที่แตกต่างกัน แต่ใน case นี้ความหมายคือการใช้เพื่อกำหนดตำแหน่งของ PDF อื่นๆ
- /D entry: กำหนดตำแหน่งอ้างอิงใน document.
โดย Checkpoint พบว่าสามารถสร้าง PDF ไฟล์ที่อ้างอิง file ไปยังภายนอกได้ ซึ่งภายนอกที่ว่ามันจะอ้างอิงไปยัง SMB file sharing ได้ (โดยใช้ /F entry) เมื่อเป็นแบบนั้นโดยปกติแล้ว Windows จะทำการ authentication ไปยัง SMB นั้นๆด้วย user และ password ปัจจุบันที่ใช้อยู่ทันที
ทางการตรวจสอบพบว่าช่องโหว่ดังกล่าว กระทบกับ Windows PDF-viewers ทุกๆตัว ทาง Adobe ได้รับแจ้งเรื่องแล้ว แต่กล่าวว่า “กำลังตรวจสอบอยู่ ทาง Microsoft พบปัญหานี้ และได้ทำการกำหนด option สำหรับการเพิ่มมาตรการป้องกันให้กับ user เมื่อปีที่แล้ว ให้สามารถ disable NTLM SSO Authentication ไปยัง public resource ได้ และทาง Adobe ไม่มีแผนจะปรับอะไรใน Acrobat”
Source:: Checkpoint