Back to Intelligence

Knight Office M365 AiTM Kit + Tampered Exodus Modular RAT: OTX Pulse Analysis — Session Token Theft and Credential Access Detection Pack

SA
Security Arsenal Team
September 2, 2026
9 min read

Excerpt

OTX pulses detail M365 AiTM session-token phishing and a fake Exodus wallet modular RAT using Azure-backed C2. Enterprise identity and crypto-adjacent users face elevated credential-theft risk.

Threat Summary

The two OTX pulses collectively show a credential-theft-heavy intrusion economy focused on identity replay rather than simple password collection. The first campaign, tracked as Knight Office, is a Microsoft 365 adversary-in-the-middle phishing kit that steals authenticated session tokens after luring users through DocuSign-themed messages, Monday.com redirects, and compromised Joomla sites. The second campaign distributes a tampered Exodus cryptocurrency wallet installer that deploys the real Exodus 24.33.4 application alongside modified components and a modular RAT toolset named for DLL modules: Dll4_cmd, Dll4_fileman, Dll4_browser, Dll4_socks, Dll4_vnc, and Dll4_script.

The shared objective is durable account and endpoint access: Knight Office bypasses MFA by replaying stolen M365 session cookies and abusing OAuth/device-registration flows such as Windows Hello for Business enrollment; the Exodus RAT establishes hands-on-keyboard access, browser credential theft, command execution, file management, SOCKS proxying, VNC remote control, and script execution. Together they represent a practical enterprise risk pattern: initial access via trusted SaaS brands or software-update lures, followed by token/session theft, cloud persistence, and monetization through credential resale, mailbox abuse, crypto theft, or downstream ransomware enablement.

Threat Actor / Malware Profile

Attribution: Unknown for both pulses. Infrastructure and kit behavior are consistent with financially motivated credential-harvesting operators and initial-access brokers rather than a named APT.

Knight Office AiTM phishing kit

  • Distribution: DocuSign-themed email lures, redirect chains through Monday.com and compromised Joomla websites, then credential capture pages.
  • Payload behavior: proxies the real Microsoft 365 login flow, captures credentials and authenticated session tokens, and presents operator console workflows for replay.
  • Identity abuse: session token theft, OAuth consent/device registration abuse, possible Windows Hello for Business enrollment to create durable trusted access.
  • C2 / infrastructure: disposable phishing domains, including .vu domains with randomized corporate-sounding names such as kleepxrnlinecorporation.vu, advancedplacyncement.vu, amstardmzsmc.vu, and connectivnqzityltd.vu.
  • Persistence: cloud-side rather than host-heavy — registered devices, OAuth grants, refresh tokens, inbox rules, and session cookies can survive password resets unless revoked.
  • Anti-analysis: short-lived redirect chains, legitimate service abuse, brand impersonation, and victim-specific token capture that reduces static payload value.

Tampered Exodus modular RAT

  • Distribution: fake PDFs or software-update prompts delivered through JavaScript files that retrieve a tampered Windows Installer package masquerading as Exodus wallet.
  • Payload behavior: installs genuine Exodus 24.33.4 while modifying three files to load malicious functionality; modular DLLs provide command shell, file manager, browser data theft, SOCKS proxy, VNC, and script execution.
  • C2 communication: reported use of Azure Table Storage as a dead-drop/tasking layer plus SOCKS/VNC capabilities for interactive access and traffic relay.
  • Persistence: installer-based deployment and modified application components; hunt for MSI execution, suspicious Exodus child processes, unexpected services/tasks, and binaries under user-writable paths.
  • Anti-analysis: blending with legitimate crypto wallet software, modular payload separation, legitimate cloud service C2, and JavaScript/MSI staging that can evade naive signature controls.

Relevant ATT&CK mapping: T1566.002 Spearphishing Link, T1557 Adversary-in-the-Middle, T1528 Steal Application Access Token, T1539 Steal Web Session Cookie, T1059.007 JavaScript, T1218 System Binary Proxy Execution for MSI/script staging, T1102.002 Web Service: Bidirectional Communication for Azure-backed tasking, T1555.003 Credentials from Web Browsers, T1090 Proxy, and T1021.005 VNC.

IOC Analysis

The pulse indicators are dominated by domains and SHA256 file hashes. Domains such as the randomized .vu set are high-value for DNS, proxy, and email gateway blocking because they are short-lived phishing infrastructure. The us05.org indicator should be treated with context: validate sightings against process, URL path, TLS certificate, and surrounding telemetry before bulk blocking to avoid false positives on legitimate services.

