จุดแจกจ่าย SCCM (DP) คือเซิร์ฟเวอร์ที่ Microsoft SCCM ใช้เพื่อโฮสต์ไฟล์ทั้งหมดที่ใช้ในการติดตั้งซอฟต์แวร์ โปรแกรมแก้ไข การปรับใช้สคริปต์ ฯลฯ ตามค่าเริ่มต้น เซิร์ฟเวอร์เหล่านี้อนุญาตให้เข้าถึงผ่าน SMB (TCP/445) และ HTTP/S (TCP) /80 และ/หรือ TCP/443) และต้องมีการรับรองความถูกต้องของ Windows บางประเภท (เช่น NTLM)
เครื่องมือการปล้น SCCM DP ในปัจจุบันอาศัยความสามารถในการเรียกดูการแชร์ SMB เพื่อรวบรวมไฟล์
อย่างไรก็ตาม ไม่ใช่เรื่องแปลกที่องค์กรจะจำกัดการเข้าถึง SMB ขาเข้าไปยังเซิร์ฟเวอร์บนเครือข่ายภายใน และแนวปฏิบัติมาตรฐานเพื่อป้องกันการเข้าถึง SMB ขาเข้าจากอินเทอร์เน็ต ในทางกลับกัน การเข้าถึง HTTP/S มักจะไม่ถูกจำกัดบนเครือข่ายภายใน และมักจะได้รับอนุญาตจากอินเทอร์เน็ต นี่เป็นโอกาสสำหรับผู้โจมตีหากมีวิธีรับไฟล์จาก SCCM DP ผ่าน HTTP/S
เครื่องมือ SMB ทำงานโดยการแจกแจงโฟลเดอร์ DataLib
ของ SCCMContentLib$
ที่แชร์เพื่อค้นหาไฟล์ <filename.ext>.INI
ซึ่งมีแฮชของไฟล์ จากนั้นพวกเขาสามารถค้นหาไฟล์จริงได้ที่ FileLib/<hash[0:4]>/<hash>
วิธีนี้ได้ผลเนื่องจากเมื่อเข้าถึงการแชร์ คุณสามารถระบุไฟล์ทั้งหมดในโฟลเดอร์ DataLib
ได้
การใช้ HTTP/S สิ่งต่างๆ จะแตกต่างออกไป การเรียกดูไปที่ http://<SCCM DP>/SMS_DP_SMSPKG$/Datalib
จะแสดงรายการไดเร็กทอรีของไฟล์ที่มีหมายเลขกำกับและ INI
ด้วยเหตุผลหลายประการ (เช่น ความเร็ว) จุดแจกจ่ายเหล่านี้จึงสามารถกำหนดค่าให้อนุญาตการเข้าถึงแบบไม่ระบุชื่อได้
อย่างไรก็ตาม การนำทางไปยังลิงก์ที่ไม่ใช่ INI จะแสดงหน้าเดียวกัน ซึ่งจะจำกัดจำนวนไฟล์ที่เข้าถึงได้โดยตรงสำหรับไฟล์ที่อยู่ในไดเร็กทอรี "root" ของ Datalib เนื่องจากแฮชที่แยกจากไฟล์ INI สำหรับไดเร็กทอรีไม่สามารถใช้เพื่อค้นหา ไดเร็กทอรีใน FileLib เนื่องจากจะเก็บเฉพาะไฟล์จริงเท่านั้น
อย่างไรก็ตาม การเรียกดูชื่อไดเร็กทอรีโดยตรงจากราก http://<SCCM DP>/SMS_DP_SMSPKG$/
จะแสดงไฟล์ในไดเร็กทอรีนั้น ซึ่งสามารถดาวน์โหลดได้โดยตรง
นี่คือวิธีที่ sccm-http-looter
ทำงานตามปกติ โดยแยกวิเคราะห์รายการไดเร็กทอรี Datalib สำหรับไดเร็กทอรี จากนั้นร้องขอและแยกวิเคราะห์แต่ละรายการสำหรับไฟล์ใดๆ ก่อนที่จะดาวน์โหลดไฟล์ใดๆ ที่มีนามสกุลซึ่งอยู่ในรายการที่อนุญาตซึ่งระบุโดยผู้ใช้
ในกรณีที่เปิดใช้งานการเข้าถึงแบบไม่ระบุชื่อ แต่รายการไดเร็กทอรีสำหรับไดเร็กทอรีที่อยู่นอก http://<SCCM DP>/SMS_DP_SMSPKG$/
root ถูกปิดใช้งาน มีเทคนิคที่สองในการเรียกค้นไฟล์ที่สามารถใช้ได้โดยการรันเครื่องมือด้วย -use-signature-method
ในโหมดนี้ เครื่องมือจะดำเนินการดังต่อไปนี้:
http://<SCCM DP>/SMS_DP_SMSPKG$/Datalib
http://<SCCM DP>/SMS_DP_SMSSIG$/<filename>.tar
โดยที่ <filename>
เป็นองค์ประกอบสุดท้ายใน href ใดๆ จากหน้า Datalib (เช่น 12300005.1
)http://<SCCM DP>/SMS_DP_SMSPKG$/Datalib/<filename>/<extracted filename>.INI
http://<SCCM DP>/SMS_DP_SMSPKG$/Filelib/<hash[0:4]>/<hash>
เปลี่ยนชื่อเป็นชื่อไฟล์ที่ถูกต้องตามที่ระบุไว้ในไฟล์ลายเซ็น ไฟล์ลายเซ็นเป็นไฟล์ .tar
แต่ไม่ใช่ tar จริง ประกอบด้วยชื่อไฟล์ 512 ไบต์ก่อนสตริงไบต์ 0x18, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01
ดังแสดงด้านล่าง
เครื่องมือจะค้นหาสตริงไบต์นี้และแยกชื่อไฟล์ทั้งหมดออกจากไฟล์ลายเซ็น