Entra ID Kali365 Default User-Agent Detected
Description
Identifies the default user agent string associated with Kali365 (also referred to as Kali365 Live), a
phishing-as-a-service (PhaaS) platform that automates OAuth 2.0 device code phishing and adversary-in-the-middle (AiTM)
session capture against Microsoft 365 and Microsoft Entra ID. The Kali365 Electron desktop client identifies itself with
the user agent kali365-live/1.0.0 when polling for and replaying captured OAuth tokens, so its appearance in Entra ID
sign-in logs, Entra ID audit logs, or the Microsoft 365 unified audit log indicates that an attacker-controlled Kali365
client is interacting with the tenant using stolen tokens. Unlike dual-use offensive tooling, Kali365 is a criminal
service with no legitimate enterprise use, making this user agent a high-fidelity indicator of active account
compromise.
Query · kuery
data_stream.dataset : ("azure.signinlogs" or "azure.auditlogs" or "o365.audit") and user_agent.original: kali365-live/*
Known false positives
- Security researchers, sandbox detonations, or red team engagements that intentionally run the Kali365 client against a monitored tenant may generate this user agent. Document approved research activity and exclude the associated principals, source IPs, or tenants if expected.
Analyst notes
Investigating Entra ID Kali365 Default User-Agent Detected
Kali365 (Kali365 Live) is a phishing-as-a-service platform distributed via Telegram that provides affiliates with AI-generated lures, automated device code phishing campaigns, target-tracking dashboards, and OAuth token capture. The typical flow is: a lure delivers a Microsoft device code, the victim enters it on the legitimate Microsoft verification page and unknowingly authorizes the attacker, Kali365 captures the resulting OAuth access and refresh tokens, and the attacker uses those tokens for persistent, MFA-free access to Microsoft 365 (Outlook, Teams, OneDrive).
The Kali365 desktop client presents the user agent kali365-live/1.0.0. This rule fires when that user agent is observed
in Entra ID sign-in logs, Entra ID audit logs, or the Microsoft 365 unified audit log. Because the user agent maps to a
criminal service with no legitimate use, an alert generally indicates that stolen tokens are already being replayed
against the tenant.
Possible investigation steps
- Confirm the tool and identify the affected identity.
user_agent.originalmatcheskali365-live/*.- Pivot on
user.name,azure.signinlogs.properties.user_principal_name, or the M365 audituser.id.
- Review the origin and compare against the user's normal sign-in behavior.
source.ip,source.geo.*, andsource.as.organization.name; flag hosting/VPS ASNs and unexpected geographies.- Cross-reference published Kali365 infrastructure (
216.203.20.95,162.243.166.119,199.91.220.111).
- Confirm the device code grant in sign-in logs.
azure.signinlogs.properties.authentication_protocolisdeviceCode.- Review
app_id/app_display_nameandresource_display_namefor the brokered mail or collaboration API.
- Scope follow-on access in the Microsoft 365 unified audit log for the same user and timeframe.
- Look for mailbox access, inbox rule creation, OneDrive/SharePoint downloads, or Teams activity from the same session or IP.
- Check the Entra ID audit log for a device registration by the same identity around the alert window.
- A
Register deviceevent by the identity paired (viaazure.correlation_id) with anAdd deviceevent from theDevice Registration Serviceindicates a Primary Refresh Token (PRT) was issued for persistence that survives password resets.
- A
False positive analysis
- This user agent has no legitimate enterprise use.
- The only expected matches are authorized security research or red team exercises running the Kali365 client; validate and document before dismissing.
Response and remediation
- Remove rogue device registrations created by the user BEFORE revoking sessions.
- Device-bound PRTs survive
revokeSignInSessions, so a device left in place re-establishes access. GET /v1.0/users/{id}/registeredDevicesand/ownedDevices, thenDELETE /v1.0/devices/{deviceObjectId}for unrecognized devices.
- Device-bound PRTs survive
- Revoke refresh tokens and sessions, then reset credentials and re-register MFA.
POST /v1.0/users/{id}/revokeSignInSessions.
- Temporarily disable the account if you need to halt activity during investigation.
PATCH /v1.0/users/{id}with body{"accountEnabled": false}.
- Remove other attacker persistence: malicious inbox/forwarding rules, OAuth consents, and app passwords.
- Block or monitor Kali365 source IPs and infrastructure, and hunt for the user agent across other users and tenants.
- Apply Conditional Access to the device code grant.
- Require a managed/compliant device, or block the device-code flow outside approved app and user populations.