SOC operationalization:

  • Push .vu domains and validated phishing URLs into DNS sinkhole, secure web gateway, email URL rewrite, and EDR network block lists with a 30–90 day expiration.
  • Add SHA256 hashes to EDR reputation block, application control deny rules, and malware detonation retro-hunt.
  • Convert domain indicators into network behaviors: newly seen .vu lookups from endpoints, M365 login followed by impossible travel or token replay, and OAuth/device registration after inbound DocuSign lures.
  • Tooling: OTX/AlienVault for context, MISP/OpenCTI for indicator normalization, Microsoft 365 Defender/Sentinel for identity correlation, Suricata/Zeek for DNS/TLS metadata, YARA for hash-adjacent triage, and CyberChef/exiftool/olevba for lure document and script analysis.

Detection Engineering

YAML
---
title: Knight Office AiTM M365 Session Token Theft and Device Registration
id: 9f1d2a0b-6d7e-4c4a-9a2f-knight-office-aitm
status: experimental
description: Detects identity-side artifacts consistent with M365 AiTM phishing, token replay, suspicious OAuth consent, or device registration after phishing-lure exposure.
author: Security Arsenal
date: 2026/09/03
references:
  - https://www.huntress.com/blog/inside-knight-office-m365-aitm-attack
logsource:
  product: azure
  service: signinlogs
  definition: Requires Microsoft Entra ID sign-in, audit, and risk events forwarded to SIEM.
detection:
  selection_domain:
    DestinationHostname|contains:
      - '.vu'
      - 'monday.com'
      - 'joomla'
  selection_signin:
    - RiskEventTypes_v2|contains:
        - 'anonymizedIPAddress'
        - 'unfamiliarFeatures'
        - 'unlikelyTravel'
    - AuthenticationRequirement: 'multiFactorAuthentication'
    - Status: 'Success'
  selection_audit:
    OperationName|contains:
      - 'Add OAuth2PermissionGrant'
      - 'Consent to application'
      - 'Add device'
      - 'Register device'
      - 'Add registered owner to device'
      - 'Update device'
  condition: selection_signin and (selection_audit or selection_domain)
falsepositives:
  - Administrators registering compliant devices during onboarding.
  - Legitimate OAuth grants to approved enterprise apps.
level: high
tags:
  - attack.t1557
  - attack.t1528
  - attack.t1539
  - attack.t1078.004
---
title: Tampered Exodus Installer JavaScript Dropper and MSI Staging
id: 7b4c9e21-8a66-4f1b-b6f2-exodus-tampered-msi
status: experimental
description: Detects JavaScript-launched MSI installs and suspicious Exodus wallet process trees consistent with a tampered cryptocurrency wallet installer deploying modular RAT components.
author: Security Arsenal
date: 2026/09/03
references:
  - https://www.huntress.com/blog/exodus-crypto-wallet-installer-rat
logsource:
  category: process_creation
  product: windows
  definition: Sysmon Event ID 1 or Windows Security Event ID 4688 with command line auditing.
detection:
  selection_js_dropper:
    ParentImage|endswith:
      - '\wscript.exe'
      - '\cscript.exe'
      - '\mshta.exe'
      - '\rundll32.exe'
    Image|endswith:
      - '\msiexec.exe'
      - '\powershell.exe'
      - '\cmd.exe'
  selection_exodus:
    Image|contains:
      - '\Exodus'
      - '\exodus.exe'
    CommandLine|contains:
      - 'Exodus'
      - '24.33.4'
  selection_msi:
    Image|endswith: '\msiexec.exe'
    CommandLine|contains:
      - '/i'
      - 'http'
      - '.msi'
      - 'Temp'
      - 'AppData'
  selection_module_names:
    CommandLine|contains:
      - 'Dll4_cmd'
      - 'Dll4_fileman'
      - 'Dll4_browser'
      - 'Dll4_socks'
      - 'Dll4_vnc'
      - 'Dll4_script'
  condition: (selection_js_dropper and selection_msi) or (selection_exodus and selection_module_names) or (selection_js_dropper and selection_exodus)
falsepositives:
  - Managed software deployment of Exodus in approved crypto labs.
  - Enterprise MSI installs using JavaScript wrappers.
level: high
tags:
  - attack.t1059.007
  - attack.t1218
  - attack.t1102.002
  - attack.t1555.003
---
title: Suspicious Azure Table Storage or SOCKS/VNC Beacon From Endpoint
id: 3c7a1d55-90ab-4e2f-9c44-azure-socks-vnc-rat
status: experimental
description: Detects endpoints making unusual connections to Azure Table Storage endpoints or exposing local SOCKS/VNC listeners after installer or browser credential-theft activity.
author: Security Arsenal
date: 2026/09/03
logsource:
  category: network_connection
  product: windows
  definition: Sysmon Event ID 3 and process creation correlation.
