
Trouver des fichiers intéressants stockés sur les partages (System Center) Configuration Manager (SCCM/CM) via HTTP(s)
Les points de distribution (DP) SCCM sont les serveurs utilisés par Microsoft SCCM pour héberger tous les fichiers utilisés lors des installations de logiciels, correctifs, déploiements de scripts, etc. Par défaut, ces serveurs autorisent l’accès via SMB (TCP/445) et HTTP/S (TCP/80 et/ou TCP/443) et exigent un certain type d’authentification Windows (c’est-à-dire NTLM).
Les outils actuels de loot sur les DP SCCM reposent sur la capacité à parcourir les partages SMB pour collecter des fichiers.
Cependant, il n’est pas rare qu’une organisation limite l’accès SMB entrant aux serveurs sur les réseaux internes, et qu’il soit de pratique courante d’empêcher l’accès SMB entrant depuis Internet. L’accès HTTP/S, en revanche, n’est généralement pas restreint sur les réseaux internes, et est souvent autorisé depuis Internet. Cela représente une opportunité pour un attaquant s’il existe un moyen d’obtenir des fichiers du DP SCCM via HTTP/S.
Les outils SMB fonctionnent en énumérant le dossier DataLib du partage SCCMContentLib$ pour trouver les fichiers <filename.ext>.INI qui contiennent le hash du fichier. Ils peuvent ensuite localiser le fichier réel dans FileLib/<hash[0:4]>/<hash>. Cela fonctionne car, avec un accès au partage, vous pouvez énumérer tous les fichiers du dossier DataLib.
Avec HTTP/S, les choses sont différentes. Naviguer vers http://<SCCM DP>/SMS_DP_SMSPKG$/Datalib affiche une liste de dossiers contenant des fichiers numérotés et des INI.
Pour diverses raisons (comme la vitesse), ces points de distribution peuvent être configurés pour autoriser l’accès anonyme.

Cependant, naviguer vers les liens non-INI affiche simplement la même page, ce qui limite le nombre de fichiers directement accessibles à ceux du dossier « racine » de la Datalib, car les hashes extraits des fichiers INI pour les dossiers ne peuvent pas être utilisés pour trouver les dossiers dans la FileLib, puisque celle-ci ne stocke que des fichiers réels.

Cependant, naviguer directement vers le nom du dossier à partir de la racine http://<SCCM DP>/SMS_DP_SMSPKG$/ affichera les fichiers de ce dossier, qui peuvent être téléchargés directement.

C’est ainsi que fonctionne normalement sccm-http-looter. Il analyse la liste des dossiers de la Datalib pour y trouver les répertoires, puis les interroge et analyse chacun d’eux à la recherche de fichiers, avant de télécharger tous les fichiers dont les extensions figurent dans la liste autorisée spécifiée par l’utilisateur.
Dans le cas où l’accès anonyme est activé mais que la liste des dossiers à partir de la racine http://<SCCM DP>/SMS_DP_SMSPKG$/ est désactivée, il existe une deuxième technique pour récupérer les fichiers, qui peut être utilisée en exécutant l’outil avec -use-signature-method. Dans ce mode, l’outil effectue les opérations suivantes :
http://<SCCM DP>/SMS_DP_SMSPKG$/Datalibhttp://<SCCM DP>/SMS_DP_SMSSIG$/<filename>.tar, où <filename> est le dernier élément de chaque href de la page Datalib (c’est-à-dire 12300005.1)http://<SCCM DP>/SMS_DP_SMSPKG$/Datalib/<filename>/<extracted filename>.INIhttp://<SCCM DP>/SMS_DP_SMSPKG$/Filelib/<hash[0:4]>/<hash> en le renommant avec le nom de fichier correct spécifié dans le fichier de signature.Les fichiers de signature sont des fichiers .tar mais ne sont pas de véritables archives tar. Ils contiennent des noms de fichiers 512 octets avant la chaîne d’octets 0x18, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, comme illustré ci-dessous.

L’outil recherche cette chaîne d’octets et extrait tous les noms de fichiers des fichiers de signature.