Back to Intelligence

Year-End Credential Harvesting Campaign: SharePoint & DocuSign Impersonation Phishing Infrastructure — OTX Pulse Analysis

SA
Security Arsenal Team
October 24, 2026
8 min read

Classification: TLP:WHITE | Pulse: "2026 Year End Phishing Lures" (AlienVault, modified 2026-10-23)

Threat Summary

AlienVault OTX has published a pulse tracking an active, multi-sector phishing campaign timed to exploit year-end business workflows. As organizations enter fiscal close, Q4 invoicing cycles, compensation reviews, and annual access audits, attackers are riding the wave of legitimate administrative traffic to deliver credential-harvesting lures.

The campaign impersonates trusted business platforms — most notably Microsoft SharePoint and DocuSign — to steal corporate credentials, which are then monetized through dark web credential markets or used as initial access for follow-on intrusions (business email compromise, invoice fraud, and ransomware staging).

Attack chain:

  1. Lure delivery — Emails masquerade as year-end raise notifications, Q4 invoice follow-ups, benefits statements, or access review requests.
  2. Impersonation layer — Victims are directed to cloned SharePoint document-sharing pages or fake DocuSign signing portals hosted on attacker infrastructure.
  3. Credential capture — Login forms harvest corporate usernames/passwords (and in some variants, MFA session tokens via adversary-in-the-middle techniques).
  4. Monetization — Stolen credentials are validated, bundled, and resold on dark web marketplaces or used directly for BEC and wire fraud.

Targeted industries: Finance, Technology, Telecommunications, Manufacturing, Real Estate, and Aviation. No single country is being exclusively targeted — this is an opportunistic, broad-net campaign.

Threat Actor / Malware Profile

Attribution: Unknown threat actor. No named malware family is associated with this pulse — the payload is the phishing page itself.

  • Distribution method: Bulk phishing email themed around year-end HR/finance processes (compensation adjustments, Q4 financial documents, invoice follow-ups, benefits statements, access reviews).
  • Payload behavior: Victim clicks redirect to credential-harvesting sites impersonating SharePoint sharing links and DocuSign envelopes. Pages are typically hosted on compromised or cheaply registered domains, often fronted by legitimate Japanese hosting providers (GMO Internet, NTT, J:COM) to evade reputation filters.
  • C2 communication: Exfiltration occurs via HTTP/HTTPS POST from the phishing kit to attacker-controlled collection endpoints; harvested data is later surfaced in credential dumps and stealer logs traded on dark web forums.
  • Persistence mechanism: None on the endpoint — persistence is achieved through account takeover. Once credentials are validated, attackers establish mailbox rules, OAuth consent grants, or session replay to maintain access.
  • Anti-analysis techniques: Geo-fencing and user-agent filtering on phishing pages, URL shortener chains, abuse of compromised legitimate hosts to defeat domain age checks, and rapid domain rotation across low-cost TLDs (e.g., .sbs).

IOC Analysis

The pulse contains 21 indicators, dominated by two types:

  • IPv4 addresses hosted on Japanese consumer/enterprise ASNs — AS7506 (GMO Internet), AS4713 (NTT Communications), AS4721 (J:COM). Examples: 157.7.189.101, 157.7.44.119, 118.20.84.128, 123.98.253.31. These indicate abuse of legitimate Japanese hosting, a common technique to inherit clean IP reputation.
  • Domains including rsfashionsdesignbd.com, bvlbetonvloeren.be, englaus.sbs, tropical100.com.do — a mix of likely compromised legitimate sites and throwaway registrations on cheap TLDs.

Operationalization guidance for SOC teams:

  1. Push all IPv4 and domain IOCs to email gateways, web proxies, DNS resolvers (sinkhole), and EDR block lists.
  2. Retro-hunt proxy and DNS logs for 30–90 days — year-end campaigns typically warm up weeks before detection.
  3. Treat any authentication event originating from or referencing these indicators as a confirmed credential compromise until disproven.
  4. Enrich with urlscan.io, VirusTotal, and Netcraft takedown feeds to identify phishing kit variants and cloned page signatures.

Detection Engineering

YAML
---
title: Phishing Lure Access to Impersonated SharePoint/DocuSign Infrastructure
id: 9f3a2c71-4e5b-4d6a-8c1f-20261025yr01
status: experimental
description: Detects network connections to known year-end phishing lure infrastructure identified in OTX pulse 2026 Year End Phishing Lures, including abused Japanese hosting IPs and throwaway phishing domains.
author: Security Arsenal Threat Intelligence
references:
  - https://www.netcraft.com/blog/year-end-phishing-lures-fake-raises-q4-invoices-and-access-reviews
date: 2026/10/25
logsource:
  category: network_connection