detection:
  selection_azure_table:
    DestinationHostname|contains:
      - '.table.core.windows.net'
      - 'azconfig.io'
      - '.blob.core.windows.net'
    Image|endswith:
      - '\exodus.exe'
      - '\rundll32.exe'
      - '\dllhost.exe'
      - '\powershell.exe'
      - '\wscript.exe'
      - '\cmd.exe'
  selection_proxy_vnc:
    DestinationPort:
      - 1080
      - 5900
      - 5901
      - 3389
    Image|endswith:
      - '\exodus.exe'
      - '\rundll32.exe'
      - '\dllhost.exe'
      - '\powershell.exe'
  condition: selection_azure_table or selection_proxy_vnc
falsepositives:
  - Legitimate Azure applications using Table Storage.
  - Approved VNC/remote support tools with signed binaries and known service accounts.
level: medium
tags:
  - attack.t1102.002
  - attack.t1090
  - attack.t1021.005
KQL — Microsoft Sentinel / Defender
let Lookback = 14d;
let BadDomains = dynamic([
  "kleepxrnlinecorporation.vu","advancedplacyncement.vu","amstardmzsmc.vu","arandasoftzfdware.vu",
  "avisoretentiunionllc.vu","capitalflwxinancialpartners.vu","certififiycationedge.vu","connectivnqzityltd.vu","us05.org"
]);
let BadHashes = dynamic([
  "2f47cfbb13f7a8a2d30d287f4ddd974fabea6762ad9781d438eb53da41b4582d",
  "5274e93e35586a341d14b50cdf8413d59c51fd94f32bdc70bfdfb77198367603",
  "5fe753945da0eaac2c2ef3845cba603dea6c3e8529fa581d7e0192f8af60391a",
  "7e74f6e2eb7a17a8d25bb322a14c392c9d92c6ab29fc66b50221da134a1bdba8",
  "84437d4239d2a3d90c4faad0a3c0630b2f61a40f7bbd12109bef74d7613b8756",
  "8c3b41ea5a85778145a6e5772bfee2eb0f8b027d0af199fb71a76dfb8bb29e5a",
  "c513a7346484ee69a2931c4a89956ee50aa63e4366ef989315e669d8f10d7485"
]);
let Net =
DeviceNetworkEvents
| where TimeGenerated >= ago(Lookback)
| where RemoteUrl has_any (BadDomains) or RemoteIP in ()
| project TimeGenerated, DeviceName, InitiatingProcessFileName, InitiatingProcessCommandLine, RemoteUrl, RemoteIP, RemotePort, ActionType;
let Proc =
DeviceProcessEvents
| where TimeGenerated >= ago(Lookback)
| where SHA256 in~ (BadHashes)
   or ProcessCommandLine has_any ("Dll4_cmd","Dll4_fileman","Dll4_browser","Dll4_socks","Dll4_vnc","Dll4_script","Exodus","24.33.4","table.core.windows.net")
   or (InitiatingProcessFileName in~ ("wscript.exe","cscript.exe","mshta.exe","rundll32.exe") and FileName in~ ("msiexec.exe","powershell.exe","cmd.exe"))
| project TimeGenerated, DeviceName, AccountName, FileName, ProcessCommandLine, SHA256, InitiatingProcessFileName, InitiatingProcessCommandLine;
union Net, Proc
| sort by TimeGenerated desc
PowerShell
$ErrorActionPreference = 'SilentlyContinue'
$BadDomains = @(
 'kleepxrnlinecorporation.vu','advancedplacyncement.vu','amstardmzsmc.vu','arandasoftzfdware.vu',
 'avisoretentiunionllc.vu','capitalflwxinancialpartners.vu','certififiycationedge.vu','connectivnqzityltd.vu','us05.org'
)
$BadHashes = @(
 '2f47cfbb13f7a8a2d30d287f4ddd974fabea6762ad9781d438eb53da41b4582d',
 '5274e93e35586a341d14b50cdf8413d59c51fd94f32bdc70bfdfb77198367603',
 '5fe753945da0eaac2c2ef3845cba603dea6c3e8529fa581d7e0192f8af60391a',
 '7e74f6e2eb7a17a8d25bb322a14c392c9d92c6ab29fc66b50221da134a1bdba8',
 '84437d4239d2a3d90c4faad0a3c0630b2f61a40f7bbd12109bef74d7613b8756',
 '8c3b41ea5a85778145a6e5772bfee2eb0f8b027d0af199fb71a76dfb8bb29e5a',
 'c513a7346484ee69a2931c4a89956ee50aa63e4366ef989315e669d8f10d7485'
)
$findings = @()

