UNC6671: Multi-Brand Vishing / AiTM Extortion (BlackFile → Redact / Pink / Helix / Falcon)
Executive Summary
UNC6671 is a financially motivated data-theft extortion actor tracked by Google Threat Intelligence Group (GTIG)/Mandiant since early 2026. It does not encrypt: it calls. Operators phone targeted employees on personal mobile numbers, sometimes spoofing the caller ID of the real IT helpdesk, and claim an urgent, mandatory FIDO2 passkey enrollment or MFA update is required. The victim is walked to a lookalike SSO portal (root domains such as createssopasskey[.]com with a victim-specific subdomain) where Adversary-in-the-Middle (AiTM) reverse-proxy infrastructure captures the credential and the live MFA/session token in real time and replays it to the real identity provider. From there, automated python-requests/PowerShell scripts pull data out of Microsoft 365 and Okta at volume, and the operators delete password-reset confirmations and MFA-change security alerts to buy time before the extortion demand lands ($1M–$3M asked, ~$750K typical settlement).
UNC6671 announced BlackFile's "retirement" on May 11, 2026 while continuing to collect ransom payments through the same wallets, then re-emerged across four parallel extortion brands: Redact, Pink, Helix, Falcon, which GTIG's infrastructure analysis shows share the same phishing templates, root-domain naming convention, and back-end proxy infrastructure. Targeting has moved from broad manufacturing/healthcare/insurance (Apr–May 2026) through technology/transportation/hospitality (June) to financial services, private equity, law firms, and rating agencies (July 2026), sectors chosen for leverage in extortion negotiations, not just data volume. Operational tempo has accelerated: new phishing domains were registered roughly once every 1.6 days in June–July 2026, versus once every 2.2 days in April–May.
On August 7, 2026, Levi Strauss & Co. filed an SEC Form 8-K disclosing that an unauthorized third party used social engineering to compromise three employee-issued computers and exfiltrate corporate data. The filing itself names no threat actor and no technique (not vishing, not AiTM, not any specific group); several outlets have connected the timing and TTP profile to UNC6671's known playbook, but that link is circumstantial and unconfirmed by the company. This pack treats the Levi Strauss disclosure as corroborating context for UNC6671's current operational tempo and sector focus, not as a confirmed UNC6671 victim.
Defender priority: this is an identity-and-people problem, not an endpoint-malware problem. The single highest-leverage control is mandating phishing-resistant, origin-bound MFA (FIDO2/WebAuthn passkeys) as the only allowed authenticator for SSO: it renders the AiTM proxy technically unable to relay a valid session regardless of how convincing the phone call is. Everything else in this pack (detection, hardening, containment) is defense in depth around that one control.
Source Review & Web Hunter Notes
| Tier | Source | Key Finding | Carry Forward |
|---|---|---|---|
| 1 | Google Cloud / GTIG (Mandiant): Aug 6, 2026 | Primary report: brand-overlap infrastructure analysis, full domain/IP/UA IOC tables, targeting-evolution timeline, BTC wallet analysis, hardening guidance | yes: authoritative, primary source for nearly all atomic IOCs in this pack |
| 1 | Levi Strauss & Co. SEC Form 8-K: Aug 7, 2026 | Primary regulatory disclosure of a social-engineering breach of 3 employee computers; explicitly does not name a threat actor, technique, or vishing | partial: used for the victim-disclosure timeline only, not as a confirmed UNC6671 attribution |
| 2 | The Hacker News: Aug 2026 | Corroborates vishing-to-personal-device vector, targeting sectors, brand diversification | yes: corroboration |
| 2 | SecurityWeek: Aug 2026 | Corroborates rebrand narrative, ransom economics, sector targeting | yes: corroboration |
| 2 | Google Cloud / GTIG: original BlackFile report (May 2026) | Background: original AiTM attack lifecycle detail, FileDownloaded→FileAccessed evasion shift, DLS/extortion-comms history | yes: background/history for attack-chain section |
| 3 | CyberPress: Aug 2026 | Restates 8-K content; explicitly notes UNC6671 is not named in the filing | partial: attribution-caution context only |
| 3 | Cyber Security News: Aug 8, 2026 | Restates 8-K content, notes broader wave of ~200 phone-based social-engineering attacks on US firms in a five-week span (Reuters-sourced) | partial: sector-trend context |
Web-hunter note (requirement 8 compliance): every fetched source above was reviewed as untrusted data before use. No source contained text directed at the research agent (no "ignore instructions," no claimed authorization, no embedded requests to run commands or fetch further URLs). One benign false-positive string match ("act as a final fail-safe," describing a technical control in the GTIG hardening section) was manually reviewed and confirmed to be ordinary prose, not an injection attempt. No source was excluded on integrity grounds.
Decision: attribution of the Levi Strauss incident to UNC6671 is reported as unconfirmed / media-inferred throughout this pack, matching what the primary SEC filing and the most careful secondary coverage actually say. Detections and IOCs are built entirely from the GTIG primary report; the Levi Strauss disclosure informs the executive summary and targeting narrative only.
Hunt Brief & Attack Chain
Hunt hypotheses (ordered by fidelity)
- H1 (high conf). Managed endpoints will show DNS resolution or browser navigation to UNC6671's passkey/SSO-themed root-domain naming pattern before a credential-theft report surfaces elsewhere.
- H2 (high conf). Managed endpoints or network egress logs will show direct connections to the small, dedicated set of AiTM reverse-proxy and automated-exfiltration IPs GTIG published, since this infrastructure is not shared hosting.
- H3 (med conf). Okta/Entra sign-in logs will show authentication failures immediately followed by new MFA/passkey factor registration for the same user: the "abandoned challenge, then re-enroll" signature GTIG calls out as the core detection opportunity.
- H4 (med conf). Okta/Entra sign-in logs will show successful SSO authentication from residential-ISP or boutique-VPN IP ranges that do not match the user's established geographic/ASN baseline.
- H5 (high conf). Microsoft 365 unified audit logs will show high-volume
FileAccessed/FileDownloadedevents attributed to scripting-library user agents (python-requests,WindowsPowerShell,Go-http-client) rather than an interactive browser. - H6 (med conf). Microsoft 365 audit logs will show deletion of password-reset confirmation or MFA-change security-notification emails, and/or creation of inbox rules that route or delete such messages, within the same session as unusual data access.
Attack chain
| Step | Telemetry | Hunt Angle |
|---|---|---|
| 1. Vishing call to personal mobile, spoofed helpdesk caller ID, FIDO2/MFA-migration pretext | Telephony/PBX logs (if VoIP-mediated), employee reports, no endpoint telemetry | Not directly huntable in Falcon: covered by user-training hardening control |
2. Victim navigates to [org].<root-domain> lookalike SSO/passkey portal | Falcon DNS/browser telemetry (personal device may be unmanaged: best-effort only) | Q1 (DNS), Q3 (browser CommandLine): best-effort since the call often targets an unmanaged personal phone |
| 3. AiTM reverse proxy intercepts credential + live MFA/session token, replays to real IdP | Corporate egress NetworkConnectIP4 to AiTM proxy IPs; IdP sign-in log for the resulting session | Q2 (network to AiTM IP), Q5 (residential/anomalous-ASN sign-in) |
| 4. Attacker registers new MFA/passkey factor for persistent access | Okta/Entra audit log system.multifactor.factor.setup | Q4 (abandoned-challenge correlation), Q8 (new-factor registration) |
| 5. Compromised email used to reset passwords on non-SSO apps | M365 audit log password-reset / app-specific auth events | Section 7 native audit-log hunt |
| 6. Automated scripts pull data from SharePoint/OneDrive/Zendesk/Salesforce at volume | M365 UAL FileAccessed/FileDownloaded + scripting UA; egress NetworkConnectIP4 to exfil IPs | Q2 (network to exfil IP), Q6 (scripting UA high-volume) |
| 7. Mailbox rules / security notifications deleted to suppress detection | M365 UAL SoftDelete/HardDelete/New-InboxRule | Q7 (notification-suppression hunt) |
| 8. Extortion demand via DLS / Tox / Session messaging, branded per BlackFile/Redact/Pink/Helix/Falcon | None (out-of-band communication) | Not huntable: response/legal/comms workflow, see containment runbook |
Gap acknowledged up front: step 1 (the phone call itself) and step 8 (extortion messaging) have no Falcon telemetry mapping and are marked as coverage gaps in Section 15: they are handled through user training and incident-response process, not detection engineering.
Consolidated IOC Table
| Type | Value | Confidence | Action | Context | Expiry |
|---|---|---|---|---|---|
| Domain | passkeyhelpdesk.com | high | detect | Root domain shared across Falcon & Helix brand targeting | 2027-02-10 |
| Domain | portalpasskey.com | high | detect | Falcon-brand bridging domain | 2027-02-10 |
| Domain | addssopasskey.com | high | detect | Falcon-brand; shares phishing template with createssopasskey.com and passkeyhelpdesk.com | 2027-02-10 |
| Domain | createssopasskey.com | high | detect | Identical phishing template family; used in FIDO2-passkey pretext | 2027-02-10 |
| Domain | myssopasskey.com | medium | detect | Naming-pattern member cited in GTIG report | 2027-02-10 |
| Domain | passkeydeploy.com | high | detect | Pink-brand bridging domain | 2027-02-10 |
| Domain | oskeysync.com | high | detect | Helix-brand cluster | 2027-02-10 |
| Domain | keysyncos.com | high | detect | Helix-brand cluster | 2027-02-10 |
| Domain | passkeyuser.com | high | detect | BlackFile-brand targeting | 2027-02-10 |
| Domain | setupsso.com | high | detect | BlackFile-brand root domain; bridges to Pink cluster | 2027-02-10 |
| Domain | idokta.com | high | detect | BlackFile-brand targeting | 2027-02-10 |
| Domain | passkeyms.com | high | detect | Pink-brand cluster | 2027-02-10 |
| Domain | mysecurepasskey.com | high | detect | Pink-brand cluster; bridges from BlackFile passkeyuser.com | 2027-02-10 |
| Domain | passkeyportal.com | high | detect | Helix-brand cluster | 2027-02-10 |
| IPv4 | 31.7.56.61 | high | detect | AiTM reverse-proxy, AS51852 Private Layer INC (Switzerland) | 2027-02-10 |
| IPv4 | 31.7.56.52 | high | detect | AiTM reverse-proxy, AS51852 Private Layer INC (Switzerland) | 2027-02-10 |
| IPv4 | 185.178.208.153 | high | detect | Phishing reverse-proxy, AS57724 DDOS-GUARD LTD (Russia) | 2027-02-10 |
| IPv4 | 193.34.212.132 | medium | detect | Phishing-kit backend proxy, AS201814 MEVSPACE (Poland) | 2027-02-10 |
| IPv4 | 23.234.75.84 | high | detect | Automated SaaS data-exfil egress, AS11878 Tzulo Inc (US) | 2027-02-10 |
| IPv4 | 195.140.213.114 | high | detect | Automated SaaS data-exfil egress, AS25369 Hydra Communications (UK) | 2027-02-10 |
| IPv4 | 195.140.213.115 | high | detect | Automated SaaS data-exfil egress, AS25369 Hydra Communications (UK) | 2027-02-10 |
| IPv4 | 107.128.45.122 | medium | enrich | M365/Okta residential-proxy access, AS7018 AT&T: shared-ISP IP, monitor not block | 2026-11-10 |
| IPv4 | 76.103.148.180 | medium | enrich | M365/Okta residential-proxy access, AS7922 Comcast: shared-ISP IP, monitor not block | 2026-11-10 |
| IPv4 | 38.42.59.171 | medium | enrich | M365/Okta residential-proxy access, AS395354 Starry: shared-ISP IP, monitor not block | 2026-11-10 |
| IPv4 | 47.218.103.146 | medium | enrich | M365/Okta residential-proxy access, AS19108 Optimum/Suddenlink: shared-ISP IP, monitor not block | 2026-11-10 |
| User-Agent | python-requests/2.28.1 | medium | hunt | Automated SaaS-exfil scripting UA; generic library, correlate with volume/device-managed status | 2026-11-10 |
| User-Agent | WindowsPowerShell/5.1 | medium | hunt | Automated SaaS-exfil scripting UA | 2026-11-10 |
| User-Agent | 0811A9866E.com.okta.android.auth/8.18.0 DeviceSDK/1.0.94 Android/16 Google/Pixel_9_Pro_XL | low | enrich | Okta Android auth-SDK UA observed in one intrusion; device-specific, low reuse value | 2026-09-10 |
| User-Agent | Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:146.0) Gecko/20100101 Firefox/146.0 | low | enrich | Linux-Firefox UA observed alongside scripting UAs; possible automation-tool browser-string spoof | 2026-09-10 |
| Behavioral | FIDO2 passkey / MFA-migration vishing pretext, spoofed helpdesk caller ID | high | pivot | Core social-engineering pretext across all UNC6671 brands | 2026-09-10 |
Affected Surface & Telemetry Matrix
| Surface | Required Telemetry | Priority | Gap Risk |
|---|---|---|---|
| Corporate-managed endpoints (DNS/browser/network) | Falcon sensor: DnsRequest, NetworkConnectIP4, ProcessRollup2 | High | Low: standard Falcon telemetry, but the vishing call itself often targets an unmanaged personal device, so endpoint visibility only starts once the victim later touches a corporate resource |
| Microsoft Entra ID / Okta (SSO / IdP) | Entra sign-in & audit logs, Okta System Log ingested to NG-SIEM | Critical | Medium: requires Identity Protection licensing/ingest; field names are tenant-parser-prefixed and must be validated before deployment |
| Microsoft 365 (SharePoint, OneDrive, Exchange Online) | Unified Audit Log ingest (o365_management_activity or equivalent) | Critical | Medium: UAL retention/licensing tier dependent; field names not part of the native Falcon endpoint data model, validate in tenant |
| Okta-integrated SaaS (Zendesk, Salesforce, etc.) | App-specific event logs (not covered by CQL in this pack) | Medium | High: no CQL coverage in this pack; recommend native app audit-log review (Section 7) |
| Corporate telephony / helpdesk call routing | PBX/VoIP CDR logs (out of Falcon scope) | Medium | High: vishing call itself is not observable in any Falcon or SIEM telemetry covered here |
| Egress network / proxy | Firewall/proxy logs to corroborate NetworkConnectIP4 hits | High | Low |
ATT&CK Mapping
| Tactic | Technique | Name | Observed Behavior |
|---|---|---|---|
| Initial Access | T1566.002 | Phishing: Spearphishing Link | Victim directed by phone to a lookalike passkey/SSO enrollment URL |
| Reconnaissance | T1598.003 | Phishing for Information: Spearphishing Link | Vishing call itself as the pretext/social-engineering delivery vector |
| Credential Access, Collection | T1187 | Forced Authentication / Adversary-in-the-Middle | Reverse-proxy AiTM panel captures credential + live MFA/session token, replays to real IdP |
| Defense Evasion | T1556 | Modify Authentication Process | Attacker registers a new MFA/passkey factor for the compromised identity post-AiTM |
| Credential Access | T1550.001 | Use Alternate Authentication Material: Application Access Token / Session Cookie | Live session/MFA token relay grants attacker an authenticated session without needing the password again |
| Defense Evasion, Persistence | T1078.004 | Valid Accounts: Cloud Accounts | Attacker operates through the legitimate compromised cloud identity end to end |
| Exfiltration | T1537 | Transfer Data to Cloud Account | Automated pull of SharePoint/OneDrive/Zendesk/Salesforce data via scripted API/UI calls |
| Exfiltration | T1020 | Automated Exfiltration | python-requests/PowerShell scripts run high-volume, unattended data collection |
| Defense Evasion | T1070.004 | Indicator Removal: File Deletion | Deletion of password-reset confirmations and MFA/security-change notification emails |
Native Audit-Log Hunts
Okta Admin Console
- Security → Multifactor → review which factor types are enabled; confirm SMS/voice/push are not offered as fallback options alongside FIDO2 (a fallback factor is exactly what a vishing call talks a victim into re-enrolling).
- Reports → System Log: manually spot-check
system.multifactor.factor.setupevents from the last 14 days for a burst pattern (several users enrolling a new factor within the same hour/day with no corresponding helpdesk ticket).
Microsoft Entra admin center
- Protection → Conditional Access → Insights and reporting: check for sign-ins satisfying MFA via a method other than FIDO2/Windows Hello for Business in the last 30 days.
- Identity → Monitoring & health → Sign-in logs: filter for
Risk level during sign-in = medium/highcombined with a successful MFA satisfaction: GTIG's own detection recommendation for abandoned-challenge-then-enroll.
Microsoft Purview / Exchange admin center
- Audit → Search: filter
Operationin (SoftDelete, HardDelete, MoveToDeletedItems) with subject keywords matching password-reset or MFA-change notification templates over the last 30 days. - Exchange admin center → Mail flow → Rules, and per-mailbox inbox rules: look for newly created rules that move or delete messages from your IdP's or helpdesk's notification sender address.
DNS / registrar monitoring
- UNC6671's root-domain naming convention pairs "passkey," "sso," "okta," or "mfa" with a verb (enroll, setup, deploy, add, sync, portal, etc.). Passive-DNS/certificate-transparency monitoring for new registrations matching
*passkey*.com,*sso*.comalongside your own brand name is a higher-recall (and higher-noise) complement to the static domain list in Section 10: treat hits as investigate-only, not block-on-sight.
Helpdesk process control
- Review helpdesk call logs / ticketing for any record of an outbound "mandatory security migration" or "passkey enrollment" campaign in the affected window: if none exists, any employee report of such a call is a live incident, not routine IT communication.
CrowdStrike LogScale CQL Hunt Queries
Looks for: a managed endpoint resolving any of the 14 known UNC6671 root domains (or a victim-specific subdomain of one). FP: none expected: these domains have no legitimate purpose.
// HUNT: DNS resolution to UNC6671 passkey/SSO AiTM phishing infrastructure // MITRE: T1566.002, T1598.003 // CONF: high // FP: low // COST: low // REQUIRES: Falcon sensor DNS telemetry (DnsRequest) // FALSE POSITIVES: none expected -- domain list is attacker-registered, no legitimate use // LOOKBACK: 30d #event_simpleName=DnsRequest | DomainName=/(^|\.)(passkeyhelpdesk|portalpasskey|addssopasskey|createssopasskey|myssopasskey|passkeydeploy|oskeysync|keysyncos|passkeyuser|setupsso|idokta|passkeyms|mysecurepasskey|passkeyportal)\.com$/i | table([@timestamp, aid, ComputerName, UserName, DomainName]) | sort(@timestamp, order=desc)
Looks for: a direct connection from a managed endpoint to one of the 7 dedicated AiTM-proxy or automated-exfiltration IPs GTIG published. FP: none expected: dedicated malicious infrastructure, not shared hosting.
// HUNT: Endpoint network connections to UNC6671 AiTM-proxy / exfiltration infrastructure // MITRE: T1187, T1537, T1020 // CONF: high // FP: low // COST: low // REQUIRES: Falcon sensor network telemetry (NetworkConnectIP4) // FALSE POSITIVES: none expected -- dedicated malicious infrastructure, not shared/CDN hosting // LOOKBACK: 30d #event_simpleName=NetworkConnectIP4 | in(RemoteAddressIP4, values=["31.7.56.61","31.7.56.52","185.178.208.153","193.34.212.132","23.234.75.84","195.140.213.114","195.140.213.115"]) | table([@timestamp, aid, ComputerName, UserName, RemoteAddressIP4, RemotePort, ImageFileName, CommandLine]) | sort(@timestamp, order=desc)
Looks for: a browser process command line referencing a passkey/SSO/Okta-enrollment-themed URL: broader, behavioral catch for domains not yet on the static list. FP: medium: your own legitimate SSO/passkey rollout pages will also match these keywords.
// HUNT: Browser launched with a passkey/SSO/Okta lookalike-enrollment URL argument // MITRE: T1566.002, T1598.003 // CONF: medium // FP: medium // COST: low // REQUIRES: Falcon sensor process telemetry (ProcessRollup2/SyntheticProcessRollup2) // FALSE POSITIVES: legitimate internal SSO/passkey-migration pages that use the same keywords in their own domain // TUNING: exclude CommandLine hits whose domain matches your tenant's real IdP/SSO base domain (e.g. your Okta or Entra vanity domain) // LOOKBACK: 14d #event_simpleName=/ProcessRollup2|SyntheticProcessRollup2/ | ParentBaseFileName=/^(chrome|msedge|firefox|iexplore|safari)(\.exe)?$/i | CommandLine=/(passkey|ssopasskey|oktapasskey|passkeyokta|keysync|oktaportalsso)[a-z0-9.-]*\.(com|net)/i | table([@timestamp, aid, ComputerName, UserName, ParentBaseFileName, CommandLine]) | sort(@timestamp, order=desc)
Looks for: Okta System Log authentication-failure and MFA-factor-setup events, for the analyst to group by actor and eyeball for the "failure immediately followed by re-enrollment" pattern GTIG calls out. FP: medium: legitimate forgotten-password self-service also produces this sequence. ⚠ okta_system_log field names are Okta-parser-prefixed per tenant: validate against a real sample row before deploying.
// HUNT: MFA/passkey enrollment and auth-failure events for manual abandoned-challenge correlation // MITRE: T1556, T1078.004 // CONF: medium // FP: medium // COST: low // REQUIRES: Okta System Log ingest (okta_system_log) -- Identity Protection / IdP log ingest required // FALSE POSITIVES: legitimate self-service device replacement following a genuine forgotten-password event // TUNING: pivot only on users with >=1 auth failure within 15 minutes before a factor.setup event; cross-check against helpdesk ticketing for a matching legitimate request // LOOKBACK: 14d #repo=okta_system_log | eventType=/^(user\.authentication\.auth_via_mfa|system\.multifactor\.factor\.setup)$/ | table([@timestamp, "actor.alternateId", eventType, "outcome.result", "client.ipAddress", "client.geographicalContext.country"]) | sort(@timestamp, order=desc)
Looks for: Entra ID sign-ins originating from the specific residential-ISP IPs GTIG observed being used for post-compromise M365/Okta access. FP: high: legitimate remote/traveling employees and home-ISP VPN setups will also appear here; this is a starting-point IP list, not a durable detection by itself, and residential IPs churn/reassign quickly. ⚠ validate azure_signinlogs field availability/parser prefix in your tenant.
// HUNT: SSO authentication from UNC6671-observed residential-proxy IPs // MITRE: T1078.004, T1550.001 // CONF: medium // FP: high // COST: medium // REQUIRES: Entra ID sign-in log ingest (azure_signinlogs) // FALSE POSITIVES: legitimate remote/traveling employees, home-ISP VPN split-tunnel setups, contractor access from residential networks // TUNING: baseline each user's last 30d of sign-in ASNs/countries before alerting; exclude known remote-work populations and pre-approved travel; treat this as a pivot list, not a standing block // LOOKBACK: 14d #repo=azure_signinlogs | in(ipAddress, values=["107.128.45.122","76.103.148.180","38.42.59.171","47.218.103.146"]) | table([@timestamp, userPrincipalName, ipAddress, appDisplayName, conditionalAccessStatus, riskLevelDuringSignIn, clientAppUsed]) | sort(@timestamp, order=desc)
Looks for: a burst of SharePoint/OneDrive FileAccessed/FileDownloaded events attributed to a scripting-library user agent rather than an interactive browser: GTIG notes operators shifted from FileDownloaded to the quieter FileAccessed event to blend in, so both are covered. FP: medium: sanctioned RPA/automation and DLP/backup tooling can share these UAs. ⚠ user_id/user_agent/client_ip are the tenant's o365_management_activity parser field names, not native Falcon EDR fields: confirm the exact casing/prefix against your own parser schema before deploying.
// HUNT: High-volume M365 file access from scripting-library user agents (automated exfil) // MITRE: T1537, T1020, T1567 // CONF: high // FP: medium // COST: medium // REQUIRES: Microsoft 365 Unified Audit Log ingest (o365_management_activity) -- field names are tenant-parser-specific, validate before deploy // FALSE POSITIVES: sanctioned RPA/automation service accounts, backup/DLP tooling that legitimately uses python-requests or PowerShell // TUNING: exclude known service-account UPNs and registered automation app IDs; prioritize hits where the account is a normal human user, not a tagged service account // LOOKBACK: 7d // FIELD: operation/user_id/user_agent/client_ip are lowercase o365_management_activity parser fields, not native Falcon EDR fields -- confirm exact field names in your tenant before deploying #repo=o365_management_activity | operation=/^(FileAccessed|FileDownloaded)$/ | user_agent=/^(python-requests\/|WindowsPowerShell\/|Go-http-client\/)/ | groupBy([user_id, user_agent, client_ip], function=[count(as=EventCount), min(@timestamp, as=FirstSeen), max(@timestamp, as=LastSeen)], limit=1000) | EventCount > 50 | sort(EventCount, order=desc)
Looks for: deletion operations and inbox-rule creation/modification in the M365 audit log: UNC6671 systematically deletes password-reset confirmations, MFA-change alerts, and company-wide security notifications to delay detection. FP: medium: ordinary mailbox hygiene and retention-driven auto-delete also fire these operations. ⚠ user_id/client_ip are lowercase M365 UAL parser fields: confirm exact field names in your tenant.
// HUNT: Deletion of MFA/password-reset security-notification email or suspicious inbox-rule creation // MITRE: T1070.004, T1556 // CONF: high // FP: medium // COST: low // REQUIRES: Microsoft 365 Unified Audit Log ingest (o365_management_activity) -- field names are tenant-parser-specific, validate before deploy // FALSE POSITIVES: legitimate mailbox cleanup rules, retention-policy driven auto-delete, helpdesk-run bulk mailbox hygiene // TUNING: scope to messages with security-notification subjects/senders (password reset, MFA/device-registration alerts) and to inbox rules created within 24h of a passkey/MFA enrollment event // LOOKBACK: 14d // FIELD: operation/user_id/client_ip are lowercase o365_management_activity parser fields, not native Falcon EDR fields -- confirm exact field names in your tenant before deploying #repo=o365_management_activity | operation=/^(SoftDelete|HardDelete|MoveToDeletedItems|New-InboxRule|Set-InboxRule|UpdateInboxRules)$/ | table([@timestamp, user_id, operation, client_ip]) | sort(@timestamp, order=desc)
Looks for: raw feed of every new MFA/passkey factor registration for a triage baseline: attacker registers a new factor immediately post-AiTM to keep access after the victim's own session ends. FP: high on its own; pair with Q4's correlation for signal. ⚠ validate okta_system_log fields in tenant.
// HUNT: New MFA/passkey authenticator registration events (post-AiTM persistence) // MITRE: T1556, T1078.004 // CONF: medium // FP: high // COST: low // REQUIRES: Okta System Log ingest (okta_system_log) or Entra ID audit log // FALSE POSITIVES: routine self-service device replacement/upgrade, IT-driven bulk passkey rollouts // TUNING: correlate against helpdesk ticket volume for the user and flag only registrations from an IP/ASN not previously seen for that user in the last 90 days // LOOKBACK: 14d #repo=okta_system_log | eventType=system.multifactor.factor.setup | table([@timestamp, "actor.alternateId", "client.ipAddress", "client.geographicalContext.country"]) | sort(@timestamp, order=desc)
CrowdStrike Custom IOA Recommendations
Three queries are strong Custom IOA / Scheduled Search candidates: deterministic, static-indicator matches with low expected noise. The rest are Investigate-only: correlation-heavy, tenant-schema-dependent, or too FP-prone to alert on unattended.
| Query | Candidate | Deployment Path | Notes |
|---|---|---|---|
| Q1: DNS to phishing domains | IOA / Scheduled Search | Promote directly; Scheduled Search name: DETECT: DNS to UNC6671 Passkey/SSO AiTM Domain. Runs every 15 min, 30d rolling. | Static domain list; refresh quarterly against the GTIG blog for new brand-cluster domains. |
| Q2: Network to AiTM/exfil IPs | IOA / Scheduled Search | Promote directly; Scheduled Search name: DETECT: Connection to UNC6671 AiTM/Exfil Infrastructure. Runs every 15 min. | Static IP list; low reuse risk since infrastructure is dedicated, not shared hosting: but IPs do rotate, re-check GTIG updates. |
| Q6: Scripting-UA high-volume M365 access | IOA candidate, tune first | Deploy as Scheduled Search only after the service-account exclusion list (TUNING note) is built for your tenant; start as daily digest, not real-time page. | Requires a one-time baseline of legitimate automation accounts before promoting to a paging alert. |
| Q3, Q4, Q5, Q7, Q8 | Investigate-only | Run manually or as a weekly hunt digest, not an unattended alert. | FP medium/high without additional tenant-specific tuning and human correlation (abandoned-challenge sequencing, ASN baselining, service-account exclusions). |
Alert package: Q1 / Q2 (IOA-eligible)
Alert subject: [HIGH] Detection: UNC6671 AiTM/Phishing Infrastructure: endpoint contact with known passkey-vishing domain or proxy IP
Immediate actions: isolate the host pending triage; identify the logged-on user; check whether the user reports a recent "IT helpdesk" or "security migration" phone call; suspend the user's SSO session and force MFA/passkey re-enrollment through a verified out-of-band channel (never the number the caller provided).
Triage checklist: (1) confirm the DNS/network hit against the static IOC list, not a lookalike false match; (2) pull the user's Okta/Entra sign-in history for the surrounding 24h; (3) check for a new MFA/passkey factor registered in that window; (4) check M365 UAL for FileAccessed/FileDownloaded bursts from the same identity; (5) check for deleted security-notification email or new inbox rules; (6) if any of 2–5 are positive, escalate to full incident response per Section 14.
Pivot queries: re-run Q4/Q8 scoped to the specific actor.alternateId/UPN identified; re-run Q6/Q7 scoped to the same UserId across a 30d window to size the exfiltration blast radius.
Machine-Readable IOC Appendix
type,value,action,severity,expiration,description,tags domain,passkeyhelpdesk.com,detect,critical,2027-02-10,UNC6671 AiTM root domain (Falcon/Helix brand),campaign:UNC6671 domain,portalpasskey.com,detect,critical,2027-02-10,UNC6671 AiTM root domain (Falcon brand),campaign:UNC6671 domain,addssopasskey.com,detect,critical,2027-02-10,UNC6671 AiTM root domain (Falcon brand),campaign:UNC6671 domain,createssopasskey.com,detect,critical,2027-02-10,UNC6671 AiTM root domain shared phishing template,campaign:UNC6671 domain,myssopasskey.com,detect,high,2027-02-10,UNC6671 AiTM naming-pattern domain,campaign:UNC6671 domain,passkeydeploy.com,detect,critical,2027-02-10,UNC6671 AiTM root domain (Pink brand),campaign:UNC6671 domain,oskeysync.com,detect,critical,2027-02-10,UNC6671 AiTM root domain (Helix brand),campaign:UNC6671 domain,keysyncos.com,detect,critical,2027-02-10,UNC6671 AiTM root domain (Helix brand),campaign:UNC6671 domain,passkeyuser.com,detect,critical,2027-02-10,UNC6671 AiTM root domain (BlackFile brand),campaign:UNC6671 domain,setupsso.com,detect,critical,2027-02-10,UNC6671 AiTM root domain (BlackFile brand),campaign:UNC6671 domain,idokta.com,detect,critical,2027-02-10,UNC6671 AiTM root domain (BlackFile brand),campaign:UNC6671 domain,passkeyms.com,detect,critical,2027-02-10,UNC6671 AiTM root domain (Pink brand),campaign:UNC6671 domain,mysecurepasskey.com,detect,critical,2027-02-10,UNC6671 AiTM root domain (Pink brand),campaign:UNC6671 domain,passkeyportal.com,detect,critical,2027-02-10,UNC6671 AiTM root domain (Helix brand),campaign:UNC6671 ip,31.7.56.61,detect,critical,2027-02-10,UNC6671 AiTM reverse-proxy -- AS51852 Private Layer INC,campaign:UNC6671 ip,31.7.56.52,detect,critical,2027-02-10,UNC6671 AiTM reverse-proxy -- AS51852 Private Layer INC,campaign:UNC6671 ip,185.178.208.153,detect,critical,2027-02-10,UNC6671 phishing reverse-proxy -- AS57724 DDOS-GUARD LTD,campaign:UNC6671 ip,193.34.212.132,detect,high,2027-02-10,UNC6671 phishing-kit backend proxy -- AS201814 MEVSPACE,campaign:UNC6671 ip,23.234.75.84,detect,critical,2027-02-10,UNC6671 automated SaaS-exfil egress -- AS11878 Tzulo Inc,campaign:UNC6671 ip,195.140.213.114,detect,critical,2027-02-10,UNC6671 automated SaaS-exfil egress -- AS25369 Hydra Communications,campaign:UNC6671 ip,195.140.213.115,detect,critical,2027-02-10,UNC6671 automated SaaS-exfil egress -- AS25369 Hydra Communications,campaign:UNC6671 ip,107.128.45.122,hunt,medium,2026-11-10,UNC6671 residential-proxy M365/Okta access (AT&T) -- shared ISP, monitor not block,campaign:UNC6671 ip,76.103.148.180,hunt,medium,2026-11-10,UNC6671 residential-proxy M365/Okta access (Comcast) -- shared ISP, monitor not block,campaign:UNC6671 ip,38.42.59.171,hunt,medium,2026-11-10,UNC6671 residential-proxy M365/Okta access (Starry) -- shared ISP, monitor not block,campaign:UNC6671 ip,47.218.103.146,hunt,medium,2026-11-10,UNC6671 residential-proxy M365/Okta access (Optimum) -- shared ISP, monitor not block,campaign:UNC6671
- Vishing pretext: caller claims urgent/mandatory FIDO2 passkey enrollment or MFA update, contacts employee's PERSONAL mobile number, may spoof legitimate helpdesk caller ID. - Root-domain naming convention: pairs "passkey"/"sso"/"okta"/"mfa" with a verb (enroll, setup, deploy, add, sync, portal, register, activate) -- e.g. REPLACE_WITH_ORG.createssopasskey.com - AiTM reverse-proxy relays credential + live MFA/session token to the real IdP in real time. - Attacker registers a NEW MFA/passkey factor on the compromised identity within minutes of a failed authentication attempt from the same or a nearby IP. - Post-compromise: compromised email used to reset passwords on non-SSO apps. - Evasion: password-reset confirmations, MFA-change alerts, and security notification emails are deleted or rerouted via new inbox rules shortly after compromise. - Exfil UA shift: operators moved from FileDownloaded to the quieter FileAccessed event type to blend into normal SharePoint/OneDrive traffic -- treat both with equal weight when the UA is a scripting library.
Extortion brands (shared infrastructure, treat as one actor): BlackFile, Redact, Pink, Helix, Falcon Actor cluster: UNC6671 (Google Threat Intelligence Group / Mandiant designation) Exfil scripting user agents: python-requests/2.28.1 WindowsPowerShell/5.1 Go-http-client/* (pattern, exact version not published) Observed Okta Android auth-SDK UA (device-specific, low reuse value): 0811A9866E.com.okta.android.auth/8.18.0 DeviceSDK/1.0.94 Android/16 Google/Pixel_9_Pro_XL Observed Linux-Firefox UA alongside scripting UAs (possible automation-tool spoof): Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:146.0) Gecko/20100101 Firefox/146.0 Extortion comms channels: Tox (early), Session (later); data leak sites (DLS) per brand Ransom economics: initial demand $1M-$3M, ~53% of tracked cases settle near $750,000
[ ] Confirm FIDO2/WebAuthn passkeys are the ONLY allowed MFA method for SSO
(SMS, voice call, and push-only factors disabled or restricted to break-glass accounts)
[ ] Conditional Access / Okta policy requires a corporate-managed (MDM+EDR-enrolled) device
[ ] Session lifetime forces re-authentication at least once per 24h; idle timeout enforced
[ ] Step-up authentication required for access to sensitive/privileged resources
[ ] Continuous Access Evaluation (Entra) or equivalent token-binding control enabled
[ ] Authentication restricted to trusted network zones (corporate VPN/SASE egress ranges)
where feasible for the affected user population
[ ] IdP audit log alerting configured for: auth failure immediately followed by new
MFA/passkey factor setup (same actor, short window)
[ ] Mailbox audit logging enabled and NOT disableable by the mailbox owner; alerting on
deletion of security-notification messages and new inbox-rule creation
[ ] All business-critical SaaS apps (Zendesk, Salesforce, etc.) integrated with the
corporate SSO/IdP rather than standalone passwords
Detection Validation Gates
| Gate | Requirement | Status |
|---|---|---|
| Telemetry ready | Falcon sensor DNS/network/process telemetry active on target hosts; Identity Protection module and Okta/Entra log ingest confirmed for identity queries | Validate in tenant: endpoint queries (Q1–Q3) work out of the box on any Falcon deployment; identity/SaaS queries (Q4–Q8) require Identity Protection licensing and log-source ingest that varies per tenant |
| Benign baseline | Run each query over a 30d window before promoting to alert; confirm zero or explainable hits in a clean environment | Pending: run before deployment |
| Positive tests | Confirm Q1/Q2 fire correctly by testing DNS resolution and network connection to the static IOC list in an isolated lab (never from a production host) | Pending: run before deployment |
| Promotion | Q1, Q2 promotable to Scheduled Search / Custom IOA immediately; Q6 promotable after service-account tuning; Q3–Q5, Q7–Q8 remain hunt/investigate-only until tenant-specific tuning is complete | Documented above (Section 9) |
Hardening: Tiered
1. Enforce FIDO2/WebAuthn passkeys as the only allowed SSO authenticator (M1032: Multi-factor Authentication). Disable or restrict SMS, voice-call, and push-only MFA factors to emergency break-glass accounts in Entra ID / Okta. WebAuthn's origin-binding makes a lookalike domain cryptographically unable to receive a valid assertion, which defeats the entire AiTM relay regardless of how convincing the phone call is. Authority: GTIG's own top hardening recommendation; NIST SP 800-63B AAL3 guidance on phishing-resistant authenticators.
2. Mandate helpdesk call-back verification for ANY unsolicited security/MFA/passkey migration request (M1017: User Training). No employee should ever act on instructions from an inbound call; they must hang up and call back a number looked up independently (internal directory), never a number the caller provided. This is the single control that breaks the vishing pretext at the source.
3. Require a corporate-managed (MDM+EDR-compliant) device for SSO authentication (M1018: User Account Management). Configure device-compliance Conditional Access policies in Entra ID / Okta so that even a captured credential+token pair is unusable from the attacker's own machine. ⚠ best-practice, no single formal CIS benchmark item: implement per Microsoft/Okta's own Conditional Access documentation.
4. Enforce session controls and Continuous Access Evaluation (M1030: Network Segmentation; M1032). Reduce session lifetime to force re-authentication at least daily, enforce idle timeouts, and require step-up authentication for sensitive resources. Enable Entra Continuous Access Evaluation or equivalent token-binding to shrink the AiTM-relayed session's useful life.
5. Deploy IdP log alerting for the abandoned-challenge pattern and residential-proxy sign-ins (M1047: Audit). Alert when an authentication failure is immediately followed by a new MFA/passkey factor registration for the same identity, and when SSO sign-in originates from a residential-ISP or unfamiliar-ASN IP diverging from the user's baseline. Corresponds to Q4/Q5/Q8 in Section 8.
6. Consolidate all business-critical SaaS applications behind corporate SSO (M1018). Non-SSO apps with standalone passwords are exactly what UNC6671 abused via compromised-email password resets; eliminating standalone credentials removes that entire post-compromise step.
7. Deploy tamper-resistant mailbox audit logging with alerting on security-notification deletion (M1047). Ensure mailbox audit logging cannot be disabled by the mailbox owner (including a compromised admin), and alert on deletion of password-reset/MFA-change notification messages and creation of new inbox rules targeting those senders. Corresponds to Q7.
Deployable Playbooks
Playbook A: Enforce phishing-resistant-only MFA in Entra ID (Conditional Access via Microsoft Graph PowerShell)
Prerequisites: Global Administrator or Conditional Access Administrator role; Microsoft.Graph PowerShell SDK installed; break-glass emergency-access accounts already provisioned and excluded from the policy. Reboot required: no (cloud-side policy change, no endpoint reboot). Rollback: disable the Conditional Access policy (state = Disabled) in the Entra admin center or via Update-MgIdentityConditionalAccessPolicy: takes effect immediately, no residual state on endpoints.
Connect-MgGraph -Scopes "Policy.ReadWrite.ConditionalAccess"
$params = @{
displayName = "Require phishing-resistant MFA for SSO"
state = "enabledForReportingButNotEnforced" # validate in report-only mode first
conditions = @{
users = @{ includeUsers = @("All"); excludeUsers = @("REPLACE_WITH_BREAK_GLASS_ACCOUNT_OBJECT_ID") }
applications = @{ includeApplications = @("All") }
}
grantControls = @{
operator = "AND"
builtInControls = @()
authenticationStrength = @{ id = "00000000-0000-0000-0000-000000000004" } # Phishing-resistant MFA strength
}
}
New-MgIdentityConditionalAccessPolicy -BodyParameter $params
# After a report-only validation window with no unexpected sign-in blocks, promote to:
# state = "enabled"
Step 2: equivalent Okta-side policy (Prerequisites: Super Admin role, Okta API token with okta.policies.manage scope. Reboot required: no. Rollback: PUT the prior policy JSON back, or delete the new rule via the Admin Console: takes effect immediately):
curl -X POST "https://REPLACE_WITH_OKTA_ORG.okta.com/api/v1/policies" \
-H "Authorization: SSWS REPLACE_WITH_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"type": "ACCESS_POLICY",
"name": "Require FIDO2 WebAuthn for SSO",
"conditions": { "people": { "groups": { "include": ["REPLACE_WITH_ALL_USERS_GROUP_ID"] } } },
"settings": {
"factors": { "webauthn": { "enroll": "REQUIRED" }, "sms": { "enroll": "NOT_ALLOWED" }, "voice_call": { "enroll": "NOT_ALLOWED" } }
}
}'
Playbook B: IdP alerting for the abandoned-challenge (auth-failure → MFA-enroll) pattern
Prerequisites: NG-SIEM ingest of Okta System Log or Entra sign-in/audit logs already configured; Falcon Scheduled Search authoring permission. Reboot required: no. Rollback: delete or disable the Scheduled Search: no endpoint or IdP state is changed by the detection itself.
1. Falcon console -> NG-SIEM -> Scheduled Searches -> New 2. Paste Q4 from Section 8 (auth-failure + factor.setup correlation query) 3. Schedule: every 15 minutes, lookback 20 minutes (covers the "immediately followed by" window) 4. Trigger condition: >=1 result row 5. Notification: route to SOC queue as Investigate-only (NOT auto-page) until a 2-week tuning window with zero false positives from legitimate self-service resets 6. After tuning: promote notification to page on-call analyst
Playbook C: Tamper-resistant mailbox audit logging + security-notification deletion alert
Prerequisites: Exchange Online / Microsoft Purview administrator role; Microsoft 365 E5 or Purview Audit (Premium) license for extended retention. Reboot required: no. Rollback: Set-AdminAuditLogConfig -UnifiedAuditLogIngestionEnabled $false reverts logging (not recommended: only for a scoped maintenance window); the alert rule itself can be disabled independently via Disable-ProtectionAlert without touching audit ingestion.
# Ensure unified audit logging is enabled and not owner-disableable Set-AdminAuditLogConfig -UnifiedAuditLogIngestionEnabled $true # Create an alert policy for deletion of security-notification mail New-ProtectionAlert -Name "UNC6671 - Security notification deleted" ` -Category ThreatManagement ` -NotifyUser "REPLACE_WITH_SOC_DISTRO@REPLACE_WITH_ORG.com" ` -Operation SoftDelete,HardDelete,MoveToDeletedItems ` -Severity High ` -ThreatType Activity
Containment Runbook
| Phase | Actions | Owner | Evidence |
|---|---|---|---|
| Isolate | Suspend the affected user's SSO session and revoke all refresh/access tokens (Entra: Revoke-MgUserSignInSession; Okta: end all sessions via Admin Console). Network-contain any endpoint that resolved/connected to a listed IOC. Block the identified AiTM/exfil IPs at egress firewall/proxy. | IR lead + Identity admin | Session-revocation timestamp, isolation confirmation, firewall block rule ID |
| Eradicate | Remove any attacker-registered MFA/passkey factor from the affected account (verify against the user's own devices first). Delete malicious inbox rules. Revoke any OAuth app consent grants created during the compromise window. Force a full password reset through a verified out-of-band channel (in person or a call-back to a directory-verified number). | Identity admin + SOC analyst | List of removed factors/rules/grants, password-reset confirmation, timeline of removal actions |
| Recover | Re-enroll the legitimate FIDO2 passkey for the user via verified in-person or call-back process. Review and restore any deleted security-notification/audit configuration. Run Q6/Q7 scoped to the identity across a 30d window to size the exfiltration blast radius (which files/apps were touched). Brief helpdesk and the affected business unit on the specific FIDO2-enrollment vishing pretext used. | IR lead + business-unit manager | Blast-radius report, user re-enrollment confirmation, briefing attendance log |
Do not rely on password reset alone: the operators' core objective (session/token replay) already bypassed the password once; account containment must include full session revocation and MFA-factor review, not just a new password.
Detection Coverage Map
| Technique | Behavior | CQL | IOA | Coverage |
|---|---|---|---|---|
| T1566.002 / T1598.003 | Vishing pretext + lookalike-domain navigation | Q1, Q3 | Q1 (candidate) | Good (domain resolution): call itself is not observable |
| T1187 | AiTM credential/MFA interception | Q2 | Q2 (candidate) | Good |
| T1550.001 | Session/token theft & replay | N/A | N/A | GAP: token relay happens off-endpoint between the AiTM proxy and the real IdP; not directly observable without CAE/token-binding-aware IdP risk signals. Mitigated via hardening controls 4 and 5 (Section 12), not detection. |
| T1556 | Modify auth process / abandoned-challenge MFA enrollment | Q4, Q8 | N/A | Partial: requires Identity Protection ingest + manual correlation, medium/high FP |
| T1078.004 | Valid cloud account use from residential/anomalous proxy | Q5 | N/A | Partial: high FP without tenant baselining |
| T1537 / T1020 | Automated cloud/SaaS data exfiltration | Q2, Q6 | Q2 (candidate), Q6 (candidate after tuning) | Good |
| T1070.004 | Deletion of security-notification email / mailbox-rule evasion | Q7 | N/A | Partial: medium FP, needs subject/sender scoping |
Validation gates (Section 11): endpoint queries are deployable as-is pending a benign-baseline run; identity/SaaS queries require confirming Identity Protection and M365 UAL ingest per tenant before promotion. No query in this pack should be promoted to a blocking/auto-response action without the Section 11 baseline and positive-test steps completed first.
Hunt Summary Ticket
TITLE: UNC6671 Multi-Brand Vishing / AiTM Extortion (BlackFile / Redact / Pink / Helix / Falcon)
SEVERITY: High -- active, financially motivated extortion campaign targeting financial
services, private equity, and legal sectors as of July-August 2026
SCOPE: Corporate-managed endpoints (DNS/network/process); Entra ID / Okta SSO sign-in
and audit logs; Microsoft 365 Unified Audit Log
HYPOTHESIS: Employees are vished on personal mobile devices with a FIDO2-passkey/MFA
migration pretext, directed to an AiTM lookalike SSO portal that steals the
credential and live MFA/session token, after which automated scripts exfiltrate
M365/Okta data and delete security-notification email to delay detection.
QUERIES: 8 CQL queries (Q1-Q8) -- 2 endpoint DNS/network, 1 endpoint process/browser,
3 identity (Okta/Entra), 2 SaaS/M365 audit log. Q1, Q2 promotable to Custom IOA
immediately; Q6 after service-account tuning; Q3-Q5, Q7-Q8 investigate-only.
DO FIRST: Deploy Q1 + Q2 as Scheduled Searches (static IOC match, low FP). Confirm
Identity Protection + M365 UAL ingest status before attempting Q4-Q8. Push
Playbook A (FIDO2-only Conditional Access policy) to report-only mode this week.
FINDINGS: [populate post-hunt -- no confirmed intrusion in this tenant as of pack build]
GAPS: The vishing call itself (T1566.002/T1598.003 delivery) and the AiTM session/token
relay (T1550.001) have no direct Falcon telemetry mapping -- covered by user
training and IdP hardening controls, not detection. Levi Strauss SEC 8-K
(Aug 7 2026) is treated as unconfirmed/media-inferred UNC6671 context, not a
confirmed victim, per the filing's own silence on threat-actor attribution.
ACTIONS: 1) Deploy Q1/Q2 IOAs. 2) Validate Identity/SaaS log ingest. 3) Report-only
Conditional Access policy (Playbook A). 4) Helpdesk call-back verification
policy rollout. 5) Mailbox audit-log tamper-resistance review (Playbook C).
OWNER: HuntPack
VERSION: v0.1 (Draft) -- 2026-08-10
Changelog
References
| Tier | Source | Used For | Access Date |
|---|---|---|---|
| 1 | Google Cloud / GTIG (Mandiant): "UNC6671 Rebrands" | Primary IOC source, brand-overlap analysis, targeting timeline, hardening guidance | 2026-08-10 |
| 1 | Levi Strauss & Co.: SEC Form 8-K | Victim-disclosure timeline (attribution unconfirmed) | 2026-08-10 |
| 2 | The Hacker News | Corroboration of vishing vector and targeting | 2026-08-10 |
| 2 | SecurityWeek | Corroboration of rebrand narrative and ransom economics | 2026-08-10 |
| 2 | Google Cloud / GTIG: original BlackFile report | Attack-lifecycle background, evasion-technique history | 2026-08-10 |
| 3 | CyberPress | Levi Strauss incident detail, attribution-caution note | 2026-08-10 |
| 3 | Cyber Security News | Levi Strauss incident detail, broader social-engineering trend context | 2026-08-10 |
Full verbatim source snapshots saved at research time: UNC6671-VishingAiTM-Hunt-sources/01-07-*.txt (IOC provenance gate).
HuntPack · UNC6671 Multi-Brand Vishing / AiTM Extortion · v0.1 (Draft) · Generated 2026-08-10