What a modern pivot looks like on Thursday morning
ISC Stormcast for September 17, 2026 put another day of opportunistic probing and follow-on abuse into the same inbox as every other shift briefing. That same week, scanners kept hitting hospitality applications, brokers kept advertising access to exposed Chinese surveillance cameras, and SOC writeups kept circling the same operational problem: defenders still treat cloud, identity, and network telemetry as separate queues while attackers treat them as one path.
Cross-environment pivots rarely announce themselves with a single loud alert. A stolen SaaS session becomes an API call. That API call becomes a mail or marketing-platform action. The same identity then opens a VPN or jumps onto an internal admin path. Each hop looks plausible in isolation. The detection work starts when you force those hops into one session story.
Start from the attack pattern, not the loudest alert
Take three patterns showing up in recent reporting and convert them into log questions your analysts can answer in under an hour.
- Supply-chain content injection such as the Brevo-related ClickFix wave: customer sites served malicious scripts from otherwise trusted delivery platforms. Your edge may show clean platform hostnames while browser and proxy telemetry show unusual script fetches, clipboard prompts, or first-time outbound destinations right after page load.
- Hospitality application scanning: bursts against booking, PMS, and guest Wi-Fi portals. Volume alone is noise. What matters is whether the same sources later authenticate, reset passwords, or hit adjacent vendor portals from the same ASN or shared infrastructure.
- Brokered camera and edge-device access: commodity listings of remote access to surveillance gear. Those assets often sit outside the main identity provider. When someone pivots from a camera or DVR into corporate VPN or jump paths, the join key is time, source identity, and reused credentials rather than a single IP reputation hit.
Each pattern fails the same way if you analyze logs by product console. The workable method is to pick one suspected pivot window, name the join keys, and rebuild the path across systems before you close the ticket.
Telemetry that actually reconstructs a pivot
Build a minimal correlation set that every analyst can request without waiting for a full data-lake project.
Identity and SaaS
- Sign-in success and failure with device ID, MFA method, client app, and risk signals
- Session refresh, consent grants, app role assignments, and mailbox or API token issuance
- Admin audit events: new forwarding rules, OAuth apps, API keys, marketing-platform users, SSO app assignments
Edge and network
- Proxy or SWG records with full URL path, user agent, referrer, and TLS SNI
- VPN and ZTNA session start/stop with public source, assigned internal address, and posture result
- Firewall accepts and denies on management and app ports, tagged with rule ID and destination role
Host and application
- Process creation with parent chain for the first 30 minutes after a new SaaS or VPN session
- Application access logs for hospitality, VPN portals, and camera/NVR consoles with username, path, and response code
- Endpoint network connections that match the same time window as the identity event
Normalize timestamps to UTC at ingest. Keep raw original times in a side field so DST and appliance clock drift stay auditable. Prefer stable join keys in this order: user principal, device ID, session ID, then source IP. IP is useful for the first hop and unreliable after NAT, CDN, or dual-stack rotation.
A field method you can run on one suspected pivot
- Anchor the window. Pick the first suspicious SaaS or application event and expand ±6 hours, then ±24 hours only if the short window is empty.
- Pull the identity spine. Export every auth success, MFA challenge, token grant, and admin change for that principal.
- Attach network context. Map VPN/ZTNA and proxy sessions that start within five minutes of those identity events.
- Attach host actions. On the matching device, list process and outbound connections in the same window.
- Score the path. Flag sequences where SaaS admin change, new outbound destination, and privileged internal path appear in one chain with no change ticket.
Concrete example: a hospitality property sees overnight scans against the booking portal from rotating cloud exits. At 09:14 a front-desk account succeeds on the same portal from a residential ISP, then at 09:21 that account appears in Microsoft Entra with a new session from a different country, and at 09:33 the VPN gateway records a first-time posture-failing device for the same UPN. None of those three systems alone proves compromise. The joined sequence does.
Queries and checks worth baking into the shift playbook
Keep detections short and explainable. Analysts should be able to read the logic during an incident bridge.
- Same UPN, new geo or ASN within 30 minutes of a SaaS admin action and a VPN or ZTNA start.
- Application 401/403 storms followed by a 200 on an auth path for the same username within the scan campaign window.
- First-seen OAuth or API client for a user who also opened a management URL on camera, hypervisor, or guest Wi-Fi gear in the prior day.
- Proxy fetches of unexpected script or HTML resources from marketing or CMS platforms followed by clipboard or Run-dialog style user behavior on the endpoint.
- Accepted internal connections from VPN-assigned addresses to domains controllers, jump hosts, or backup consoles within 15 minutes of a risky SaaS login.
Store the supporting events as an evidence pack: identity rows, proxy rows, VPN rows, and host process rows with identical case IDs. That pack becomes the handoff to IR and the template for the next similar alert.
Controls that cut pivot time while the hunt runs
Detection without containment leaves the same session live. Pair the correlation work with immediate control moves.
- Revoke refresh tokens and force re-authentication for the joined identity before you finish the full timeline.
- Disable newly created OAuth apps, API keys, and forwarding rules discovered in the SaaS audit trail.
- Quarantine the endpoint that held the matching device ID; preserve memory and process lists first if ransomware staging is in scope.
- Tighten hospitality and camera portals with MFA, geo or ASN allowlists for admin paths, and lockouts that alert on success-after-scan rather than failures alone.
- Require step-up authentication when a VPN session starts from a device unseen in the prior 14 days for that user.
For camera and NVR estates advertised on access markets, inventory management URLs, remove internet exposure where possible, and stream auth logs into the same SIEM index you use for corporate VPN. Brokered access becomes your problem the moment those credentials or sessions overlap with corporate identities.
What good looks like after two weeks of practice
Your SOC can take a cross-environment suspicion and produce a single session graph in one shift: who authenticated, which SaaS change landed, which edge session carried them, and which host actions followed. Hospitality scan noise becomes account-takeover hunts when a username later succeeds. Supply-chain script delivery becomes an endpoint and proxy hunt even when the platform IP stays clean. Brokered IoT access becomes an identity and VPN review instead of a forgotten perimeter footnote.
Log analysis for threat detection earns its keep when it shortens the distance between an odd event in one console and a confirmed pivot across three. Build the joins, run the short window first, and treat every multi-system sequence as an incident candidate until the evidence pack says otherwise.