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
Tabla de Contenidos
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