Tutoriales

CMLoot: encuentre archivos interesantes almacenados en (System Center) Configuration Manager (SCCM/CM) recursos compartidos SMB

botín Fue creado para encontrar fácilmente archivos interesantes almacenados en recursos compartidos SMB de System Center Configuration Manager (SCCM/CM). Los recursos compartidos se utilizan para distribuir software a clientes de Windows en un entorno Windows Enterprise y pueden contener scripts/archivos de configuración con contraseñas, certificados (pfx), etc. La mayoría de las implementaciones de SCCM están configuradas para permitir que todos los usuarios lean archivos en el recurso compartido, a veces está restringido solo a cuentas de computadora.

El repositorio de contenido de SCCM/CM tiene una estructura de archivos «complicada» (molesta) que CMLoot desempaquetará para usted:

La carpeta DataLib esencialmente contiene archivos .INI, que se denominan el nombre de archivo original + .INI. El archivo .INI contiene el hash del archivo y el archivo en sí se almacena en FileLib en el siguiente formato \ hash completo.

Cuenta de acceso de CM

El control de acceso se puede aplicar a paquetes en CM. Sin embargo, esto solo protege la carpeta de descriptores de archivos (DataLib), no los archivos en sí. CMLoot registrará cualquier paquete al que no pueda acceder (acceso denegado) en el archivo _noaccess.txt durante el inventario. Invoke-CMLootHunt puede usar este archivo para enumerar los archivos reales que el control de acceso intenta proteger.

seguridad operativa

Windows Defender para Endpoint (EDR) u otros mecanismos de seguridad pueden activarse porque el script analiza una gran cantidad de archivos a través de SMB.

cómo

Encuentre el servidor CM buscando en Active Directory u obteniendo esta clave de registro en la estación de trabajo donde está instalado System Center:

(Get-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\SMS\DP -Name ManagementPoints).ManagementPoints

Puede haber varios servidores CM implementados, que pueden contener diferentes archivos, así que asegúrese de encontrarlos todos.

Luego, debe crear un archivo de manifiesto, que es solo un archivo de texto que contiene referencias a descriptores de archivos (.INI). El siguiente comando analizará todos los archivos .INI en el servidor SCCM para crear una lista de archivos disponibles.

PS> Invoke-CMLootInventory -SCCMHost sccm01.domain.local -Outfile sccmfiles.txt

Luego use el archivo de manifiesto creado anteriormente para descargar los archivos de interés:

Seleccione archivos usando GridView (el kilometraje puede variar para archivos de manifiesto grandes):

PS> Invoke-CMLootDownload -InventoryFile .\sccmfiles.txt -GridSelect

Descargue un solo archivo copiando una línea en el texto del manifiesto:

PS> Invoke-CMLootDownload -SingleFile \\sccm\SCCMContentLib$\DataLib\SC100001.1\x86\MigApp.xml

Descargue todos los archivos con una extensión de archivo específica:

PS> Invoke-CMLootDownload -InventoryFile .\sccmfiles.txt -Extension ps1

De forma predeterminada, los archivos se descargarán a CMLootOut en la carpeta donde ejecuta el script, esto se puede cambiar con el parámetro -OutFolder. El archivo se guarda en el formato de (carpeta: filext)\(primeros 4 caracteres de hash>_nombre de archivo original).

Buscando CMLootInventory encontró archivos inaccesibles:

Invoke-CMLootHunt -SCCMHost sccm -NoAccessFile sccmfiles_noaccess.txt

Extracción por lotes de archivos MSI:

Invoke-CMLootExtract -Path .\CMLootOut\msi

manifestación

Ejecute el manifiesto para buscar archivos disponibles:

Utilice GridSelect para seleccionar archivos:

Descargar todas las extensiones:

Busque archivos «inaccesibles» y extracciones de MSI:

autor

Thomas Reepka / WithSecure

por favor considera atención y apoyo Siempre estamos actualizados

LEER  Enumerar la URL del repositorio de Git de la índice de URL / legatario / ordenamiento

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba