SCCM-Verteilungspunkte (DPs) sind die Server, die von Microsoft SCCM zum Hosten aller in Softwareinstallationen, Patches, Skriptbereitstellungen usw. verwendeten Dateien verwendet werden. Standardmäßig ermöglichen diese Server den 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 DP-Plünderungstools von SCCM basieren auf der Möglichkeit, SMB-Freigaben zu durchsuchen, um Dateien zu sammeln.
Allerdings ist es für ein Unternehmen nicht ungewöhnlich, den eingehenden SMB-Zugriff auf Server in internen Netzwerken zu beschränken und den eingehenden SMB-Zugriff aus dem Internet standardmäßig zu verhindern. Der HTTP/S-Zugriff hingegen ist in der Regel nicht auf interne Netzwerke beschränkt und oft aus dem Internet erlaubt. Dies stellt eine Chance für einen Angreifer dar, wenn es eine Möglichkeit gibt, Dateien über HTTP/S vom SCCM DP abzurufen.
Die SMB-Tools funktionieren, indem sie den DataLib
Ordner der SCCMContentLib$
-Freigabe auflisten, um <filename.ext>.INI
Dateien zu finden, die den Hash der Datei enthalten. Sie können die eigentliche Datei dann unter FileLib/<hash[0:4]>/<hash>
finden. Dies funktioniert, weil Sie mit Zugriff auf die Freigabe alle Dateien im DataLib
-Ordner aufzählen können.
Bei HTTP/S ist das anders. Wenn Sie zu http://<SCCM DP>/SMS_DP_SMSPKG$/Datalib
navigieren, wird eine Verzeichnisliste mit nummerierten Dateien und INIs angezeigt.
Aus verschiedenen Gründen (z. B. Geschwindigkeit) können diese Verteilungspunkte so konfiguriert werden, dass sie anonymen Zugriff ermöglichen.
Wenn Sie jedoch zu den Nicht-INI-Links navigieren, wird lediglich dieselbe Seite angezeigt, was die Anzahl der Dateien begrenzt, auf die direkt auf diejenigen im „Stamm“-Verzeichnis der Datalib zugegriffen werden kann, da die aus den INI-Dateien für Verzeichnisse extrahierten Hashes nicht zum Auffinden der Dateien verwendet werden können Verzeichnisse in der FileLib, da sie nur tatsächliche Dateien speichert.
Wenn Sie jedoch direkt im Stammverzeichnis http://<SCCM DP>/SMS_DP_SMSPKG$/
zum Verzeichnisnamen navigieren, werden Dateien in diesem Verzeichnis angezeigt, die direkt heruntergeladen werden können.
So funktioniert der sccm-http-looter
normal. Es analysiert die Datalib-Verzeichnisliste auf Verzeichnisse, fordert diese dann an und analysiert jedes auf Dateien, bevor es Dateien mit Erweiterungen herunterlädt, die in der vom Benutzer angegebenen Zulassungsliste enthalten sind.
Für den Fall, dass der anonyme Zugriff aktiviert ist, die Verzeichnisliste für Verzeichnisse außerhalb des Stammverzeichnisses http://<SCCM DP>/SMS_DP_SMSPKG$/
jedoch deaktiviert ist, gibt es eine zweite Technik zum Abrufen von Dateien, die verwendet werden können, indem das Tool mit -use-signature-method
ausgeführt wird -use-signature-method
. In diesem Modus führt das Tool Folgendes aus:
http://<SCCM DP>/SMS_DP_SMSPKG$/Datalib
herunterhttp://<SCCM DP>/SMS_DP_SMSSIG$/<filename>.tar
herunter, wobei <filename>
das letzte Element in einem beliebigen href von der Datalib-Seite ist (z. B. 12300005.1
).http://<SCCM DP>/SMS_DP_SMSPKG$/Datalib/<filename>/<extracted filename>.INI
herunterhttp://<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 TAR-Dateien. 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.