detection:
  selection_ip:
    DestinationIp:
      - 157.7.189.101
      - 157.7.44.119
      - 118.20.84.128
      - 123.98.253.31
  selection_domain:
    DestinationHostname|contains:
      - rsfashionsdesignbd.com
      - bvlbetonvloeren.be
      - englaus.sbs
      - tropical100.com.do
  condition: 1 of selection_*
falsepositives:
  - Rare legitimate browsing to compromised hosts; investigate context of connection initiator process
level: high
tags:
  - attack.initial_access
  - attack.t1566
---
title: Suspicious Browser or Office Process Spawning Credential Entry Followed by External HTTPS POST
id: 9f3a2c71-4e5b-4d6a-8c1f-20261025yr02
status: experimental
description: Detects browser or Office processes launched from email clients that initiate HTTPS POST traffic to low-reputation or newly observed domains, consistent with phishing kit credential exfiltration from SharePoint/DocuSign impersonation pages.
author: Security Arsenal Threat Intelligence
date: 2026/10/25
logsource:
  category: process_creation
  product: windows
detection:
  selection_parent:
    ParentImage|endswith:
      - '\OUTLOOK.EXE'
      - '\thunderbird.exe'
      - '\msedgewebview2.exe'
  selection_child:
    Image|endswith:
      - '\chrome.exe'
      - '\msedge.exe'
      - '\firefox.exe'
      - '\iexplore.exe'
  condition: selection_parent and selection_child
falsepositives:
  - Legitimate links opened from email; tune by correlating with proxy logs for suspicious TLDs (.sbs, .top, .xyz)
level: medium
tags:
  - attack.initial_access
  - attack.t1566.002
  - attack.t1204.001
---
title: OAuth Consent Grant or Inbox Rule Creation Following Phish-Linked Login
id: 9f3a2c71-4e5b-4d6a-8c1f-20261025yr03
status: experimental
description: Detects post-compromise persistence behaviors associated with credential phishing — suspicious inbox forwarding rules or new OAuth application consent shortly after anomalous sign-in, commonly observed after SharePoint/DocuSign lure credential theft.
author: Security Arsenal Threat Intelligence
date: 2026/10/25
logsource:
  product: azure
  service: auditlogs
detection:
  selection_oauth:
    OperationName:
      - 'Consent to application'
      - 'Add service principal'
  selection_inboxrule:
    OperationName|contains:
      - 'New-InboxRule'
      - 'Set-InboxRule'
  filter_known:
    InitiatedBy|contains:
      - 'admin@'
  condition: (selection_oauth or selection_inboxrule) and not filter_known
falsepositives:
  - Legitimate application onboarding or user-created mail rules; validate with user confirmation workflow
level: high
tags:
  - attack.persistence
  - attack.t1098.001
  - attack.t1550
  - attack.collection
  - attack.t1114.003
KQL — Microsoft Sentinel / Defender
// Hunt for year-end phishing lure infrastructure access and follow-on compromise
// OTX Pulse: 2026 Year End Phishing Lures (TLP:WHITE)
let PhishIPs = dynamic(["157.7.189.101","157.7.44.119","118.20.84.128","123.98.253.31"]);
let PhishDomains = dynamic(["rsfashionsdesignbd.com","bvlbetonvloeren.be","englaus.sbs","tropical100.com.do"]);
let NetworkHits = DeviceNetworkEvents
| where TimeGenerated > ago(30d)
| where RemoteIP in (PhishIPs) or RemoteUrl has_any (PhishDomains)
| project NetworkHitTime=TimeGenerated, DeviceName, InitiatingProcessFileName, InitiatingProcessCommandLine, RemoteIP, RemoteUrl, ActionType;
let EmailContext = EmailEvents
| where TimeGenerated > ago(30d)
| where Subject has_any ("raise","compensation","invoice","Q4","access review","benefits","DocuSign","shared a file")
| project EmailTime=TimeGenerated, RecipientEmailAddress, Subject, SenderFromAddress, AttachmentCount;
NetworkHits
| join kind=leftouter (DeviceLogonEvents
    | where TimeGenerated > ago(30d)
    | summarize PostPhishLogons=count(), LogonTypes=make_set(LogonType) by DeviceName, AccountName) on DeviceName
| join kind=leftouter EmailContext on $left.DeviceName == $right.RecipientEmailAddress // adjust join key per tenant schema
| project NetworkHitTime, DeviceName, InitiatingProcessFileName, RemoteIP, RemoteUrl, PostPhishLogons, AccountName, Subject, SenderFromAddress
| order by NetworkHitTime desc
PowerShell
# =============================================================
# Year-End Phishing Lure - Endpoint IOC & Compromise Hunt
# OTX Pulse: 2026 Year End Phishing Lures (TLP:WHITE)
# Checks browser artifacts, DNS cache, auth artifacts, and mail rules
# =============================================================

