T The Triage ManualTechnical Guides for IT Emergencies
P1 · Cyber Incident Response

UNC6671 BlackFile Vishing + AiTM SSO Extortion Campaign — Microsoft 365 & Okta Identity Compromise

UNC6671 (operating as 'BlackFile') conducts voice phishing attacks targeting employees' personal phones, using adversary-in-the-middle (AiTM) proxies to bypass MFA and steal SSO session tokens for Microsoft 365 and Okta. Once authenticated, attackers use Python and PowerShell scripts to programmatically exfiltrate sensitive data, then extort victims via a dedicated data leak site. No vendor vulnerabilities are exploited — this is purely social-engineering-driven, making phishing-resistant MFA (FIDO2/passkeys) the primary defensive control.

Indicators

Likely causes

Diagnostic steps

  1. Collect and review Microsoft Entra ID sign-in logs for the affected user(s) for 72 hours surrounding the reported vishing call. Filter for sign-ins from unexpected IP addresses, ASNs associated with hosting providers or anonymisation services, and 'Interrupted' or 'Success' events immediately followed by impossible-travel alerts. Navigate to Entra ID > Sign-in logs > filter by User and Date range.
    Confirm whether an AiTM credential relay succeeded and identify the attacker-controlled session origin IP and timestamp.
  2. Query the Microsoft 365 Unified Audit Log for OAuth application consent events in the window following suspicious sign-in. Search: Operations 'Add app role assignment to service principal' and 'Consent to application'. Also search for bulk file access events (FileDownloaded, FileSyncDownloadedFull) against SharePoint and OneDrive. Use Security & Compliance Center > Search > Audit log search.
    Determine whether the attacker established persistent OAuth access or began exfiltrating data via Microsoft Graph after obtaining a valid session token.
  3. Review Okta System Log for the affected user(s): filter on event types 'user.session.start', 'policy.evaluate_sign_on', and 'application.lifecycle.update'. Cross-reference client IP addresses against known UNC6671 harvesting infrastructure. Check for MFA factor downgrade or new factor enrollment events. Navigate to Okta Admin > Reports > System Log.
    Identify AiTM relay activity in Okta and determine whether the attacker enrolled a new authenticator to maintain access after the initial session.
  4. Interview the targeted employee to establish the exact timeline: when they received the call, what pretext was used (e.g., 'passkey migration', 'MFA update'), which URL they were directed to, and what credentials or MFA codes they provided. Collect browser history and any SMS/push notifications received during the call.
    Corroborate technical log evidence, recover the attacker's credential harvesting domain for blocklisting, and establish the precise window of compromise for downstream forensics.
  5. Search proxy, DNS, and endpoint logs for connections to the credential harvesting domain identified in step 4. Expand the query to identify any other employees who may have visited the same or similar domains. Check for shared registrar, hosting ASN, or certificate patterns in UNC6671's known infrastructure.
    Determine the full scope of affected users and identify additional harvesting domains to block and report.
  6. Check for Python or PowerShell process execution on any endpoints or Azure Automation / Logic App resources associated with compromised accounts. Review Microsoft 365 audit logs for Graph API calls consistent with bulk mail export, SharePoint enumeration, or user directory harvesting.
    Confirm whether the exfiltration phase has begun and estimate the volume and sensitivity of data accessed for breach notification decisions.

Resolution path

Prevention

Tools

References

vishingsocial-engineeringAiTMMFA-bypassSSO-compromiseMicrosoft-365Entra-IDAzure-ADOktacredential-harvestingdata-exfiltrationextortionUNC6671BlackFileidentity-threatcloud-securitySaaS-securityPythonPowerShellphishing-resistant-MFAFIDO2passkeysOAuth-abusesession-token-theftthreat-intelligenceGTIGincident-response