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
폴더를 열거하여 파일의 해시가 포함된
파일을 찾는 방식으로 작동합니다. 그런 다음 FileLib/
에서 실제 파일을 찾을 수 있습니다. 이는 공유에 액세스하면 DataLib
폴더의 모든 파일을 열거할 수 있기 때문에 작동합니다.
HTTP/S를 사용하면 상황이 달라집니다. http://
로 이동하면 번호가 매겨진 파일과 INI의 디렉터리 목록이 표시됩니다.
다양한 이유로(예: 속도) 익명 액세스를 허용하도록 이러한 배포 지점을 구성할 수 있습니다.
그러나 INI가 아닌 링크로 이동하면 동일한 페이지만 표시되며, 디렉토리의 INI 파일에서 추출된 해시를 사용하여 Datalib의 "루트" 디렉토리에 있는 파일에 직접 액세스할 수 있는 파일 수가 제한됩니다. 실제 파일만 저장하기 때문에 FileLib의 디렉터리입니다.
그러나 http://
루트에서 직접 디렉터리 이름을 검색하면 해당 디렉터리에 있는 파일이 표시되며 직접 다운로드할 수 있습니다.
이것이 sccm-http-looter
정상적으로 작동하는 방식입니다. 사용자가 지정한 허용 목록에 있는 확장자를 가진 파일을 다운로드하기 전에 디렉터리에 대한 Datalib 디렉터리 목록을 구문 분석한 다음 이를 요청하고 모든 파일에 대해 각각 구문 분석합니다.
익명 액세스가 활성화되어 있지만 http://
루트 외부 디렉터리에 대한 디렉터리 목록이 비활성화된 경우 -use-signature-method
사용하여 도구를 실행하여 사용할 수 있는 파일을 검색하는 두 번째 기술이 있습니다. -use-signature-method
. 이 모드에서 도구는 다음을 수행합니다.
http:///SMS_DP_SMSPKG$/Datalib
에서 Datalib 목록을 다운로드합니다.http:///SMS_DP_SMSSIG$/.tar
에서 .INI 링크가 아닌 파일 이름을 다운로드합니다. 여기서
은 Datalib 페이지의 모든 href에 있는 마지막 요소입니다(예: 12300005.1
).http:///SMS_DP_SMSPKG$/Datalib//.INI
에서 INI 파일을 다운로드합니다.http:///SMS_DP_SMSPKG$/Filelib//
에서 실제 파일을 다운로드하여 서명 파일에 지정된 올바른 파일 이름으로 이름을 바꿉니다. 서명 파일은 .tar
파일이지만 실제 tar는 아닙니다. 여기에는 아래와 같이 바이트 문자열 0x18, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01
앞에 파일 이름이 512바이트 포함되어 있습니다.
도구는 이 바이트 문자열을 검색하고 서명 파일에서 모든 파일 이름을 추출합니다.