Skip to content

[New Rule] Microsoft Entra ID Impossible Travel Sign-in#6150

Merged
terrancedejesus merged 10 commits into
mainfrom
new-rule/entra-id-impossible-travel-sign-in
Jul 7, 2026
Merged

[New Rule] Microsoft Entra ID Impossible Travel Sign-in#6150
terrancedejesus merged 10 commits into
mainfrom
new-rule/entra-id-impossible-travel-sign-in

Conversation

@terrancedejesus

@terrancedejesus terrancedejesus commented May 15, 2026

Copy link
Copy Markdown
Contributor

Pull Request

Issue link(s):

Summary - What I changed

Adds an impossible travel detection rule for Entra ID Sign-In logs. Matches on AitM phishing kits from recent research. Includes >=2 regions or countries as kits may proxy through the same country as phished user. Relies on GeoIP enrichments to mathematically identify anomalies between lon/lan distance and travel time.

Screenshot 2026-05-15 at 11 33 32 AM

Matches on recent Kali365 testing as well.
Screenshot 2026-06-02 at 2 58 26 PM

How To Test

Query can be run on the TRADE stack (see above) or against any telemetry stack with the logs-azure.signinlogs-* data stream. Lookback duration materially affects results because travel_kmh = distance_km × 60 / window_minutes, a longer lookback inflates the time denominator faster than the geographic spread, lowering implied speeds and dropping matches. Empirically a 24h lookback may surface ~8 candidates that drop to ~1 over 7d as normal global activity dilutes the speed calculation.

Checklist

  • Added a label for the type of pr: bug, enhancement, schema, maintenance, Rule: New, Rule: Deprecation, Rule: Tuning, Hunt: New, or Hunt: Tuning so guidelines can be generated
  • Added the meta:rapid-merge label if planning to merge within 24 hours
  • Secret and sensitive material has been managed correctly
  • Automated testing was updated or added to match the most common scenarios
  • Documentation and comments were added for features that require explanation

Contributor checklist

@terrancedejesus terrancedejesus self-assigned this May 15, 2026
@terrancedejesus terrancedejesus added Integration: Azure azure related rules Rule: New Proposal for new rule labels May 15, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Rule: New - Guidelines

These guidelines serve as a reminder set of considerations when proposing a new rule.

Documentation and Context

  • Detailed description of the rule.
  • List any new fields required in ECS/data sources.
  • Link related issues or PRs.
  • Include references.

Rule Metadata Checks

  • creation_date matches the date of creation PR initially merged.
  • min_stack_version should support the widest stack versions.
  • name and description should be descriptive and not include typos.
  • query should be inclusive, not overly exclusive, considering performance for diverse environments. Non ecs fields should be added to non-ecs-schema.json if not available in an integration.
  • min_stack_comments and min_stack_version should be included if the rule is only compatible starting from a specific stack version.
  • index pattern should be neither too specific nor too vague, ensuring it accurately matches the relevant data stream (e.g., use logs-endpoint.process-* for process data).
  • integration should align with the index. If the integration is newly introduced, ensure the manifest, schemas, and new_rule.yaml template are updated.
  • setup should include the necessary steps to configure the integration.
  • note should include any additional information (e.g. Triage and analysis investigation guides, timeline templates).
  • tags should be relevant to the threat and align/added to the EXPECTED_RULE_TAGS in the definitions.py file.
  • threat, techniques, and subtechniques should map to ATT&CK always if possible.

New BBR Rules

  • building_block_type should be included if the rule is a building block and the rule should be located in the rules_building_block folder.
  • bypass_bbr_timing should be included if adding custom lookback timing to the rule.

Testing and Validation

  • Provide evidence of testing and detecting the expected threat.
  • Check for existence of coverage to prevent duplication.

@terrancedejesus
terrancedejesus marked this pull request as ready for review May 18, 2026 13:18
@terrancedejesus
terrancedejesus marked this pull request as draft May 22, 2026 18:19
@terrancedejesus
terrancedejesus marked this pull request as ready for review June 1, 2026 16:57
@terrancedejesus

terrancedejesus commented Jun 1, 2026

Copy link
Copy Markdown
Contributor Author

@bryans3c bryans3c left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approving. Honest path design is solid. Nice job!

Copilot AI review requested due to automatic review settings June 22, 2026 15:41

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new ES|QL detection rule to identify “impossible travel” patterns in Microsoft Entra ID interactive sign-in logs by aggregating sign-ins per user across regions and alerting when implied travel speed and distance exceed configured thresholds.

Changes:

  • Introduces a new Azure integration rule for impossible-travel sign-ins using ES|QL stats + geo distance calculations.
  • Adds a detailed investigation guide, alert suppression, and MITRE ATT&CK mappings for Initial Access and Credential Access.

Comment thread rules/integrations/azure/initial_access_entra_id_signin_impossible_travel.toml Outdated

@django-88 django-88 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice!

@terrancedejesus
terrancedejesus merged commit 4894e96 into main Jul 7, 2026
12 checks passed
@terrancedejesus
terrancedejesus deleted the new-rule/entra-id-impossible-travel-sign-in branch July 7, 2026 13:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants