
Cliente MSSQL para ambientes SCCM, que permite reconhecimento, execução remota de PowerShell em clientes gerenciados e extração de segredos sensíveis, como credenciais NAA e configurações de aplicativos do Azure AD.
Um cliente MSSQL dedicado para exploração e enumeração do banco de dados SCCM.
$ pipx install git+https://github.com/synacktiv/sccmsqlclient/
Você pode instalar clonando o repositório e instalando as dependências.
$ git clone https://github.com/synacktiv/sccmsqlclient
$ cd sccmsqlclient
$ python3 -m venv .venv && source .venv/bin/activate
$ python3 -m pip install -r requirements.txt
sccmsqlclient.py usa o mesmo modelo de autenticação e sintaxe do mssqlclient.py do Impacket, pois é baseado na mesma implementação do protocolo MSSQL TDS (Tabular Data Stream).
Se você já está familiarizado com as ferramentas do Impacket, o formato de uso e login é idêntico.
$ python3 sccmsqlclient.py -windows-auth 'DOMAIN/USER:password'@mp.local
Lista os sites e servidores SCCM em uma hierarquia multi-site.
> sccm_sites
> sccm_servers
Enumera os servidores de infraestrutura SCCM e suas funções atribuídas dentro da hierarquia.
> sccm_sysreslist [ROLE_NAME]
> sccm_mp
> sccm_dp
Este conjunto de comandos consulta os dados de atribuição de funções e recursos de sistema do SCCM para mapear os componentes de infraestrutura e suas responsabilidades.
sccm_sysreslist → lista todos os recursos de sistema SCCM registrados e suas funçõessccm_sysreslist [ROLE_NAME] → filtra os resultados por nome de função (ex.: Management Point, Distribution Point)sccm_mp → atalho para listar todos os Management Pointssccm_dp → atalho para listar todos os Distribution PointsLista dispositivos conhecidos, com filtragem parcial por nome ou endereço IP
> sccm_devices [FILTER]
Lista clientes com seu status de canal BGB / Notificação (OnlineStatus=0|1)
> sccm_devices_bgbstatus [FILTER]
Utilize o recurso Run Scripts para executar scripts PowerShell em dispositivos gerenciados
Define um script PowerShell diretamente a partir de uma string.
> set_ps1_script "<string>"
Exemplo:
> set_ps1_script "Get-Process | Select-Object -First 10"
Carrega um script de um arquivo .ps1 local.
Exemplo:
> load_ps1_script ./script.ps1
Executa um script previamente definido contra um recurso SCCM alvo.
> sccm_run_script <RESOURCE_ID>
Exemplo:
> sccm_run_script 16777219
Quando executado, este comando gera dois GUIDs:
Esses identificadores são automaticamente armazenados em memória e reutilizados pelos seguintes comandos:
last_task_outputllast_task_output_printlast_task_cleanIsso permite que você opere na execução mais recente sem especificar GUIDs manualmente.
Mostra os resultados da tarefa mais recente iniciada via sccm_run_script.
> last_task_output
Isso recupera a saída bruta da execução armazenada em memória da última execução do Run Script do SCCM.
Exibe a saída de execução da última tarefa em um formato legível.
> last_task_output_print
Isso formata e limpa a saída bruta da última execução do Run Script do SCCM para facilitar a leitura e interpretação.
Recupera o status de execução de uma tarefa ou script.
> sccm_ScriptsExecutionStatus [TASK_GUID|SCRIPT_GUID]
Exemplos:
> sccm_ScriptsExecutionStatus
> sccm_ScriptsExecutionStatus 4F3A1B2C-AAAA-BBBB-CCCC-1234567890AB
Remove a tarefa SCCM rastreada mais recentemente.
> last_task_clean
Remove uma tarefa específica de Background Group (BGB).
> sccm_BGB_Tasks_clean <TASK_GUID>
Exemplo:
> sccm_BGB_Tasks_clean 4F3A1B2C-AAAA-BBBB-CCCC-1234567890AB
Exclui um objeto Run Script do SCCM.
> sccm_script_delete <SCRIPT_GUID>
Exemplo:
> sccm_script_delete 7F2C9D11-1111-2222-3333-ABCDEF987654
Esses comandos permitem a enumeração e extração de segredos sensíveis relacionados ao SCCM, como Network Access Accounts, credenciais de Client Push e configurações de aplicativos do Azure AD. A descriptografia depende da execução de um script remoto por meio dos Run Scripts do SCCM.
Recupera contas de usuário SCCM configuradas para operações privilegiadas, como Network Access Accounts (NAA) ou contas de instalação Client Push.
> sccm_useraccounts
Enumera as configurações de aplicativos do Azure AD armazenadas no SCCM.
> sccm_add_apps
Executa um script remoto em um Management Point SCCM ou em um cliente gerenciado para descriptografar blobs de segredos armazenados.
> sccm_decrypt_blob [RESOURCE_ID] [HEXBLOB]
Este comando:
RESOURCE_ID válido de um Site Server ou cliente gerenciado com status de agente saudável (consulte sccm_devices_bgbstatus)sccm_add_apps ou sccm_useraccountsA execução é realizada remotamente, e o resultado descriptografado é retornado pelo canal de execução do Run Script do SCCM.