← All Threat Hunting ReportsThreat Hunting Exercise

Threat Hunting Exercise: Analyzing VPN Impossible Travel Concurrent Session Dataset

This hunt uses simulated corporate VPN concentrator logs (vpn_impossible_travel_2022-05-02T080000.csv, Cisco AnyConnect/Palo Alto GlobalProtect style) to catch T1078: Valid Accounts abuse - a stolen credential being used to establish a VPN session from a geographically implausible second location while the legitimate user's session is still active, a classic sign of credential compromise that geo-velocity analytics are purpose-built to catch.

Step 1: Hypothesis Formation

Hypothesis: A legitimate remote-access account authenticates successfully from its normal location, and shortly afterward (or concurrently) authenticates again from a location that would require physically impossible travel speed between the two points within the elapsed time, indicating the credential (and possibly a valid MFA token/session) is in the hands of two different actors. Indicators:

Null Hypothesis: Legitimate use of a corporate VPN exit-node/proxy service that changes the apparent source geolocation, or a false GeoIP resolution. Invalidate via device fingerprint mismatch, concurrent (not just sequential) session overlap, and absence of a known corporate proxy/CDN IP range in the anomalous connection.

Rationale: VPN geo-velocity is a cheap, high-signal detection layer that complements the earlier Azure AD password-spray hunt - it catches compromised credentials being used, not just successfully guessed, and works even when MFA was bypassed via phishing/token theft rather than brute force.

Step 2: Data Sources and Scope

Step 3: Key Findings

Parsed VPN session log (8 rows shown) confirms a genuine concurrent-session impossible-travel event, with the anomalous session pivoting into internal mailbox rule tampering.

Timestamp (UTC)UsernameSource IPGeolocationClient OSSession ActionIOC/Why Suspicious?
2022-05-02 08:00:12rharris24.14.88.201Chicago, IL, USAWindows 11 (corporate laptop fingerprint)session_startBaseline session - matches rharris's established location and device history.
2022-05-02 08:22:44rharris185.81.157.9Bucharest, RomaniaLinux (unrecognized client string: "OpenConnect/9.01")session_startCore IOC: Second concurrent session for the same account, ~8,000km away, 22 minutes after the first - implies a sustained flight speed of ~22,000 km/h, physically impossible. Different, unrecognized client entirely.
2022-05-02 08:22:44rharris24.14.88.201Chicago, IL, USAWindows 11(session still active)Concurrency IOC: Original Chicago session has no session_end event - both sessions genuinely overlap, ruling out simple sequential travel or a stale cached session.
2022-05-02 08:23:10rharris185.81.157.9Bucharest, RomaniaLinuxMFA method: push-approved (Duo)MFA was approved - either the legitimate user was tricked into approving a push (MFA fatigue) or the token/session itself was stolen/replayed.
2022-05-02 08:25:01rharris185.81.157.9Bucharest, RomaniaLinuxInternal activity: Outlook Web Access rule createdPivot IOC: Immediately after establishing the anomalous session, a mail forwarding rule is created (see companion mailbox-exfil hunt) - a common next step after VPN-level compromise.
2022-05-02 08:30:00rharris185.81.157.9Bucharest, RomaniaLinuxInternal activity: SharePoint access to "Finance/Payroll"Access to a resource well outside rharris's normal Sales-role usage pattern.
2022-05-02 08:40:00rharris24.14.88.201Chicago, IL, USAWindows 11session_endLegitimate user's session ends normally - consistent with them being unaware of the concurrent compromise.
2022-05-02 08:45:00rharris185.81.157.9Bucharest, RomaniaLinuxsession_endAnomalous session ends 20 minutes after the legitimate one - actor operated in parallel with, not instead of, the real user.

Validation:

Step 4: Recommendations & Next Steps

Hypothesis confirmed - concurrent VPN session compromise with a real-time pivot into mailbox and SharePoint access! The overlapping-session detail was what elevated this from "curious" to "confirmed active compromise."