Attempt to Revoke Okta API Token

Identifies attempts to revoke an Okta API token. An adversary may attempt to revoke or delete an Okta API token to disrupt an organization's business operations.

Elastic rule (View on GitHub)

 1[metadata]
 2creation_date = "2020/05/21"
 3integration = ["okta"]
 4maturity = "production"
 5updated_date = "2024/12/09"
 6min_stack_version = "8.15.0"
 7min_stack_comments = "Breaking change at 8.15.0 for the Okta Integration."
 8
 9[rule]
10author = ["Elastic"]
11description = """
12Identifies attempts to revoke an Okta API token. An adversary may attempt to revoke or delete an Okta API token to
13disrupt an organization's business operations.
14"""
15false_positives = [
16    """
17    If the behavior of revoking Okta API tokens is expected, consider adding exceptions to this rule to filter false
18    positives.
19    """,
20]
21index = ["filebeat-*", "logs-okta*"]
22language = "kuery"
23license = "Elastic License v2"
24name = "Attempt to Revoke Okta API Token"
25note = """## Triage and analysis
26
27### Investigating Attempt to Revoke Okta API Token
28
29The rule alerts when attempts are made to revoke an Okta API token. The API tokens are critical for integration services, and revoking them may lead to disruption in services. Therefore, it's important to validate these activities.
30
31#### Possible investigation steps:
32- Identify the actor associated with the API token revocation attempt. You can use the `okta.actor.alternate_id` field for this purpose.
33- Determine the client used by the actor. Review the `okta.client.device`, `okta.client.ip`, `okta.client.user_agent.raw_user_agent`, `okta.client.ip_chain.ip`, and `okta.client.geographical_context` fields.
34- Verify if the API token revocation was authorized or part of some planned activity.
35- Check the `okta.outcome.result` and `okta.outcome.reason` fields to see if the attempt was successful or failed.
36- Analyze the past activities of the actor involved in this action. An actor who usually performs such activities may indicate a legitimate reason.
37- Evaluate the actions that happened just before and after this event. It can help understand the full context of the activity.
38
39### False positive analysis:
40- It might be a false positive if the action was part of a planned activity or was performed by an authorized person.
41
42### Response and remediation:
43- If unauthorized revocation attempts are confirmed, initiate the incident response process.
44- Block the IP address or device used in the attempts, if they appear suspicious.
45- Reset the user's password and enforce MFA re-enrollment, if applicable.
46- Conduct a review of Okta policies and ensure they are in accordance with security best practices.
47- If the revoked token was used for critical integrations, coordinate with the relevant team to minimize the impact.
48
49## Setup
50
51The Okta Fleet integration, Filebeat module, or similarly structured data is required to be compatible with this rule.
52"""
53references = [
54    "https://developer.okta.com/docs/reference/api/system-log/",
55    "https://developer.okta.com/docs/reference/api/event-types/",
56    "https://www.elastic.co/security-labs/testing-okta-visibility-and-detection-dorothy",
57    "https://www.elastic.co/security-labs/monitoring-okta-threats-with-elastic-security",
58    "https://www.elastic.co/security-labs/starter-guide-to-understanding-okta",
59]
60risk_score = 21
61rule_id = "676cff2b-450b-4cf1-8ed2-c0c58a4a2dd7"
62severity = "low"
63tags = ["Use Case: Identity and Access Audit", "Data Source: Okta", "Tactic: Impact"]
64timestamp_override = "event.ingested"
65type = "query"
66
67query = '''
68event.dataset:okta.system and event.action:system.api_token.revoke
69'''
70
71
72[[rule.threat]]
73framework = "MITRE ATT&CK"
74[[rule.threat.technique]]
75id = "T1531"
76name = "Account Access Removal"
77reference = "https://attack.mitre.org/techniques/T1531/"
78
79
80[rule.threat.tactic]
81id = "TA0040"
82name = "Impact"
83reference = "https://attack.mitre.org/tactics/TA0040/"

Triage and analysis

Investigating Attempt to Revoke Okta API Token

The rule alerts when attempts are made to revoke an Okta API token. The API tokens are critical for integration services, and revoking them may lead to disruption in services. Therefore, it's important to validate these activities.

Possible investigation steps:

  • Identify the actor associated with the API token revocation attempt. You can use the okta.actor.alternate_id field for this purpose.
  • Determine the client used by the actor. Review the okta.client.device, okta.client.ip, okta.client.user_agent.raw_user_agent, okta.client.ip_chain.ip, and okta.client.geographical_context fields.
  • Verify if the API token revocation was authorized or part of some planned activity.
  • Check the okta.outcome.result and okta.outcome.reason fields to see if the attempt was successful or failed.
  • Analyze the past activities of the actor involved in this action. An actor who usually performs such activities may indicate a legitimate reason.
  • Evaluate the actions that happened just before and after this event. It can help understand the full context of the activity.

False positive analysis:

  • It might be a false positive if the action was part of a planned activity or was performed by an authorized person.

Response and remediation:

  • If unauthorized revocation attempts are confirmed, initiate the incident response process.
  • Block the IP address or device used in the attempts, if they appear suspicious.
  • Reset the user's password and enforce MFA re-enrollment, if applicable.
  • Conduct a review of Okta policies and ensure they are in accordance with security best practices.
  • If the revoked token was used for critical integrations, coordinate with the relevant team to minimize the impact.

Setup

The Okta Fleet integration, Filebeat module, or similarly structured data is required to be compatible with this rule.

References

Related rules

to-top