Back to Intelligence

UNC6671 Multi-Brand Vishing Extortion: Okta-Themed AiTM Phishing Infrastructure — OTX Pulse Detection Pack

SA
Security Arsenal Team
September 6, 2026
9 min read

Threat Summary

Live OTX pulse data confirms that UNC6671 — the financially motivated extortion actor Google Threat Intelligence attributes to a string of data-theft campaigns against financial services and enterprise cloud tenants — has not slowed despite the alleged May 2026 "retirement" of its BlackFile extortion brand. Instead, the group has fragmented its leak and negotiation operations across at least four successor fronts: Redact, Pink, Helix, and Falcon. This multi-brand dispersion is a deliberate resilience play: law-enforcement pressure or reputational burn on one brand does not collapse the operation.

The attack chain observed in this pulse is consistent and repeatable:

  1. Recon & Target Selection — Victim organizations spanning finance, technology, healthcare, telecommunications, and 11+ other sectors are profiled; employee personal mobile numbers are harvested (likely from data broker or prior-breach corpora).
  2. Vishing (Voice Phishing) — Operators impersonate internal IT helpdesk staff and call employees directly on personal devices, creating urgency around "SSO re-enrollment," "passkey migration," or "MFA reset."
  3. AiTM Credential Harvesting — Victims are directed to spoofed Okta/SSO/passkey portals (75 indicators in this pulse) that proxy the real identity provider, capturing session tokens and defeating phishing-resistant MFA enrollment flows.
  4. SaaS Exfiltration — With valid session cookies, the actor pivots into cloud SaaS estates (email, file storage, HR/finance platforms) and stages bulk data theft.
  5. Extortion — Stolen data is leveraged under one of the rotating brands (Redact / Pink / Helix / Falcon) for payment demands.

The collective signal: identity is the perimeter UNC6671 attacks, and voice is the delivery mechanism. Traditional email-borne phishing controls do not see this intrusion path.

Threat Actor / Malware Profile: UNC6671

