Titik distribusi (DP) SCCM adalah server yang digunakan oleh Microsoft SCCM untuk menampung semua file yang digunakan dalam instalasi perangkat lunak, patch, penerapan skrip, dll. Secara default, server ini mengizinkan akses melalui SMB (TCP/445) dan HTTP/S (TCP /80 dan/atau TCP/443) dan memerlukan beberapa jenis otentikasi Windows (yaitu NTLM).
Alat penjarahan DP SCCM saat ini mengandalkan kemampuan menelusuri saham SMB untuk mengumpulkan file.
Namun, tidak jarang sebuah organisasi membatasi akses masuk UKM ke server di jaringan internal, dan praktik standar mencegah akses masuk UKM dari internet. Akses HTTP/S di sisi lain biasanya tidak dibatasi pada jaringan internal, dan sering kali diizinkan dari internet. Hal ini memberikan peluang bagi penyerang jika ada cara untuk mendapatkan file dari SCCM DP melalui HTTP/S.
Alat SMB bekerja dengan menghitung folder DataLib
dari share SCCMContentLib$
untuk menemukan file <filename.ext>.INI
yang berisi hash file. Mereka kemudian dapat menemukan file sebenarnya di FileLib/<hash[0:4]>/<hash>
. Ini berfungsi karena dengan akses ke share, Anda dapat menghitung semua file di folder DataLib
.
Menggunakan HTTP/S, segalanya berbeda. Menjelajah ke http://<SCCM DP>/SMS_DP_SMSPKG$/Datalib
menunjukkan daftar direktori file bernomor dan INI.
Karena berbagai alasan (seperti kecepatan), titik distribusi ini dapat dikonfigurasi untuk memungkinkan akses anonim.
Namun, menavigasi ke tautan non-INI hanya menampilkan halaman yang sama, yang membatasi jumlah file yang dapat diakses langsung oleh file yang ada di direktori "root" Datalib karena hash yang diekstraksi dari file INI untuk direktori tidak dapat digunakan untuk menemukan direktori di FileLib karena hanya menyimpan file sebenarnya.
Namun, menelusuri nama direktori langsung dari http://<SCCM DP>/SMS_DP_SMSPKG$/
root akan menampilkan file di direktori tersebut, yang dapat langsung diunduh.
Beginilah cara kerja sccm-http-looter
secara normal. Ini mem-parsing daftar direktori Datalib untuk direktori, kemudian memintanya dan mem-parsing masing-masing untuk file apa pun, sebelum mengunduh file apa pun dengan ekstensi yang ada dalam daftar izin yang ditentukan oleh pengguna.
Dalam kasus di mana akses anonim diaktifkan tetapi daftar direktori untuk direktori di luar http://<SCCM DP>/SMS_DP_SMSPKG$/
root dinonaktifkan, ada teknik kedua untuk mengambil file yang dapat digunakan dengan menjalankan alat dengan -use-signature-method
. Dalam mode ini alat melakukan hal berikut:
http://<SCCM DP>/SMS_DP_SMSPKG$/Datalib
http://<SCCM DP>/SMS_DP_SMSSIG$/<filename>.tar
, dengan <filename>
elemen terakhir dalam href mana pun dari halaman Datalib (yaitu 12300005.1
)http://<SCCM DP>/SMS_DP_SMSPKG$/Datalib/<filename>/<extracted filename>.INI
http://<SCCM DP>/SMS_DP_SMSPKG$/Filelib/<hash[0:4]>/<hash>
dan mengganti namanya menjadi nama file yang benar seperti yang ditentukan dalam file tanda tangan. File tanda tangan adalah file .tar
tetapi bukan tar sebenarnya. Mereka berisi nama file 512 byte sebelum string byte 0x18, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01
seperti yang ditunjukkan di bawah ini.
Alat ini mencari string byte ini dan mengekstrak semua nama file dari file tanda tangan.