SCCM 分發點 (DP) 是 Microsoft SCCM 用於託管軟體安裝、修補程式、腳本部署等中使用的所有檔案的伺服器。和/或TCP/443)並需要某種類型的Windows 驗證(即NTLM)。
目前的 SCCM DP 搶劫工具依賴瀏覽 SMB 共享來收集文件的能力。
但是,組織限制對內部網路上的伺服器的入站 SMB 存取以及阻止來自 Internet 的入站 SMB 存取的標準做法並不罕見。另一方面,HTTP/S 存取通常在內部網路上不受限制,並且通常允許從互聯網進行存取。如果有辦法透過 HTTP/S 從 SCCM DP 取得文件,這將為攻擊者提供可乘之機。
SMB 工具透過列舉SCCMContentLib$
共享的DataLib
資料夾來尋找包含檔案雜湊的<filename.ext>.INI
檔案。然後他們可以在FileLib/<hash[0:4]>/<hash>
中找到實際檔案。這是可行的,因為透過存取共享,您可以列舉DataLib
資料夾中的所有檔案。
使用 HTTP/S,情況就不同了。瀏覽http://<SCCM DP>/SMS_DP_SMSPKG$/Datalib
顯示編號檔案和 INI 的目錄清單。
基於多種原因(例如速度),可以將這些分發點配置為允許匿名存取。
然而,導航到非 INI 連結只會顯示相同的頁面,這限制了 Datalib 的「根」目錄中的檔案可直接存取的檔案數量,因為從目錄的 INI 檔案中提取的雜湊值無法用於查找FileLib中的目錄,因為它只儲存實際檔案。
但是,直接從http://<SCCM DP>/SMS_DP_SMSPKG$/
根目錄瀏覽到目錄名稱將顯示該目錄中的文件,可以直接下載。
這就是sccm-http-looter
正常運作的方式。它會解析 Datalib 目錄列表中的目錄,然後請求這些目錄並解析每個目錄中的任何文件,然後再下載具有使用者指定的允許列表中的擴展名的任何文件。
在啟用匿名存取但禁用http://<SCCM DP>/SMS_DP_SMSPKG$/
根目錄之外的目錄的目錄清單的情況下,還有第二種技術來檢索可透過使用-use-signature-method
運行該工具來使用的文件-use-signature-method
。在此模式下,該工具執行以下操作:
http://<SCCM DP>/SMS_DP_SMSPKG$/Datalib
下載 Datalib 列表http://<SCCM DP>/SMS_DP_SMSSIG$/<filename>.tar
下載任何非 .INI 連結檔名,其中<filename>
是 Datalib 頁面中任何 href 中的最後一個元素(即12300005.1
)http://<SCCM DP>/SMS_DP_SMSPKG$/Datalib/<filename>/<extracted filename>.INI
下載 INI 文件http://<SCCM DP>/SMS_DP_SMSPKG$/Filelib/<hash[0:4]>/<hash>
下載實際文件,並將其重新命名為簽署檔案中指定的正確檔案名稱。簽名文件是.tar
文件,但不是實際的 tar。它們包含位元組字串0x18, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01
之前 512 個位元組的檔案名,如下所示。
該工具搜尋該位元組字串並從簽名檔案中提取所有檔案名稱。