$PhishIPs     = @('157.7.189.101','157.7.44.119','118.20.84.128','123.98.253.31')
$PhishDomains = @('rsfashionsdesignbd.com','bvlbetonvloeren.be','englaus.sbs','tropical100.com.do')

Write-Host '[*] Checking DNS client cache for phishing domains...' -ForegroundColor Cyan
Get-DnsClientCache | Where-Object {
    $entry = $_.Entry
    ($PhishDomains | Where-Object { $entry -like "*$_*" }) -or ($PhishIPs -contains $_.Data)
} | Format-Table Entry, Data, TimeToLive -AutoSize

Write-Host '[*] Checking active/historical TCP connections to phishing IPs...' -ForegroundColor Cyan
Get-NetTCPConnection | Where-Object { $PhishIPs -contains $_.RemoteAddress } |
    Select-Object LocalAddress, LocalPort, RemoteAddress, RemotePort, State, OwningProcess |
    Format-Table -AutoSize

Write-Host '[*] Checking Chrome/Edge history for lure page visits (last 30 days)...' -ForegroundColor Cyan
$historyPaths = @(
    "$env:LOCALAPPDATA\Google\Chrome\User Data\Default\History",
    "$env:LOCALAPPDATA\Microsoft\Edge\User Data\Default\History"
)
foreach ($hp in $historyPaths) {
    if (Test-Path $hp) {
        $copy = Join-Path $env:TEMP ('hist_' + (Get-Random) + '.db')
        Copy-Item $hp $copy -Force -ErrorAction SilentlyContinue
        # Requires sqlite3 or use PSSQLite module; fallback: string-scan raw bytes
        $bytes = [System.IO.File]::ReadAllText($copy)
        foreach ($d in $PhishDomains) {
            if ($bytes -match [regex]::Escape($d)) {
                Write-Host "[!] HIT: $d found in browser history: $hp" -ForegroundColor Red
            }
        }
        Remove-Item $copy -Force -ErrorAction SilentlyContinue
    }
}

Write-Host '[*] Checking Windows Credential Manager for suspicious recent entries...' -ForegroundColor Cyan
cmdkey /list | Select-String -Pattern 'sharepoint|docusign|office' -Context 0,2

Write-Host '[*] Reviewing recent failed/successful logons (Event 4624/4625) for anomalies...' -ForegroundColor Cyan
Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4624,4625; StartTime=(Get-Date).AddDays(-14)} -MaxEvents 500 -ErrorAction SilentlyContinue |
    Where-Object { $_.Message -match 'Logon Type:\s+(3|10)' } |
    Select-Object TimeCreated, Id, @{n='Snippet';e={$_.Message.Substring(0,[Math]::Min(200,$_.Message.Length))}} |
    Format-List

Write-Host '[*] Checking for suspicious Outlook inbox rules via registry (client-side)...' -ForegroundColor Cyan
$profilePath = 'HKCU:\Software\Microsoft\Office\16.0\Outlook\Profiles'
if (Test-Path $profilePath) {
    Get-ChildItem $profilePath -Recurse -ErrorAction SilentlyContinue |
        Where-Object { $_.Property -match 'Rule' } |
        Select-Object PSChildName, Property | Format-Table -AutoSize
}

Write-Host '[*] Hunt complete. Correlate any hits with proxy/EDR telemetry and force credential resets for exposed users.' -ForegroundColor Green

Response Priorities

Immediate (0–4 hours):

  • Block all IPv4 and domain IOCs at email gateway, web proxy, DNS, and EDR network controls.
  • Search mailboxes for delivered lure emails (subjects referencing raises, Q4 invoices, access reviews, benefits, DocuSign envelopes) and purge tenant-wide.
  • Run the KQL query and PowerShell hunt against endpoints; flag any device that connected to the listed infrastructure.

24 Hours:

  • For every user who visited a lure page: force password reset, revoke all sessions and refresh tokens, and review MFA registration for unauthorized changes.
  • Audit Azure AD/Entra sign-in logs for anomalous logons (impossible travel, unfamiliar ASN, token replay) for exposed accounts.
  • Review mailbox rules and OAuth consent grants for persistence artifacts created post-click.
  • Report compromised credentials to your dark web monitoring pipeline to catch resale of validated logins.

1 Week:

  • Deploy phishing-resistant MFA (FIDO2/passkeys) for finance, HR, and IT staff — the primary year-end lure targets.
  • Harden conditional access: block legacy auth, enforce compliant-device requirements, and restrict OAuth consent to admin approval workflows.
  • Launch targeted awareness training on year-end lure themes (compensation, invoicing, access reviews) for the six targeted sectors.
  • Tune mail filtering to flag external mail impersonating internal SharePoint/DocuSign workflows and add lookalike-domain alerting.

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.