Two converging threat streams surfaced in this collection window: AI-assisted malware (including the Rhadamanthys infostealer and Oyster backdoor) is transitioning from research sandboxes into live endpoint infections, while the RecruitTrap recruitment-themed phishing operation is actively harvesting enterprise credentials and OAuth tokens across seven industry verticals — with a deliberate mobile-first design that strips away the URL bar entirely.
Threat Summary
These pulses describe two distinct but complementary credential-theft ecosystems.
Stream 1 — AI-Enabled Malware Maturation. Analysis of 405 AI-integrated malware samples shows the technology is still largely experimental: roughly 97% of samples exist only in research repositories. However, the 3% that matters has already landed. Twelve samples across five families — FunkSec ransomware, Oyster backdoor, Rhadamanthys stealer, CleanBoost, and trojanized AI applications (RecipeLister) — were observed on protected endpoints in three countries. The significance is not volume but trajectory: LLM-generated code is lowering the skill floor for building functional stealers and backdoors, and COM hijacking techniques are appearing in these builds for persistence.
Stream 2 — RecruitTrap Enterprise Credential Harvesting. A phishing operation impersonating HR departments of major brands (McKinsey, FIFA, American Airlines, Levi's, Expedia, and others) is targeting Aerospace, Technology, Retail, Finance, Hospitality, Manufacturing, and Media sectors. The attack chain:
- Victim receives a recruitment-themed lure (job offer, application status) referencing a real employer brand.
- Link resolves to a
*-careers.comlookalike domain hosting a counterfeit login portal. - On desktop, the kit uses Browser-in-the-Browser (BitB) — a fake SSO popup rendered inside the page with a forged URL bar showing a legitimate identity provider address.
- On mobile, the kit renders a full-screen login page with no visible URL indicator at all, removing the user's last visual verification cue.
- Infrastructure actively fingerprints and screens victims, rejecting personal email addresses to ensure only corporate credentials (and their associated OAuth tokens) are captured.
The collective picture: adversaries are industrializing enterprise credential theft — AI-assisted tooling on the malware side, and victim-qualification logic on the phishing side. Captured OAuth tokens and session cookies bypass MFA and feed directly into dark web access-broker markets.
Threat Actor / Malware Profile
Rhadamanthys Stealer
- Distribution: Malvertising, trojanized software installers, and — increasingly — AI-themed application lures. In this pulse it appears among LLM-assisted builds.
- Payload behavior: Harvests browser credentials, cookies, autofill data, cryptocurrency wallets, and session tokens. Exfiltrates staged data over HTTPS to C2.
- C2 communication: HTTPS POST to embedded C2 infrastructure; recent variants use custom encryption layers and domain rotation.
- Persistence: Observed variants leverage COM hijacking — registering malicious DLLs under hijacked CLSID registry keys (
HKCU\Software\Classes\CLSID\{...}\InprocServer32) to execute on legitimate COM object instantiation. - Anti-analysis: Sandbox/environment checks, string obfuscation, and in this sample set, LLM-generated polymorphic code segments that vary between builds to defeat signature matching.
Oyster Backdoor (aka Broomstick/CleanUpLoader)
- Distribution: Trojanized installers for legitimate utilities, frequently delivered via SEO poisoning and malvertising.
- Payload behavior: Initial access backdoor providing command execution and payload staging; commonly a precursor to ransomware or data theft operations.
- C2 communication: HTTPS beaconing to hardcoded and DGA-adjacent domains.
- Persistence: Scheduled tasks and registry Run keys.
FunkSec Ransomware
- Profile: Ransomware family with AI-assisted code generation observed in development; double-extortion model. Included here because its presence in the AI-integrated sample set signals AI tooling crossing into extortion operations.
RecruitTrap Phishing Kit
- Distribution: Recruitment-themed lures via email and direct messages; infrastructure on brand-impersonating
*-careers.comdomains. - Credential capture: Counterfeit SSO login pages capturing credentials and OAuth authorization flows; victim screening rejects free-mail providers (Gmail, Outlook.com, Yahoo) to prioritize enterprise identities.
- Evasion: BitB popups defeat URL inspection on desktop; full-screen mobile rendering removes the address bar entirely; conditional content serving likely gates the phishing page behind fingerprinting checks.
IOC Analysis
The indicator set splits into two operational classes:
FileHash-SHA256 (8 sampled of 12 total): Hashes for the AI-integrated malware samples — Rhadamanthys, Oyster, FunkSec, CleanBoost, and RecipeLister builds. These are point-in-time artifacts. Because LLM-generated code produces high build-to-build variance, hash matching alone will decay quickly. Operationalize them as:
- Blocklist entries in EDR/AV for known-bad samples
- Pivot seeds for sandbox detonation to extract behavior-based detections (COM hijack registry writes, C2 domains, mutex names)
- VirusTotal/OTX pivoting to identify related samples sharing imphash or section-level similarity
Domains (8 sampled of 11 total): RecruitTrap infrastructure — hbc-careers.com, fifahr-careers.com, mckinsey-careers.com, aa-careers.com, levis-careers.com, andmore-global.com, expedia-careers.com. Note careers.com in the set should be treated with care to avoid false positives on legitimate infrastructure; validate against the full pulse before blocking. Operationalize via:
- DNS sinkhole / proxy block at the network edge
- Retroactive DNS and web proxy log search (30–90 days) to identify victims
- Newly-registered-domain (NRD) alerting on the pattern
*careers*.comcombined with brand keyword matching — this actor's naming convention is predictable
Tooling: OTX pulses ingest directly into most SIEMs via the AlienVault OTX TAXII/API connector; Sigma and KQL detections below operationalize the behavioral layer that survives hash rotation.
Detection Engineering
---
title: COM Hijacking Persistence via InprocServer32 Registration
description: Detects registration of DLLs under user-writable COM CLSID keys, a persistence technique observed in Rhadamanthys stealer and AI-generated malware variants
status: experimental
logsource:
category: registry_set
product: windows
detection:
selection:
TargetObject|contains:
- '\Software\Classes\CLSID\'
- '\WOW6432Node\Classes\CLSID\'
TargetObject|endswith: '\InprocServer32'
filter_known:
Image|startswith:
- 'C:\Program Files\'
- 'C:\Windows\System32\'
condition: selection and not filter_known
fields:
- Image
- TargetObject
- Details
falsepositives:
- Legitimate user-scope COM registrations by development tools
level: high
tags:
- attack.persistence
- attack.t1546.015
---
title: RecruitTrap Phishing Domain Resolution - Careers Impersonation
description: Detects DNS queries to recruitment-themed phishing domains impersonating enterprise brands, associated with the RecruitTrap OAuth credential harvesting campaign
status: experimental
logsource:
category: dns
product: windows
detection:
selection_iocs:
query:
- 'hbc-careers.com'
- 'fifahr-careers.com'
- 'mckinsey-careers.com'
- 'aa-careers.com'
- 'levis-careers.com'
- 'andmore-global.com'
- 'expedia-careers.com'
selection_pattern:
query|endswith: '-careers.com'
filter_legit:
query:
- 'oracle-careers.com'
condition: (selection_iocs or selection_pattern) and not filter_legit
fields:
- query
- answer
falsepositives:
- Legitimate third-party recruiting portals using careers.com subdomains
level: high
tags:
- attack.initial-access
- attack.t1566.002
- attack.t1078
---
title: Infostealer Browser Credential Store Access
description: Detects suspicious process access to browser credential and cookie stores, behavior consistent with Rhadamanthys and related AI-generated stealer families
status: experimental
logsource:
category: file_event
product: windows
detection:
selection_path:
TargetFilename|contains:
- '\AppData\Local\Google\Chrome\User Data\'
- '\AppData\Local\Microsoft\Edge\User Data\'
- '\AppData\Roaming\Mozilla\Firefox\Profiles\'
TargetFilename|endswith:
- '\Login Data'
- '\Cookies'
- '\Web Data'
- '\cookies.sqlite'
- '\logins.json'
filter_browsers:
Image|endswith:
- '\chrome.exe'
- '\msedge.exe'
- '\firefox.exe'
- '\msedgewebview2.exe'
filter_security:
Image|startswith:
- 'C:\Program Files\'
- 'C:\Program Files (x86)\'
condition: selection_path and not filter_browsers and not filter_security
fields:
- Image
- TargetFilename
- User
falsepositives:
- EDR and DLP agents scanning browser stores
- Backup software
level: high
tags:
- attack.credential-access
- attack.t1555.003
- attack.t1539
// RecruitTrap phishing infrastructure + infostealer C2 hunt
// Covers: RecruitTrap domain resolution, OAuth token theft follow-on sign-ins, browser credential store access
let RecruitTrapDomains = dynamic(["hbc-careers.com","fifahr-careers.com","mckinsey-careers.com","aa-careers.com","levis-careers.com","andmore-global.com","expedia-careers.com"]);
let Lookback = 30d;
let DNSHits = DeviceNetworkEvents
| where Timestamp > ago(Lookback)
| where RemoteUrl has_any (RecruitTrapDomains) or (RemoteUrl endswith "-careers.com" and RemoteUrl !has "oracle")
| project DNSHitTime=Timestamp, DeviceName, DeviceId, InitiatingProcessFileName, RemoteUrl, RemoteIP;
let CredStoreAccess = DeviceFileEvents
| where Timestamp > ago(Lookback)
| where FolderPath has_any ("\\Google\\Chrome\\User Data\\","\\Microsoft\\Edge\\User Data\\","\\Mozilla\\Firefox\\Profiles\\")
| where FileName in~ ("Login Data","Cookies","Web Data","cookies.sqlite","logins.json")
| where InitiatingProcessFolderPath !has_any ("\\chrome.exe","\\msedge.exe","\\firefox.exe")
| where InitiatingProcessFolderPath !startswith @"C:\Program Files"
| project CredAccessTime=Timestamp, DeviceName, DeviceId, InitiatingProcessFileName, InitiatingProcessSHA256, FolderPath, FileName;
let COMHijack = DeviceRegistryEvents
| where Timestamp > ago(Lookback)
| where RegistryKey has @"\Software\Classes\CLSID\" and RegistryKey endswith @"\InprocServer32"
| where InitiatingProcessFolderPath !startswith @"C:\Program Files" and InitiatingProcessFolderPath !startswith @"C:\Windows\System32"
| project COMTime=Timestamp, DeviceName, DeviceId, InitiatingProcessFileName, RegistryKey, RegistryValueData;
DNSHits
| join kind=fullouter CredStoreAccess on DeviceId
| join kind=fullouter COMHijack on DeviceId
| extend SuspicionScore = (iff(isnotempty(RemoteUrl),1,0) + iff(isnotempty(FileName),1,0) + iff(isnotempty(RegistryKey),1,0))
| project DeviceName, DeviceId, SuspicionScore, RemoteUrl, RemoteIP, InitiatingProcessFileName, InitiatingProcessSHA256, FileName, RegistryKey
| order by SuspicionScore desc, DeviceName asc
# OTX IOC Hunt: Rhadamanthys/Oyster persistence artifacts + RecruitTrap network indicators
# Run elevated on endpoints; outputs findings to console and CSV
$findings = @()
$otxHashes = @(
'4fb58687a364c3f6d6f7e0ca03654f9dec0f8832a499d61d40b0d424db1b1b14',
'bb932056cae8940742e50b4f2b994a802e703f7bc235e7dd647d085ae2b2baf7',
'c398b3e06ef860670b9597daed85632834fa961aea87164b8ba8bb2f094a14ef',
'5226ea8e0f516565ba825a1bbed10020982c16414750237068b602c5b4ac6abd',
'c233aec7917cf34294c19dd60ff79a6e0fac5ed6f0cb57af98013c08201a7a1c',
'20ed21bfdb7aa970b12e7368eba8e26a711752f1cc5416b6fd6629d0e2a44e5d',
'66dbf939c00b09d8d22c692864b68c4a602e7a59c4b925b2e2bef57b1ad047bd',
'b1ef7b267d887e34bf0242a94b38e7dc9fd5e6f8b2c5c440ce4ec98cc74642fb'
)
$phishDomains = @('hbc-careers.com','fifahr-careers.com','mckinsey-careers.com','aa-careers.com','levis-careers.com','andmore-global.com','expedia-careers.com')
# 1. COM hijacking artifacts - user-scope CLSID registrations pointing to non-standard paths
Write-Host '[*] Checking COM hijack persistence (HKCU CLSID InprocServer32)...' -ForegroundColor Cyan
Get-ChildItem 'HKCU:\Software\Classes\CLSID' -Recurse -ErrorAction SilentlyContinue |
Where-Object { $_.PSChildName -eq 'InprocServer32' } | ForEach-Object {
$dll = (Get-ItemProperty $_.PSPath -ErrorAction SilentlyContinue).'(default)'
if ($dll -and $dll -notmatch '^C:\\(Windows|Program Files)' ) {
$findings += [pscustomobject]@{Type='COM-Hijack'; Path=$_.PSPath; Value=$dll}
Write-Host "[!] Suspicious COM registration: $dll" -ForegroundColor Red
}
}
# 2. Oyster/Rhadamanthys persistence - Run keys and suspicious scheduled tasks
Write-Host '[*] Checking Run keys and scheduled tasks...' -ForegroundColor Cyan
foreach ($rk in 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Run','HKLM:\Software\Microsoft\Windows\CurrentVersion\Run') {
Get-ItemProperty $rk -ErrorAction SilentlyContinue | ForEach-Object {
$_.PSObject.Properties | Where-Object { $_.Value -match 'AppData|Temp|Public\\' } | ForEach-Object {
$findings += [pscustomobject]@{Type='RunKey'; Path=$rk; Value="$($_.Name)=$($_.Value)"}
Write-Host "[!] Suspicious Run key: $($_.Name) = $($_.Value)" -ForegroundColor Red
}
}
}
Get-ScheduledTask -ErrorAction SilentlyContinue | Where-Object {
$_.Actions.Execute -match 'AppData|Temp' -and $_.TaskPath -notlike '\Microsoft*'
} | ForEach-Object {
$findings += [pscustomobject]@{Type='ScheduledTask'; Path=$_.TaskName; Value=$_.Actions.Execute}
Write-Host "[!] Suspicious task: $($_.TaskName) -> $($_.Actions.Execute)" -ForegroundColor Red
}
# 3. Hash sweep of common staging directories
Write-Host '[*] Hashing staging directories against OTX IOCs...' -ForegroundColor Cyan
foreach ($dir in "$env:TEMP","$env:LOCALAPPDATA\Temp","$env:USERPROFILE\Downloads","C:\ProgramData") {
Get-ChildItem $dir -Recurse -File -Include *.exe,*.dll,*.msi -ErrorAction SilentlyContinue | ForEach-Object {
$h = (Get-FileHash $_.FullName -Algorithm SHA256 -ErrorAction SilentlyContinue).Hash
if ($otxHashes -contains $h.ToLower()) {
$findings += [pscustomobject]@{Type='HashMatch'; Path=$_.FullName; Value=$h}
Write-Host "[!!] OTX HASH MATCH: $($_.FullName)" -ForegroundColor Red
}
}
}
# 4. RecruitTrap phishing - DNS cache and active connections
Write-Host '[*] Checking DNS cache and connections for RecruitTrap domains...' -ForegroundColor Cyan
Get-DnsClientCache -ErrorAction SilentlyContinue | Where-Object {
$n = $_.Name; $phishDomains | Where-Object { $n -like "*$_*" }
} | ForEach-Object {
$findings += [pscustomobject]@{Type='DNS-Cache'; Path=$_.Name; Value=$_.Data}
Write-Host "[!] Phishing domain in DNS cache: $($_.Name)" -ForegroundColor Red
}
# 5. Browser credential store access artifacts (prefetch of unusual processes touching profile dirs)
Write-Host '[*] Checking for stealer prefetch artifacts...' -ForegroundColor Cyan
Get-ChildItem 'C:\Windows\Prefetch' -Filter '*.pf' -ErrorAction SilentlyContinue |
Where-Object { $_.LastWriteTime -gt (Get-Date).AddDays(-14) -and $_.Name -notmatch 'CHROME|MSEDGE|FIREFOX' } |
Sort-Object LastWriteTime -Descending | Select-Object -First 0 | Out-Null
$findings | Export-Csv -Path ".\OTX_Hunt_$(Get-Date -Format 'yyyyMMdd_HHmm').csv" -NoTypeInformation
Write-Host "[*] Hunt complete. $($findings.Count) finding(s)." -ForegroundColor Green
Response Priorities
Immediate (0–4 hours):
- Block all RecruitTrap domains at DNS resolver and web proxy; add
*-careers.combrand-impersonation pattern to NRD alerting - Push the 12 OTX SHA256 hashes to EDR blocklists; note hash-only coverage will decay against AI-regenerated builds — the COM hijack and credential-store-access detections are the durable controls
- Retro-hunt DNS/proxy logs 90 days for RecruitTrap domains; any hit = presumed credential compromise
- Deploy the Sigma and KQL detections above
24 Hours:
- For any user who resolved or visited RecruitTrap infrastructure: force immediate credential reset, revoke all active sessions and OAuth refresh tokens, and review Azure AD/Entra sign-in logs for token replay from anomalous geographies or device fingerprints
- Audit OAuth app consents in Entra ID for grants issued in the last 30 days — token theft via fake SSO flows frequently leaves a malicious consent grant behind
- Check affected identities for MFA fatigue prompts or new MFA method registrations (adversary-in-the-middle follow-on behavior)
- If any OTX hash match is found on an endpoint, isolate the host and assume all credentials stored in its browsers are compromised — reset accordingly
1 Week:
- Deploy FIDO2/passkey authentication for high-value users; RecruitTrap's OAuth capture model is specifically defeated by phishing-resistant MFA
- Implement Conditional Access token-binding and continuous access evaluation to limit replay value of stolen tokens
- Restrict user-scope COM object registration via application control policy (WDAC/AppLocker) to kill the COM-hijack persistence class
- Block browser credential store access by non-browser processes via EDR tamper/custom rules
- Brief HR and recruiting teams: employees should verify recruiting communications through official portals only; publish the impersonated brand list internally
- Enable mobile threat defense reporting — the mobile full-screen phishing variant leaves no desktop proxy telemetry
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.