UNC6671 is notable for what it does not deploy: commodity malware. This pulse lists no malware family because the intrusion set is overwhelmingly living-off-the-identity — the "payload" is a valid session token.

  • Distribution Method: Outbound voice calls (vishing) to personal mobile numbers, spoofing internal IT/helpdesk caller identity. Follow-up SMS or direct verbal URL delivery routes victims to typosquatted enrollment portals.
  • Payload Behavior: The phishing kit operates as an Adversary-in-the-Middle (AiTM) reverse proxy. It brokers the victim's genuine authentication against the real Okta/IdP backend in real time, harvesting credentials, MFA one-time codes, and — critically — session cookies, which are replayed from attacker infrastructure to inherit the authenticated session.
  • C2 / Infrastructure Communication: The kit infrastructure front-loads lookalike domains themed around okta, sso, passkey, and enroll. Session replay typically originates from commercial VPN egress, bulletproof hosting, or residential proxy networks — a key detection seam.
  • Persistence Mechanism: Stolen session tokens provide immediate access; durable persistence is achieved by registering attacker-controlled MFA factors or passkeys (the "passkey setup" theme of the domains is not accidental — it lures victims into enrolling the attacker's authenticator), creating inbox forwarding rules, and minting OAuth consents in SaaS tenants.
  • Anti-Analysis Techniques: The brand-diversification strategy (BlackFile → Redact/Pink/Helix/Falcon) frustrates attribution and leak-site takedown. Phishing pages commonly employ device fingerprinting, bot/sandbox geofencing, and short-lived URLs delivered verbally to evade URL-scanning pipelines.

IOC Analysis

This pulse contains 75 domain indicators, of which the sample below is representative:

IndicatorTypeThemed Lure
oktaenroll.comdomainOkta enrollment
idokta.comdomainOkta identity
myoktasso.comdomainOkta SSO
mypasskeysso.comdomainPasskey SSO
setupssopasskey.comdomainPasskey setup
passkeyms.comdomainMicrosoft passkey
keyokta.comdomainOkta key
portalpasskey.comdomainPasskey portal

Operationalization guidance for SOC teams:

  • Block at DNS and web proxy layers immediately. These are not compromised legitimate sites — they are purpose-built criminal infrastructure; there is no false-positive cost to a null-route.
  • Retro-hunt DNS/proxy logs for 30–90 days. The domains may have been live before publication of this pulse.
  • Pivot on naming patterns. The lexical theme (okta*, *sso*, *passkey*, *enroll*) is predictable. Feed regex-based detection (see Sigma rule 3) into DNS telemetry to catch future registrations not yet in any feed.
  • Tooling: Use AlienVault OTX DirectConnect or the OTX API to pull the full 75-indicator set into your SIEM/TIP; use urlscan.io and Passive DNS (RiskIQ/Validin) to expand infrastructure; use dnstwist-style permutation monitoring for newly registered lookalikes.

Detection Engineering

YAML
---
title: UNC6671 Okta-Themed AiTM Phishing Domain Resolution
id: 7f3a2c11-9e4b-4c2d-8a1f-unc6671dns01
status: experimental
description: Detects DNS queries to known UNC6671 vishing/AiTM credential-harvesting domains from the 2026-09 OTX pulse (Okta/passkey/SSO themed spoof portals)
author: Security Arsenal Threat Intel
date: 2026/09/06
references:
    - https://cloud.google.com/blog/topics/threat-intelligence/unc6671-targets-financial-services-and-enterprise-cloud-environments
logsource:
    category: dns
product: windows
    definition: 'Requirements: DNS query logging via DNS server debug log, ETW, or network sensor'
detection:
    selection_ioc:
        query|contains:
            - 'oktaenroll.com'
            - 'idokta.com'
            - 'myoktasso.com'
            - 'mypasskeysso.com'
            - 'setupssopasskey.com'
            - 'passkeyms.com'
            - 'keyokta.com'
            - 'portalpasskey.com'
    filter_internal:
        query|contains:
            - 'okta.com'
            - 'okta-emea.com'
            - 'oktacdn.com'
    condition: selection_ioc and not filter_internal
falsepositives:
    - Threat researcher sandbox detonation
level: high
tags:
    - attack.t1566.004
    - attack.t1557
    - attack.t1078
---
title: Suspicious IdP-Themed Lookalike Domain Resolution (Okta/SSO/Passkey Pattern)
id: 7f3a2c12-9e4b-4c2d-8a1f-unc6671ptrn
status: experimental
description: Detects DNS resolution of newly observed domains impersonating Okta, SSO, or passkey enrollment portals — catches UNC6671 infrastructure not yet in IOC feeds
author: Security Arsenal Threat Intel
date: 2026/09/06
references:
    - https://cloud.google.com/blog/topics/threat-intelligence/unc6671-targets-financial-services-and-enterprise-cloud-environments
logsource:
    category: dns
product: windows
    definition: 'Requirements: DNS query logging via DNS server debug log, ETW, or network sensor'
detection:
    selection_pattern:
        query|re: '(okta[a-z0-9-]*\.(?!okta\.com)|[a-z0-9-]*okta[a-z0-9-]*\.(?!okta\.com)|[a-z0-9-]*(sso|passkey)[a-z0-9-]*(enroll|setup|portal|ms)[a-z0-9-]*\.)[a-z]{2,}$'
    filter_legit:
        query|ends_with:
            - '.okta.com'
            - '.oktacdn.com'
            - '.okta-emea.com'
            - '.microsoftonline.com'
            - '.microsoft.com'
    condition: selection_pattern and not filter_legit
falsepositives:
    - Legitimate regional IdP vanity domains (tune with allowlist)
level: medium
tags:
    - attack.t1566.004
    - attack.t1557
---
title: Impossible-Travel Session Replay After Suspicious IdP Authentication
id: 7f3a2c13-9e4b-4c2d-8a1f-unc6671sess
status: experimental
description: Detects successful sign-in events where the same identity authenticates from a known-corporate ASN and a foreign/VPN ASN within a short window — indicative of AiTM session-token theft and replay by UNC6671
author: Security Arsenal Threat Intel
date: 2026/09/06
references:
    - https://cloud.google.com/blog/topics/threat-intelligence/unc6671-targets-financial-services-and-enterprise-cloud-environments
logsource:
    product: azure
    service: signinlogs
    definition: 'Requirements: Azure AD/Entra sign-in logs streamed to SIEM with ASN enrichment'
detection:
    selection:
        status: success
        auth_method|contains:
            - 'password'
            - 'otp'
    condition: selection
    timeframe: 30m
    aggregation:
        - field: userPrincipalName
          groupby: userPrincipalName
          condition: distinct_count(ip_asn) > 1
falsepositives:
    - User roaming onto mobile hotspot (correlate with helpdesk vishing reports and MFA factor change events)
level: high
tags:
    - attack.t1557
    - attack.t1078
    - attack.t1621
KQL — Microsoft Sentinel / Defender
// UNC6671 Hunt: AiTM phishing domain access + post-compromise MFA factor manipulation
// Sentinel tables: DeviceNetworkEvents (DNS/proxy via Defender), AADSignInEventsBeta, AuditLogs

let LookalikeDomains = dynamic([
    "oktaenroll.com","idokta.com","myoktasso.com","mypasskeysso.com",
    "setupssopasskey.com","passkeyms.com","keyokta.com","portalpasskey.com"
]);
let IdPPattern = @"(okta|sso|passkey).*(enroll|setup|portal|key|ms)";

// Part 1: Endpoints reaching known or pattern-matched spoof domains
let DomainHits = DeviceNetworkEvents
| where TimeGenerated > ago(90d)
| where RemoteUrl has_any (LookalikeDomains)
    or (RemoteUrl matches regex IdPPattern
        and not(RemoteUrl has_any ("okta.com","oktacdn.com","microsoftonline.com")))
| project TimeGenerated, DeviceName, RemoteUrl, RemoteIP, InitiatingProcessAccountName;

// Part 2: MFA / auth-method changes on accounts that touched the domains
DomainHits
| summarize FirstSeen=min(TimeGenerated) by InitiatingProcessAccountName, RemoteUrl
| join kind=leftouter (
    AuditLogs
    | where TimeGenerated > ago(90d)
    | where OperationName has_any ("Update user","StrongAuthentication","Add service principal credentials","Consent to application")
    | mv-expand TargetResources
    | project OpTime=TimeGenerated, OperationName, InitiatedBy, TargetUser=tostring(TargetResources.userPrincipalName)
) on $left.InitiatingProcessAccountName == $right.TargetUser
| extend PostContactAction = iff(OpTime > FirstSeen and OpTime < FirstSeen + 1h, "LIKELY_HIJACK", "review")
| project FirstSeen, InitiatingProcessAccountName, RemoteUrl, OperationName, InitiatedBy, OpTime, PostContactAction
| order by FirstSeen desc
PowerShell
# UNC6671 AiTM Vishing Hunt — run on endpoints or export to a central share
# Checks: DNS cache for spoof domains, proxy/VPN sessions, browser IdP-session artifacts
$SpoofDomains = @(
    'oktaenroll.com','idokta.com','myoktasso.com','mypasskeysso.com',
    'setupssopasskey.com','passkeyms.com','keyokta.com','portalpasskey.com'
)
$Pattern = '(okta|sso|passkey).*(enroll|setup|portal|key|ms)'
$Results = [System.Collections.Generic.List[object]]::new()

# 1) DNS client cache hits
Get-DnsClientCache -ErrorAction SilentlyContinue | ForEach-Object {
    if (($SpoofDomains -contains $_.Entry) -or
        ($_.Entry -match $Pattern -and $_.Entry -notmatch 'okta\.com$|microsoftonline\.com$')) {
        $Results.Add([pscustomobject]@{Check='DNSCache'; Artifact=$_.Entry; Detail=$_.Data})
    }
}

# 2) Active connections to infrastructure resolving to spoof themes
Get-NetTCPConnection -State Established -ErrorAction SilentlyContinue | ForEach-Object {
    try {
        $ptr = (Resolve-DnsName -Name $_.RemoteAddress -Type PTR -ErrorAction Stop).NameHost
        if ($ptr -match $Pattern) {
            $Results.Add([pscustomobject]@{Check='NetConnection'; Artifact=$_.RemoteAddress; Detail=$ptr})
        }
    } catch {}
}

# 3) Browser history artifacts (Chrome/Edge) for spoof portal visits
$histPaths = @(
    "$env:LOCALAPPDATA\Google\Chrome\User Data\Default\History",
    "$env:LOCALAPPDATA\Microsoft\Edge\User Data\Default\History"
)
foreach ($h in $histPaths) {
    if (Test-Path $h) {
        $tmp = Copy-Item $h -Destination "$env:TEMP\hist_$([guid]::NewGuid().Guid)" -PassThru -Force
        try {
            Add-Type -AssemblyName System.Data
            # lightweight string scrape instead of sqlite dependency
            $raw = [System.IO.File]::ReadAllBytes($tmp.FullName)
            $txt = [System.Text.Encoding]::UTF8.GetString($raw)
            foreach ($d in $SpoofDomains) {
                if ($txt -match [regex]::Escape($d)) {
                    $Results.Add([pscustomobject]@{Check='BrowserHistory'; Artifact=$d; Detail=$h})
                }
            }
        } finally { Remove-Item $tmp.FullName -Force -ErrorAction SilentlyContinue }
    }
}

# 4) Scheduled tasks / run keys referencing suspicious IdP-themed URLs (persistence check)
Get-ItemProperty 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Run',
                 'HKLM:\Software\Microsoft\Windows\CurrentVersion\Run' -ErrorAction SilentlyContinue |
    ForEach-Object { $_.PSObject.Properties } |
    Where-Object { $_.Value -match $Pattern -and $_.Value -notmatch 'okta\.com' } |
    ForEach-Object { $Results.Add([pscustomobject]@{Check='RunKey'; Artifact=$_.Name; Detail=$_.Value}) }

if ($Results.Count) {
    $Results | Format-Table -AutoSize
    $Results | Export-Csv "$env:TEMP\UNC6671_hunt_$env:COMPUTERNAME.csv" -NoTypeInformation
    Write-Warning "UNC6671 artifacts found — isolate host and force IdP session revocation + MFA re-enrollment."
} else {
    Write-Output "No UNC6671 indicators found on $env:COMPUTERNAME."
}

Response Priorities

Immediate (0–4h):

  • Push all 75 pulse domains to DNS sinkhole, secure web gateway, and EDR network block lists.
  • Retro-hunt DNS/proxy telemetry 90 days back for the listed domains and the Okta/passkey lexical pattern.
  • Issue a company-wide advisory: IT/helpdesk will never call your personal phone to re-enroll MFA or set up a passkey. Establish a verbal callback verification code.

24 Hours:

  • For any user whose device resolved a spoof domain: force revocation of all active sessions and refresh tokens in Entra ID/Okta, reset credentials, and audit registered MFA methods for attacker-added factors (the primary UNC6671 persistence move).
  • Review OAuth application consents and mailbox forwarding rules for affected accounts.
  • Audit SaaS audit logs (M365 Unified Audit Log, Google Workspace, Salesforce) for bulk-export or mass-download events from non-corporate ASNs.

1 Week:

  • Deploy phishing-resistant authentication end-to-end (FIDO2/passkeys with attestation enforcement) and disable SMS/voice OTP, which AiTM kits trivially relay.
  • Implement Conditional Access token-binding / device-compliance requirements so stolen session cookies cannot replay from attacker infrastructure.
  • Stand up continuous dnstwist-style monitoring for okta*, *sso*, and *passkey* permutations of your brand; pre-emptively takedown-report registrations.
  • Brief executives on the Redact/Pink/Helix/Falcon extortion brands so inbound ransom communications under any of those names route immediately to IR, not business leadership.

Related Resources

Security Arsenal Incident Response Managed SOC & MDR Services AlertMonitor Threat Detection From The Dark Side Intel Hub

Is your security operations ready?

Get a free SOC assessment or see how AlertMonitor cuts through alert noise with automated triage.