
Finde über HTTP(s) interessante Dateien, die auf (System Center) Configuration Manager (SCCM/CM)-Freigaben gespeichert sind.
SCCM-Verteilungspunkte (DPs) sind die Server, die von Microsoft SCCM verwendet werden, um alle Dateien zu hosten, die bei Softwareinstallationen, Patches, Skriptbereitstellungen usw. verwendet werden. Standardmäßig ermöglichen diese Server Zugriff über SMB (TCP/445) und HTTP/S (TCP/80 und/oder TCP/443) und erfordern eine Art Windows-Authentifizierung (z. B. NTLM).
Die aktuellen SCCM-DP-Looting-Tools verlassen sich auf die Möglichkeit, SMB-Freigaben zu durchsuchen, um Dateien zu sammeln.
Allerdings ist es nicht ungewöhnlich, dass eine Organisation den eingehenden SMB-Zugriff auf Server in internen Netzwerken einschränkt, und es ist gängige Praxis, eingehenden SMB-Zugriff aus dem Internet zu verhindern. HTTP/S-Zugriff hingegen ist in internen Netzwerken normalerweise nicht eingeschränkt und oft aus dem Internet erlaubt. Dies bietet einem Angreifer eine Gelegenheit, wenn es einen Weg gibt, Dateien über HTTP/S vom SCCM-DP zu beziehen.
Die SMB-Tools funktionieren, indem sie den Ordner DataLib der Freigabe SCCMContentLib$ aufzählen, um <filename.ext>.INI-Dateien zu finden, die den Hash der Datei enthalten. Anschließend können sie die eigentliche Datei unter FileLib/<hash[0:4]>/<hash> lokalisieren. Dies funktioniert, weil man mit Zugriff auf die Freigabe alle Dateien im Ordner DataLib aufzählen kann.
Bei HTTP/S sind die Dinge anders. Der Aufruf von http://<SCCM DP>/SMS_DP_SMSPKG$/Datalib zeigt eine Verzeichnisliste mit nummerierten Dateien und INIs.
Aus verschiedenen Gründen (wie Geschwindigkeit) können diese Verteilungspunkte so konfiguriert werden, dass sie anonymen Zugriff erlauben.

Das Navigieren zu den Nicht-INI-Links zeigt jedoch lediglich dieselbe Seite, was die Anzahl der direkt zugänglichen Dateien auf diejenigen im „Wurzel“-Verzeichnis der Datalib beschränkt, da die aus den INI-Dateien für Verzeichnisse extrahierten Hashes nicht verwendet werden können, um die Verzeichnisse in der FileLib zu finden, da diese nur tatsächliche Dateien speichert.

Wenn man jedoch direkt unterhalb des Stammverzeichnisses http://<SCCM DP>/SMS_DP_SMSPKG$/ den Verzeichnisnamen aufruft, werden Dateien in diesem Verzeichnis angezeigt, die direkt heruntergeladen werden können.

Normalerweise funktioniert der sccm-http-looter auf diese Weise. Er analysiert die Datalib-Verzeichnisliste auf Verzeichnisse, fordert diese an und durchsucht jedes nach Dateien, bevor er alle Dateien mit Erweiterungen herunterlädt, die in der vom Benutzer angegebenen Zulassungsliste (Allowlist) stehen.
Falls anonymer Zugriff aktiviert ist, aber die Verzeichnisliste für Verzeichnisse unterhalb des Stammverzeichnisses http://<SCCM DP>/SMS_DP_SMSPKG$/ deaktiviert ist, gibt es eine zweite Technik zum Abrufen von Dateien, die durch Ausführen des Tools mit -use-signature-method verwendet werden kann. In diesem Modus führt das Tool Folgendes aus:
http://<SCCM DP>/SMS_DP_SMSPKG$/Datalib herunter.http://<SCCM DP>/SMS_DP_SMSSIG$/<filename>.tar herunter, wobei <filename> das letzte Element in jedem href der Datalib-Seite ist (d. h. 12300005.1).http://<SCCM DP>/SMS_DP_SMSPKG$/Datalib/<filename>/<extracted filename>.INI herunter.http://<SCCM DP>/SMS_DP_SMSPKG$/Filelib/<hash[0:4]>/<hash> herunter und benennt sie in den korrekten Dateinamen um, der in der Signaturdatei angegeben ist.Die Signaturdateien sind .tar-Dateien, aber keine echten Tars. Sie enthalten Dateinamen 512 Bytes vor der Bytefolge 0x18, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, wie unten gezeigt.

Das Tool sucht nach dieser Bytefolge und extrahiert alle Dateinamen aus den Signaturdateien.