Skip to content
KitploitKITPLOIT
FerramentasBlog
Log in
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
OutOfTune — Ferramenta de inscrição de dispositivos rogue para Entra ID e Intune MDM. Automatiza a junção de dispositivos, aquisição de token, inscrição MDM e check-in OMA-DM para extrair políticas, credenciais Wi-Fi, scripts e aplicativos, contornando o acesso condicional. | Kitploit
Ferramentas/GitHubGitHub/stra-x/outoftune
Autenticação e AutorizaçãoEscalada de PrivilégiosAnálise de VulnerabilidadesMovimento LateralAuditoria de ConfiguraçãoColeta de InformaçõesPós-ExploraçãoTestes de PenetraçãoSegurança na NuvemSegurança MóvelGerenciamento de Identidade e Acesso (IAM)
31317há 6 mesesRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Red Teaming
GitHubstra-x/outoftune

OutOfTune

Ferramenta de inscrição de dispositivos rogue para Entra ID e Intune MDM. Automatiza a junção de dispositivos, aquisição de token, inscrição MDM e check-in OMA-DM para extrair políticas, credenciais Wi-Fi, scripts e aplicativos, contornando o acesso condicional.

Ver Repositório
Compartilhar

OutOfTune

Inspirado pelo Pytune original, o OutOfTune registra um dispositivo invasor no Entra ID, inscreve-o no Intune MDM e verifica o estado de conformidade resultante.

Suporta apenas dispositivos Windows, pois este era meu objetivo principal; talvez adicione outros no futuro.

Blog de acompanhamento:

  • https://stra-x.github.io/Re-Engineering-Pytune-Rogue-devices-in-the-age-of-conditional-access/
  • https://stra-x.github.io/Re-Engineering-Pytune-Rogue-devices-in-the-age-of-conditional-access-pt-2/

Requisitos

pip install -r requirements.txt

Como funciona

A cadeia é executada em fases, cada uma baseada no estado salvo em chain_state.json.

drs-token  ->  device-join  ->  device-token  ->  mdm-enroll  ->  mdm-checkin
  1. drs-token - obter um token de acesso DRS (ROPC ou pré-phishing)
  2. device-join - registrar um novo objeto de dispositivo no Entra ID, obter um certificado de dispositivo
  3. device-token - autenticar como principal do dispositivo, obter um token de inscrição do Intune
  4. mdm-enroll - descoberta SOAP + inscrição WS-Trust, obter um certificado de cliente MDM
  5. mdm-checkin - check-in OMA-DM SyncML, buscar políticas, opcionalmente definir um usuário principal

Uso

1. Obter um token DRS

ROPC (credenciais conhecidas):

python OutOfTune.py drs-token -u [email protected] -p Password1!

Token pré-obtido:

python OutOfTune.py drs-token -u [email protected] -t <drs_access_token>

2. Associar um dispositivo ao Entra ID

python OutOfTune.py device-join
python OutOfTune.py device-join -n CORP-LAPTOP-01

Gera <NOMEDODISPOSITIVO>.pfx - o certificado do dispositivo. A senha é password.


3. Obter um token de principal do dispositivo

python OutOfTune.py device-token
python OutOfTune.py device-token --cert CORP-LAPTOP-01.pfx

Autentica no AAD como o objeto do dispositivo (não como um usuário). Ignora políticas de CA com escopo de usuário.


4. Inscrever no Intune MDM

python OutOfTune.py mdm-enroll
python OutOfTune.py mdm-enroll --profile profiles/dell_win11_ent.json

Executa a descoberta SOAP contra o endpoint MDM e, em seguida, envia uma solicitação de inscrição WS-Trust PKCS10. Gera <NOMEDODISPOSITIVO>_mdm.pfx.

Use --profile para falsificar os atributos de hardware/OS do dispositivo enviados ao Intune (consulte Perfis de Dispositivo).


5. Check-in OMA-DM

python OutOfTune.py mdm-checkin
python OutOfTune.py mdm-checkin -r <refresh_token>
python OutOfTune.py mdm-checkin --cert CORP-LAPTOP-01_mdm.pfx
python OutOfTune.py mdm-checkin -O ./output
python OutOfTune.py mdm-checkin -O ./output --save-syncml ./output/raw

Executa o loop OMA-DM SyncML contra r.manage.microsoft.com. O Intune enviará perfis de configuração, atribuições de aplicativos e quaisquer outras políticas direcionadas ao dispositivo. Após a conclusão do loop, as informações são automaticamente extraídas e exibidas.

