Files
Anthropic-Cybersecurity-Skills/skills/attacking-oauth-with-device-code-phishing/references/api-reference.md
T
mukul975 8cae0648ec Add 55 new skills across 3 new domains + 6 undercovered areas (762 -> 817)
Demand-driven expansion targeting the fastest-growing 2025-2026 threat and
skills categories (ISC2/WEF/CrowdStrike/Mandiant signals):

- AI Security (NEW domain, 12 skills): LLM red-teaming with garak/PyRIT,
  prompt injection (direct/indirect/RAG), MCP tool-poisoning, agentic tool
  invocation, guardrails, model/data poisoning, system-prompt leakage,
  embedding/vector weaknesses, model extraction, continuous red-teaming
- Supply Chain Security (NEW domain, 5 skills): SBOMs, dependency confusion,
  malicious-npm triage, typosquatting, SLSA/Sigstore provenance
- Hardware & Firmware Security (NEW domain, 4 skills): CHIPSEC/UEFI audit,
  Secure Boot bypass, TPM measured-boot attestation, ESP bootkit hunting
- Identity (10): Entra ID/ROADtools, GraphRunner, AADInternals, ADCS/Certipy,
  shadow credentials, coercion, BloodHound CE, device-code phishing, SSO abuse
- Cloud-native (8): Stratus, Pacu, CloudFox, container escape, K8s RBAC,
  Falco, Trivy, kube-bench
- Offensive C2 (6): Sliver, Havoc, NetExec, DPAPI, NTLM relay ESC8, redirectors
- DFIR (6): Hayabusa, Chainsaw, KAPE, Velociraptor, EZ Tools, Plaso
- Backfill (4): OpenCTI, MISP, honeytokens, post-quantum crypto migration

Each skill follows the repo taxonomy (SKILL.md + references/{standards,api-reference}.md
+ scripts/agent.py + LICENSE), with researched real tool commands (no placeholders),
complete frontmatter, and ATT&CK/ATLAS + NIST CSF mappings. Updates README domain
table, skill count, and index.json.
2026-06-22 19:08:16 +02:00

3.0 KiB

API & Tool Reference — Device-Code / Consent Phishing

Entra ID OAuth 2.0 endpoints

Endpoint Method Purpose
https://login.microsoftonline.com/{tenant}/oauth2/v2.0/devicecode POST Request user_code + device_code. tenant = organizations, common, or a tenant ID.
https://login.microsoftonline.com/{tenant}/oauth2/v2.0/token POST Poll for tokens (grant_type=urn:ietf:params:oauth:grant-type:device_code) or redeem authorization_code / refresh_token.
https://login.microsoftonline.com/{tenant}/oauth2/v2.0/authorize GET Consent / authorization-code request (illicit consent variant).
https://microsoft.com/devicelogin GET Genuine Microsoft page where the victim enters the user_code.

Device-code request parameters

Parameter Example Notes
client_id d3590ed6-52b3-4102-aeff-aad2292ab01c Microsoft Office (first-party, broad pre-auth).
scope https://graph.microsoft.com/.default offline_access offline_access yields a long-lived refresh token.

Token-poll parameters

Parameter Value
grant_type urn:ietf:params:oauth:grant-type:device_code
client_id same as request
device_code from device-code response

Poll responses: authorization_pending, slow_down, expired_token, authorization_declined, or success (access_token, refresh_token, id_token).

Common first-party client IDs

Client Client ID
Microsoft Office d3590ed6-52b3-4102-aeff-aad2292ab01c
Microsoft Azure CLI 04b07795-8ddb-461a-bbee-02f9e1bf7b46
Microsoft Azure PowerShell 1950a258-227b-4e31-a9cf-717495945fc2
Microsoft Teams 1fec8e78-bce4-4aaf-ab1b-5451cc387264

TokenTactics (PowerShell) functions

Function Key parameters Purpose
Get-AzureToken -Client (MSGraph, DODMSGraph) Generate device code, poll, return tokens.
Invoke-RefreshToMSGraphToken -domain -refreshToken [-ClientId] Refresh to Microsoft Graph.
Invoke-RefreshToOutlookToken -domain -refreshToken Refresh to Outlook/EXO.
Invoke-RefreshToMSTeamsToken -domain -refreshToken Refresh to Teams.
Invoke-RefreshToAzureCoreManagementToken -domain -refreshToken Refresh to Azure ARM.
Invoke-RefreshToSubstrateToken -domain -refreshToken Refresh to Substrate.
Invoke-DumpOWAMailboxViaMSGraphApi -AccessToken -mailFolder Read mailbox via Graph.
Invoke-ParseJWTtoken -Token Decode a JWT.

ROADtools

Command Purpose
roadtx refreshtokento -r <rt> -c <client_id> -s <scope> Exchange refresh token for new resource.
roadrecon auth --refresh-token <rt> -c <client_id> Authenticate roadrecon.
roadrecon gather Dump directory to local DB.
roadrecon gui Browse enumerated tenant data.

Source: https://github.com/rvrsh3ll/TokenTactics , https://github.com/dirkjanm/ROADtools , RFC 8628.