Entra ID Phishing Kit Default OS Build (Entity Analytics)
Identifies the first occurrence of a Microsoft Entra ID device, surfaced through the Entra ID Entity Analytics device
inventory, whose host name follows the default "DESKTOP-" pattern and whose operating system build is "10.0.19045.2006".
This is the frozen default device profile observed when adversary-in-the-middle (AiTM) phishing kits such as Tycoon2FA
and Kali365 register Azure AD-joined devices after capturing a victim session, in order to acquire a Primary Refresh
Token (PRT) and establish persistence. The build is hardcoded by the tooling and differs from legitimate hosts: a
patched Windows 10 22H2 device reports a far higher "10.0.19045.
Elastic rule (View on GitHub)
1[metadata]
2creation_date = "2026/06/29"
3integration = ["entityanalytics_entra_id"]
4maturity = "production"
5updated_date = "2026/06/29"
6
7[rule]
8author = ["Elastic"]
9description = """
10Identifies the first occurrence of a Microsoft Entra ID device, surfaced through the Entra ID Entity Analytics device
11inventory, whose host name follows the default "DESKTOP-" pattern and whose operating system build is "10.0.19045.2006".
12This is the frozen default device profile observed when adversary-in-the-middle (AiTM) phishing kits such as Tycoon2FA
13and Kali365 register Azure AD-joined devices after capturing a victim session, in order to acquire a Primary Refresh
14Token (PRT) and establish persistence. The build is hardcoded by the tooling and differs from legitimate hosts: a
15patched Windows 10 22H2 device reports a far higher "10.0.19045.<revision>" value, so a device frozen at ".2006" with a
16default name is a high-fidelity, though evadable, indicator.
17"""
18false_positives = [
19 """
20 Unmanaged or never-patched Windows 10 22H2 hosts may legitimately report the `10.0.19045.2006` build with a default
21 "DESKTOP-" host name. Validate against your device inventory and patch baseline before escalating.
22 """,
23 """
24 Authorized red team or penetration testing engagements that register devices with this OS profile will appear in the
25 device inventory and match this rule. If this is expected, add exceptions for the specific host names or device IDs.
26 """,
27]
28from = "now-6h"
29index = ["logs-entityanalytics_entra_id.device-*"]
30interval = "1h"
31language = "kuery"
32license = "Elastic License v2"
33name = "Entra ID Phishing Kit Default OS Build (Entity Analytics)"
34note = """## Triage and analysis
35
36### Investigating Entra ID Phishing Kit Default OS Build (Entity Analytics)
37
38AiTM phishing kits including Tycoon2FA and Kali365 register a device in Entra ID with a frozen default operating system build of `10.0.19045.2006` and a default name of `DESKTOP-<random characters>`. This build is hardcoded by the tooling and differs from the OS version of legitimate, patched hosts (a current Windows 10 22H2 device reports a much higher `10.0.19045.<revision>` value), making the build a useful indicator of kit-driven device registration. This rule runs against the Entra ID Entity Analytics device inventory and fires the first time a device matching this fingerprint appears, so an alert generally represents a newly observed rogue device rather than a real-time registration event. Rogue device registration is typically a precursor to Primary Refresh Token (PRT) acquisition, MFA/Conditional Access bypass, and persistent token-based access.
39
40### Possible investigation steps
41
42- Confirm the device identity via `host.name`, `host.os.version`, `entityanalytics_entra_id.device.display_name`, and `entityanalytics_entra_id.device.id` (or `device.id`). Default `DESKTOP-` names that do not match your naming convention are suspicious; kit-registered names are commonly `DESKTOP-` followed by 6 alphanumeric (Tycoon2FA) or 6 hexadecimal (Kali365) characters.
43- Review `entityanalytics_entra_id.device.registration_date_time` and `entityanalytics_entra_id.device.trust_type` to establish when and how the device was registered; kit devices are typically `AzureAd` joined.
44- Identify the registered owner via `entityanalytics_entra_id.device.registered_owners.user_principal_name` and determine whether that user is expected to register a new device.
45- Check `entityanalytics_entra_id.device.is_managed` and `entityanalytics_entra_id.device.is_compliant`; kit-registered devices are typically unmanaged and non-compliant.
46- Pivot to `logs-azure.auditlogs-*` for the corresponding `Add device` and `Register device` events (initiated by the `Device Registration Service` via the `Microsoft Authentication Broker`). Inspect the `Register device` user agent, which is frequently a spoofed `Dsreg/10.0 (Windows 10.0.19045.2006)` string or a raw HTTP client such as `axios/*` or `python-requests/*`.
47- Check whether the same owner registered multiple devices in a short window (a single piece of kit infrastructure registering several devices is common for PRT persistence at scale) and whether the broker was subsequently used to mint tokens for other resources such as Microsoft Graph.
48- Pivot to `logs-azure.signinlogs-*` for sign-ins by the device owner where the incoming token type is a `primaryRefreshToken`.
49
50### False positive analysis
51
52- Unmanaged or never-patched Windows 10 22H2 hosts may legitimately report the `10.0.19045.2006` build with a default `DESKTOP-` host name. Validate against device inventory and patch baseline.
53- Authorized security assessments that register devices with this OS profile will appear in inventory. Document the engagement and add scoped exceptions.
54
55### Response and remediation
56
57- If confirmed malicious, remove the device from Entra ID and revoke the owner's refresh tokens and primary refresh tokens. Remove the device BEFORE revoking sessions, because device-bound PRTs survive `revokeSignInSessions`.
58- Disable the account or reset credentials per policy and review for additional persistence (attacker-registered MFA methods, added owners, app registrations, or service principal credentials).
59- Tighten device registration and join controls via Conditional Access (restrict who can register/join devices and require MFA for registration).
60"""
61references = [
62 "https://any.run/malware-trends/tycoon/",
63 "https://www.huntress.com/blog/kali365-device-code-phishing-kit",
64 "https://any.run/malware-trends/kali365/",
65 "https://arcticwolf.com/resources/blog/token-bingo-dont-let-your-code-be-the-winner/",
66 "https://www.ic3.gov/PSA/2026/PSA260521",
67]
68risk_score = 47
69rule_id = "47f1d35c-8ee2-43c9-9651-90f840a0630f"
70severity = "medium"
71tags = [
72 "Domain: Cloud",
73 "Domain: Identity",
74 "Data Source: Microsoft Entra ID",
75 "Data Source: Microsoft Entra ID Entity Analytics",
76 "Use Case: Asset Visibility",
77 "Use Case: Threat Detection",
78 "Threat: Tycoon2FA",
79 "Threat: Kali365",
80 "Tactic: Persistence",
81 "Resources: Investigation Guide",
82]
83timestamp_override = "event.ingested"
84type = "new_terms"
85
86query = '''
87data_stream.dataset:"entityanalytics_entra_id.device" and
88 event.provider:"Microsoft Entra ID" and
89 host.name:DESKTOP-* and host.os.version:"10.0.19045.2006" and
90 host.id: *
91'''
92
93
94[[rule.threat]]
95framework = "MITRE ATT&CK"
96[[rule.threat.technique]]
97id = "T1098"
98name = "Account Manipulation"
99reference = "https://attack.mitre.org/techniques/T1098/"
100[[rule.threat.technique.subtechnique]]
101id = "T1098.005"
102name = "Device Registration"
103reference = "https://attack.mitre.org/techniques/T1098/005/"
104
105
106
107[rule.threat.tactic]
108id = "TA0003"
109name = "Persistence"
110reference = "https://attack.mitre.org/tactics/TA0003/"
111
112[rule.investigation_fields]
113field_names = [
114 "@timestamp",
115 "host.name",
116 "host.id",
117 "host.os.version",
118 "event.provider",
119 "entityanalytics_entra_id.device.display_name",
120 "entityanalytics_entra_id.device.operating_system",
121 "entityanalytics_entra_id.device.operating_system_version",
122 "entityanalytics_entra_id.device.trust_type",
123 "entityanalytics_entra_id.device.profile_type",
124 "entityanalytics_entra_id.device.is_managed",
125 "entityanalytics_entra_id.device.is_compliant",
126 "entityanalytics_entra_id.device.registration_date_time",
127 "entityanalytics_entra_id.device.registered_owners.user_principal_name",
128 "entityanalytics_entra_id.device.id",
129 "device.id",
130]
131
132[rule.new_terms]
133field = "new_terms_fields"
134value = ["host.id"]
135[[rule.new_terms.history_window_start]]
136field = "history_window_start"
137value = "now-5d"
Triage and analysis
Investigating Entra ID Phishing Kit Default OS Build (Entity Analytics)
AiTM phishing kits including Tycoon2FA and Kali365 register a device in Entra ID with a frozen default operating system build of 10.0.19045.2006 and a default name of DESKTOP-<random characters>. This build is hardcoded by the tooling and differs from the OS version of legitimate, patched hosts (a current Windows 10 22H2 device reports a much higher 10.0.19045.<revision> value), making the build a useful indicator of kit-driven device registration. This rule runs against the Entra ID Entity Analytics device inventory and fires the first time a device matching this fingerprint appears, so an alert generally represents a newly observed rogue device rather than a real-time registration event. Rogue device registration is typically a precursor to Primary Refresh Token (PRT) acquisition, MFA/Conditional Access bypass, and persistent token-based access.
Possible investigation steps
- Confirm the device identity via
host.name,host.os.version,entityanalytics_entra_id.device.display_name, andentityanalytics_entra_id.device.id(ordevice.id). DefaultDESKTOP-names that do not match your naming convention are suspicious; kit-registered names are commonlyDESKTOP-followed by 6 alphanumeric (Tycoon2FA) or 6 hexadecimal (Kali365) characters. - Review
entityanalytics_entra_id.device.registration_date_timeandentityanalytics_entra_id.device.trust_typeto establish when and how the device was registered; kit devices are typicallyAzureAdjoined. - Identify the registered owner via
entityanalytics_entra_id.device.registered_owners.user_principal_nameand determine whether that user is expected to register a new device. - Check
entityanalytics_entra_id.device.is_managedandentityanalytics_entra_id.device.is_compliant; kit-registered devices are typically unmanaged and non-compliant. - Pivot to
logs-azure.auditlogs-*for the correspondingAdd deviceandRegister deviceevents (initiated by theDevice Registration Servicevia theMicrosoft Authentication Broker). Inspect theRegister deviceuser agent, which is frequently a spoofedDsreg/10.0 (Windows 10.0.19045.2006)string or a raw HTTP client such asaxios/*orpython-requests/*. - Check whether the same owner registered multiple devices in a short window (a single piece of kit infrastructure registering several devices is common for PRT persistence at scale) and whether the broker was subsequently used to mint tokens for other resources such as Microsoft Graph.
- Pivot to
logs-azure.signinlogs-*for sign-ins by the device owner where the incoming token type is aprimaryRefreshToken.
False positive analysis
- Unmanaged or never-patched Windows 10 22H2 hosts may legitimately report the
10.0.19045.2006build with a defaultDESKTOP-host name. Validate against device inventory and patch baseline. - Authorized security assessments that register devices with this OS profile will appear in inventory. Document the engagement and add scoped exceptions.
Response and remediation
- If confirmed malicious, remove the device from Entra ID and revoke the owner's refresh tokens and primary refresh tokens. Remove the device BEFORE revoking sessions, because device-bound PRTs survive
revokeSignInSessions. - Disable the account or reset credentials per policy and review for additional persistence (attacker-registered MFA methods, added owners, app registrations, or service principal credentials).
- Tighten device registration and join controls via Conditional Access (restrict who can register/join devices and require MFA for registration).
References
Related rules
- Entra ID Device Registration with Phishing Kit Default OS Build
- Entra ID AiTM Phishing-Kit Chain Detected
- Entra ID Multiple Device Registrations by a Single User
- Entra ID OAuth Device Code Phishing via AiTM
- Entra ID Microsoft Authentication Broker DRS Sign-In from Suspicious ASN