# 1) DNS cache / client artifacts for phishing and C2 domains
$dns = Get-DnsClientCache | Where-Object { $n=$_.Name.ToLower(); $BadDomains | ForEach-Object { $n -like "*$_*" } }
if ($dns) { $findings += $dns | Select-Object @{n='Type';e={'DNSCache'}}, Name, Entry, Data, TimeToLive }

# 2) Running processes and loaded modules for Exodus/Dll4 artifacts
$procs = Get-CimInstance Win32_Process | Where-Object {
  ($_.Name -match 'exodus|msiexec|wscript|cscript|mshta|rundll32|powershell') -or
  ($_.CommandLine -match 'Dll4_cmd|Dll4_fileman|Dll4_browser|Dll4_socks|Dll4_vnc|Dll4_script|table.core.windows.net|Exodus|24\.33\.4')
}
foreach ($p in $procs) {
  $path = $p.ExecutablePath
  $sha = if ($path -and (Test-Path $path)) { (Get-FileHash $path -Algorithm SHA256).Hash.ToLower() } else { $null }
  if ($BadHashes -contains $sha -or $p.CommandLine -match 'Dll4_|table.core.windows.net|Exodus') {
    $findings += [pscustomobject]@{ Type='Process'; Name=$p.Name; PID=$p.ProcessId; Path=$path; SHA256=$sha; CommandLine=$p.CommandLine }
  }
}

# 3) Persistence locations: Run keys, services, scheduled tasks mentioning Exodus or modules
$runKeys = @('HKCU:\Software\Microsoft\Windows\CurrentVersion\Run','HKLM:\Software\Microsoft\Windows\CurrentVersion\Run')
foreach ($k in $runKeys) {
  Get-ItemProperty $k | ForEach-Object {
    $_.PSObject.Properties | Where-Object { $_.Value -match 'Exodus|Dll4_|msiexec|wscript|cscript|table.core.windows.net' } | ForEach-Object {
      $findings += [pscustomobject]@{ Type='RunKey'; Name=$_.Name; Path=$k; SHA256=''; CommandLine=($_.Value | Out-String) }
    }
  }
}
Get-ScheduledTask | Where-Object { ($_.Actions.Execute -match 'exodus|wscript|cscript|mshta|msiexec|powershell') -or ($_.Actions.Arguments -match 'Dll4_|table.core.windows.net|Exodus') } | ForEach-Object {
  $findings += [pscustomobject]@{ Type='ScheduledTask'; Name=$_.TaskName; Path=$_.TaskPath; SHA256=''; CommandLine=($_.Actions | Out-String) }
}

# 4) Network listeners for SOCKS/VNC and Azure endpoint connections
Get-NetTCPConnection -State Listen,Established | Where-Object { $_.LocalPort -in 1080,5900,5901,3389 -or $_.RemotePort -in 443,1080,5900 } | ForEach-Object {
  $proc = Get-Process -Id $_.OwningProcess
  if ($proc.ProcessName -match 'exodus|rundll32|dllhost|powershell|wscript|cmd') {
    $findings += [pscustomobject]@{ Type='Network'; Name=$proc.ProcessName; PID=$_.OwningProcess; Path=$proc.Path; SHA256=''; CommandLine="$($_.LocalAddress):$($_.LocalPort)->$($_.RemoteAddress):$($_.RemotePort) $($_.State)" }
  }
}

$findings | Sort-Object Type, TimeGenerated -ErrorAction SilentlyContinue | Format-List
if ($findings.Count -gt 0) { $findings | Export-Csv -NoTypeInformation -Path "$env:TEMP\otx_knight_exodus_hunt.csv" }

Response Priorities

  • Immediate: Block listed domains and hashes at DNS, SWG, email, and EDR; isolate hosts with matching SHA256 or Dll4_* command lines; capture memory before reboot on suspected Exodus RAT endpoints; review last 14 days of M365 sign-ins after .vu/DocuSign/Monday.com redirect exposure.
  • 24h: For any user exposed to Knight Office lures, revoke all Entra ID refresh tokens and sessions, reset passwords, remove unknown OAuth grants/devices/Windows Hello for Business credentials, enforce re-registration of MFA, inspect inbox rules and forwarding, and validate no crypto-wallet or browser credential access occurred.
  • 1 week: Harden identity with phishing-resistant MFA/FIDO2, token protection, conditional access and continuous access evaluation; restrict OAuth consent and device registration to admins; block MSI execution from user-writable paths and script interpreters for standard users; alert on .table.core.windows.net access from non-approved processes; add detections for AiTM domains, suspicious device joins, and Exodus installer tampering.

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.