AnalysisType: rule
Filename: box_new_login.py
RuleID: "Box.New.Login"
DisplayName: "Box New Login"
Enabled: true
LogTypes:
- Box.Event
Tags:
- Box
- Initial Access:Valid Accounts
Reports:
MITRE ATT&CK:
- TA0001:T1078
Severity: Info
CreateAlert: false
Description: >
A user logged in from a new device.
Reference: https://support.box.com/hc/en-us/articles/360043691914-Controlling-Devices-Used-to-Access-Box
Runbook: >
Investigate whether this is a valid user login.
SummaryAttributes:
- ip_address
Tests:
- Name: Regular Event
ExpectedResult: false
Log:
{
"type": "event",
"additional_details": '{"key": "value"}',
"created_by":
{
"id": "12345678",
"type": "user",
"login": "cat@example",
"name": "Bob Cat",
},
"event_type": "DELETE",
}
- Name: New Login Event
ExpectedResult: true
Log:
{
"type": "event",
"additional_details": '{"key": "value"}',
"created_by":
{
"id": "12345678",
"type": "user",
"login": "cat@example",
"name": "Bob Cat",
},
"event_type": "ADD_LOGIN_ACTIVITY_DEVICE",
"source": { "id": "12345678", "type": "user", "login": "user@example" },
}
# ------ paired body: box_new_login.py ------
def rule(event):
# ADD_LOGIN_ACTIVITY_DEVICE
# detect when a user logs in from a device not previously seen
return event.get("event_type") == "ADD_LOGIN_ACTIVITY_DEVICE"
def title(event):
return (
f"User [{event.deep_get('created_by', 'name', default='<UNKNOWN_USER>')}] "
f"logged in from a new device."
)