SCCM 配布ポイント (DP) は、ソフトウェアのインストール、パッチ、スクリプトの展開などで使用されるすべてのファイルをホストするために Microsoft SCCM によって使用されるサーバーです。デフォルトでは、これらのサーバーは SMB (TCP/445) および HTTP/S (TCP) 経由のアクセスを許可します。 /80 および/または TCP/443)、何らかの種類の Windows 認証 (つまり NTLM) が必要です。
現在の SCCM DP 略奪ツールは、SMB 共有を参照してファイルを収集する機能に依存しています。
ただし、組織が内部ネットワーク上のサーバーへの受信 SMB アクセスを制限することは珍しいことではなく、インターネットからの受信 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 以外のリンクに移動すると、同じページが表示されるだけです。これにより、ディレクトリの INI ファイルから抽出されたハッシュを使用してディレクトリを検索できないため、Datalib の「ルート」ディレクトリ内のファイルに直接アクセスできるファイルの数が制限されます。実際のファイルのみを保存するため、FileLib 内のディレクトリに保存されます。
ただし、 http://<SCCM DP>/SMS_DP_SMSPKG$/
ルートから直接ディレクトリ名を参照すると、そのディレクトリ内のファイルが表示され、直接ダウンロードできます。
これがsccm-http-looter
通常の動作方法です。 Datalib ディレクトリのディレクトリ リストを解析し、それらを要求してファイルごとに解析してから、ユーザーが指定した許可リストにある拡張子を持つファイルをダウンロードします。
匿名アクセスが有効になっているが、 http://<SCCM DP>/SMS_DP_SMSPKG$/
ルート以外のディレクトリのディレクトリ一覧が無効になっている場合、 -use-signature-method
を指定してツールを実行することで使用できるファイルを取得する 2 番目の手法があります。 -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 バイト前のファイル名が含まれています。
ツールはこのバイト文字列を検索し、署名ファイルからすべてのファイル名を抽出します。