DriverJack เป็นเครื่องมือที่ออกแบบมาเพื่อโหลดไดรเวอร์ที่มีช่องโหว่โดยใช้เทคนิค NTFS ที่ไม่ค่อยมีใครรู้จักในทางที่ผิด วิธีการเหล่านี้จะข้ามการลงทะเบียนบริการไดรเวอร์บนระบบโดยการแย่งชิงบริการที่มีอยู่ และยังปลอมแปลงเส้นทางรูปภาพที่แสดงในเหตุการณ์โหลดไดรเวอร์อีกด้วย เพื่อปกปิดการมีอยู่ของไดรเวอร์ที่มีช่องโหว่ การโจมตียังใช้ Emulated Filesystem Read-Only bypass เพื่อสลับเนื้อหาของไฟล์ไดรเวอร์บน ISO ที่ติดตั้งก่อนที่จะโหลด
DriverJack ละเมิดความเป็นไปได้ในการรีแมปไฟล์ที่ติดตั้งบนระบบไฟล์จำลองไปยังหน้า RW เพื่อเขียนทับเนื้อหา บายพาส RO นี้ถูกนำไปใช้ใน IoCdfsLib
เมื่อติดตั้ง ISO แล้ว การโจมตีจะดำเนินการโดยการเลือกไดรเวอร์บริการที่สามารถเริ่มหรือหยุด หรือไดรเวอร์ที่สามารถทริกเกอร์ได้ โดยต้องใช้สิทธิ์ผู้ดูแลระบบ เว้นแต่จะกำหนดค่าไม่ถูกต้อง
การติดตั้ง ISO และการเลือกไดรเวอร์
จี้เส้นทางคนขับ
เทคนิคนี้ใช้ประโยชน์จากความสามารถของโปรแกรมติดตั้งในการเข้าถึงไดเร็กทอรี C:WindowsSystem32drivers
โดยตรง ทำให้สามารถวางลิงก์สัญลักษณ์ที่เป็นอันตรายไว้ที่นั่นได้ ลิงก์สัญลักษณ์ได้รับการประมวลผลโดยระบบปฏิบัติการโดยมีความสำคัญกว่า ส่งผลให้ไดรเวอร์ที่เป็นอันตรายถูกโหลดเมื่อเริ่มบริการใหม่
ขั้นตอนสำคัญ:
NtLoadDriver
ทำให้เส้นทาง NT ของลิงก์สัญลักษณ์เป็นปกติ วิธีนี้ได้รับการพัฒนาร่วมกับ jonasLyk จากกลุ่มแฮ็กเกอร์ Secret Club โดยเปลี่ยนเส้นทางลิงก์สัญลักษณ์ DeviceBootDevice
NT ซึ่งเป็นส่วนหนึ่งของเส้นทางที่ใช้โหลดไบนารีของไดรเวอร์ ซึ่งช่วยให้สามารถซ่อนรูทคิทภายในระบบได้
ขั้นตอน:
BootDevice
BootDevice
symlink เพื่อชี้ไปที่ ISO ที่ติดตั้งBootDevice
วิธีการนี้ได้รับแรงบันดาลใจจากเทคนิคที่ใช้ในโครงการ unDefender เพื่อปิดใช้งานบริการและไดรเวอร์ Windows Defender เหตุการณ์ Load Driver จะยังคงแสดงเส้นทางที่แท้จริงของไดรเวอร์ที่กำลังโหลด โดยชี้ไปที่จุดเมานท์ ISO
แม้ว่าจะเป็นที่รู้จักอย่างกว้างขวาง แต่เทคนิคนี้ไม่ค่อยได้ใช้เนื่องจากอาจทำให้ระบบไม่เสถียร โดยเกี่ยวข้องกับการเปลี่ยนอักษรระบุไดรฟ์ที่กำหนดให้กับ BootPartition
เป็นการชั่วคราว โดยหลอกให้กระบวนการโหลดไดรเวอร์เข้าถึงไดรฟ์อื่น เมื่อใช้ร่วมกับ NT Symlink Abuse ตามที่อธิบายไว้ก่อนหน้านี้ เทคนิคนี้สามารถปลอมแปลงเส้นทางของไดรเวอร์ที่กำลังโหลดได้อย่างสมบูรณ์ โดยข้ามการตรวจจับโดย SysMon และเครื่องมือตรวจสอบอื่น ๆ
DriverJack สาธิตวิธีอื่นที่ไม่ธรรมดาสำหรับการโหลดไดรเวอร์ที่มีช่องโหว่ ซึ่งใช้ประโยชน์จากระบบไฟล์จำลอง CDFS และคุณสมบัติลิงก์สัญลักษณ์ NTFS ที่ไม่ค่อยมีใครรู้จัก
โครงการนี้ได้รับอนุญาตภายใต้ใบอนุญาต MIT - ดูรายละเอียดในไฟล์ใบอนุญาต