AnalysisType: rule
Filename: zoom_operation_passcode_disabled.py
RuleID: "Zoom.PasscodeDisabled"
DisplayName: "Zoom Meeting Passcode Disabled"
Enabled: true
LogTypes:
- Zoom.Operation
Tags:
- Zoom
- Collection:Video Capture
Severity: Low
Description: >
Meeting passcode requirement has been disabled from usergroup
Reports:
MITRE ATT&CK:
- TA0009:T1125
Reference: https://support.zoom.us/hc/en-us/articles/360033559832-Zoom-Meeting-and-Webinar-passcodes
Runbook: >
Follow up with user or Zoom admin to ensure this meeting room's use case does not allow a passcode.
SummaryAttributes:
- p_any_emails
Tests:
- Name: Meeting Passcode Disabled
ExpectedResult: true
Log:
{
"time": "2021-11-17 00:37:24Z",
"operator": "homer@panther.io",
"category_type": "User Group",
"action": "Update",
"operation_detail": "Edit Group Springfield - Personal Meeting ID (PMI) Passcode: from On to Off",
"p_log_type": "Zoom.Operation",
}
- Name: Meeting Passcode Enabled
ExpectedResult: false
Log:
{
"time": "2021-11-17 00:37:24Z",
"operator": "homer@panther.io",
"category_type": "User Group",
"action": "Update",
"operation_detail": "Edit Group Springfield - Personal Meeting ID (PMI) Passcode: from Off to On",
"p_log_type": "Zoom.Operation",
}
- Name: Add User Group
ExpectedResult: false
Log:
{
"time": "2021-11-17 00:37:24Z",
"operator": "homer@panther.io",
"category_type": "User Group",
"action": "Add",
"operation_detail": "Add Group Engineers",
"p_log_type": "Zoom.Operation",
}
# ------ paired body: zoom_operation_passcode_disabled.py ------
from panther_zoom_helpers import get_zoom_usergroup_context as get_context
def rule(event):
if event.get("category_type") != "User Group":
return False
context = get_context(event)
changed = "Passcode" in context.get("Change", "")
disabled = context.get("DisabledSetting", False)
return changed and disabled
def title(event):
context = get_context(event)
return f"Group {context['GroupName']} passcode requirement disabled by {event.get('operator')}"