Skip to content

Commit 6a97f83

Browse files
imays11tradebot-elastic
authored andcommitted
[Tuning] SDH - Investigating MFA Deactivation with no Re-Activation for Okta User Account (#4986)
* [Tuning] SDH - Investigating MFA Deactivation with no Re-Activation for Okta User Account This tuning addresses SDH ticket by: - replacing sequence by `okta.actor.id` with `okta.target.id` in query. This will ensure the deactivation and activation attempts are measured against the target entity. To account for instances where separate users (okta.actor.id) perform deactivation and activation actions against the same target account (okta.target.id) - Adjusts the investigation guide to use correct target vs. actor fields * add actor and target id fields to investigation guide Co-authored-by: Terrance DeJesus <[email protected]> --------- Co-authored-by: Terrance DeJesus <[email protected]> (cherry picked from commit b7de4f5)
1 parent b06ee79 commit 6a97f83

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

rules/integrations/okta/persistence_mfa_deactivation_with_no_reactivation.toml

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
creation_date = "2020/05/20"
33
integration = ["okta"]
44
maturity = "production"
5-
updated_date = "2025/07/02"
5+
updated_date = "2025/08/15"
66

77
[rule]
88
author = ["Elastic"]
@@ -33,11 +33,12 @@ This rule fires when an Okta user account has MFA deactivated and no subsequent
3333
3434
#### Possible investigation steps:
3535
36-
- Identify the actor related to the alert by reviewing `okta.actor.alternate_id` field in the alert. This should give the username of the account being targeted.
37-
- Review `okta.target` or `user.target.full_name` fields to determine if deactivation was performed by a se parate user.
38-
- Using the `okta.actor.alternate_id` field, search for MFA re-activation events where `okta.event_type` is `user.mfa.factor.activate`.
39-
- Review events where `okta.event_type` is `user.authenticate*` to determine if the user account had suspicious login activity.
36+
- Identify the entity related to the alert by reviewing `okta.target.alternate_id`, `okta.target.id` or `user.target.full_name` fields. This should give the username of the account being targeted. Verify if MFA is deactivated for the target entity.
37+
- Using the `okta.target.alternate_id` field, search for MFA re-activation events where `okta.event_type` is `user.mfa.factor.activate`. Note if MFA re-activation attempts were made against the target.
38+
- Identify the actor performing the deactivation by reviewing `okta.actor.alternate_id`, `okta.actor.id` or `user.full_name` fields. This should give the username of the account performing the action. Determine if deactivation was performed by a separate user.
39+
- Review events where `okta.event_type` is `user.authenticate*` to determine if the actor or target accounts had suspicious login activity.
4040
- Geolocation details found in `client.geo*` related fields may be useful in determining if the login activity was suspicious for this user.
41+
- Examine related administrative activity by the actor for privilege misuse or suspicious changes.
4142
4243
#### False positive steps:
4344
@@ -75,7 +76,7 @@ tags = [
7576
type = "eql"
7677

7778
query = '''
78-
sequence by okta.actor.id with maxspan=12h
79+
sequence by okta.target.id with maxspan=12h
7980
[any where event.dataset == "okta.system" and okta.event_type in ("user.mfa.factor.deactivate", "user.mfa.factor.reset_all")
8081
and okta.outcome.reason != "User reset SECURITY_QUESTION factor" and okta.outcome.result == "SUCCESS"]
8182
![any where event.dataset == "okta.system" and okta.event_type == "user.mfa.factor.activate"]

0 commit comments

Comments
 (0)