Se -r for fornecido, o refresh token é trocado por um token de acesso do manage.microsoft.com e enviado como Authorization: Bearer em cada solicitação SyncML. O Intune lê o UPN deste token e o define como o usuário principal do dispositivo, fazendo com que as políticas de conformidade com escopo de usuário sejam vinculadas. Você só precisa executar uma vez com -r para que um usuário seja atribuído; todos os check-ins subsequentes podem ser executados sem um refresh token.

Sem -r, o dispositivo não terá usuário principal.

Após este check-in inicial, se você não fizer check-in novamente por um período prolongado (geralmente 5-7 dias), o dispositivo pode ficar fora de conformidade devido à política padrão "Is Active". Dependendo da configuração do Intune, o dispositivo pode entrar em um período de carência antes de ser marcado como não conforme. Se isso acontecer, execute mdm-checkin novamente. Se você usou anteriormente um refresh token para atribuir um usuário principal, isso não precisa ser enviado novamente, pois o usuário principal agora está armazenado no backend do Intune.

Flags

FlagDescrição
--cert FILEPFX MDM a ser usado — o nome do dispositivo é derivado automaticamente do nome do arquivo
-r RTRefresh token do usuário — define o usuário principal (necessário apenas uma vez)
-O DIRSalvar artefatos extraídos em DIR (wifi/, vpn/, scripts/, certs/, add_values.json, policy_values.json)
--save-syncml DIRSalvar XML SyncML bruto por rodada em DIR para análise posterior offline
-o FILEEscrever toda a saída do console em FILE

Informações úteis extraídas

CategoriaSalvo emNotas
Perfis Wi-Fiwifi/<SSID>.xml + _psk.txtPSK em texto puro extraído, se presente
Perfis VPNvpn/<name>.xmlProfileXML completo
Payloads de certificadocerts/cert_N.b64Blobs PFX criptografados (brutos, ainda não descriptografados)
Desafios SCEPexibidoNome do modelo CA, URL do desafio
Scriptsscripts/<name>.ps1Scripts PowerShell enviados via OMA-DM
URLs de download MSIexibidoLinks diretos de CDN para aplicativos LOB
Blob ODJodj_blob.b64 + odj_strings.txtOffline Domain Join — strings legíveis extraídas
Valores Addadd_values.jsonTodos os outros comandos Add (certificados de CA raiz, integração MDE, configuração de políticas)
Valores Replacepolicy_values.jsonValores de CSP de política definidos pelo Intune

Analisar rodadas SyncML salvas

Re-analisar as rodadas XML brutas salvas com --save-syncml sem executar um check-in ao vivo.

python OutOfTune.py parse-checkin --dir ./output/raw -O ./output2
python OutOfTune.py parse-checkin --file ./output/raw/round_001.xml -O ./output2

Verificar estado de conformidade

python OutOfTune.py check -u [email protected] -r <refresh_token>
python OutOfTune.py check -u [email protected] -p Password1!

Gera um PRT a partir do certificado do dispositivo, troca-o por um token IWService e consulta IWService/Devices pelo estado de conformidade do dispositivo e quaisquer regras não conformes.

Use -r com um refresh token de sessão MFA se o CA do locatário exigir MFA para o recurso de inscrição.


Baixar aplicativos e scripts

Busca aplicativos Win32 e scripts PowerShell atribuídos ao dispositivo via IME SideCarGateway. Usa apenas o certificado do cliente MDM — nenhum token de usuário é necessário.

python OutOfTune.py download-apps
python OutOfTune.py download-apps --cert CORP-LAPTOP-01_mdm.pfx
  • Scripts PowerShell são salvos em scripts/<PolicyId>.ps1
  • Aplicativos Win32 são baixados do CDN, descriptografados e extraídos para apps/<AppName>/

Baixar scripts de remediação

Busca scripts de remediação proativa (pares de detecção + remediação) atribuídos ao dispositivo.

python OutOfTune.py get-remediations
python OutOfTune.py get-remediations --cert CORP-LAPTOP-01_mdm.pfx

Cada política é salva em remediations/<PolicyId>/ contendo:

  • detection.ps1 — o script de detecção
  • remediation.ps1 — o script de remediação
  • params.json — ID da política e quaisquer parâmetros de script

Limpeza

Se a remoção do dispositivo do Intune falhar, exclua-o do Entra. Ele então entrará em um período de carência no Intune e será automaticamente removido posteriormente.

Remover o dispositivo do Intune:

python OutOfTune.py retire-intune -u [email protected] -r <refresh_token>

Remover o objeto do dispositivo do Entra ID:

python OutOfTune.py entra-delete

Verificar progresso da cadeia

python OutOfTune.py status

Perfis de Dispositivo

Baixar ferramenta