27 1 week ago

The First Filipino Defender’s AI for Blue Team, SOC, DFIR, and Threat Intelligence — hardened for v5, precise in action, and built to defend.

tools
[{"role":"user","content":"SOC workbook item 1880: triage and detection plan for OAuth consent grant with risky scopes affecting Azure tenant in a energy environment. Use Microsoft Sentinel KQL."},{"role":"assistant","content":"**Assessment:** Treat as **High** until validated. The signal is **OAuth consent grant with risky scopes** on **Azure tenant**, mapped to MITRE ATT\u0026CK **T1528 Steal Application Access Token**.\r\n\r\n**Evidence to verify:** collect raw events from **Microsoft 365 / Entra ID AuditLogs**, host/user identity, source and destination, exact timestamp/timezone, correlation ID, and related EDR/network/identity logs within ±30 minutes.\r\n\r\n**Triage workflow:**\r\n1. Confirm the alert is based on raw telemetry, not only a summarized dashboard.\r\n2. Review **app publisher, granted scopes, consenting user, admin consent status, and sign-ins after grant**.\r\n3. Baseline against normal behavior for that user, host, business unit, and maintenance window.\r\n4. Hunt for follow-on activity: privilege changes, suspicious child processes, lateral movement, new persistence, data staging, or unusual outbound traffic.\r\n5. Set disposition: benign, false positive, policy violation, compromised account, compromised endpoint, or needs escalation.\r\n\r\n**Containment if suspicious:** preserve evidence, isolate confirmed compromised endpoints only when justified, revoke active sessions/tokens, rotate exposed credentials, and block confirmed indicators with expiry notes.\r\n\r\n**Common false positives:** approved business SaaS integration with verified publisher. Include the evidence used to rule these in or out.\r\n\r\n\r\nHere is a **starter defensive detection** for **OAuth consent grant with risky scopes** in **Microsoft Sentinel KQL**. Run it in hunt/audit mode first.\r\n\r\n```kusto\r\n// Starter hunt: OAuth consent grant with risky scopes across cloud/audit style logs\r\nunion isfuzzy=true AuditLogs, SigninLogs, AWSCloudTrail\r\n| where TimeGenerated \u003e ago(24h)\r\n| where OperationName has_any (\"Consent to application\", \"OAuth\") or ActivityDispla …[truncated]"},{"role":"user","content":"Need concise status report: ransomware containment without paying, audience helpdesk."},{"role":"assistant","content":"**Status update for helpdesk: ransomware containment without paying**\r\n\r\n**Current state:** investigation is active. Confirmed facts are separated from assumptions.\r\n\r\n**Known impact:** list affected users/assets, business services, time window, and data/systems involved. If unknown, state what evidence is pending.\r\n\r\n**Actions completed:** containment, account/session controls, endpoint isolation if any, blocks applied, evidence preserved, and monitoring added.\r\n\r\n**Risks/decisions:** identify operational impact, legal/privacy considerations, customer/vendor communication, and approvals needed.\r\n\r\n**Next update:** provide ETA or trigger for the next update, plus owners for investigation, recovery, and communications."},{"role":"user","content":"May user-agent IOC from high confidence; paano gawing actionable CTI?"},{"role":"assistant","content":"**CTI handling for IP reported in malware sandbox:** classify this as **high confidence** until validated. Indicator type: **user-agent**.\r\n\r\n**Source evaluation:** identify the original source, collection date, TLP/sharing restrictions, whether the indicator is first-party, partner-provided, vendor-derived, or unverified OSINT.\r\n\r\n**Enrichment:** check passive DNS, registrar/certificate history, malware sandbox summaries, URL/domain reputation, internal SIEM sightings, affected sector reporting, and whether the infrastructure is shared or dedicated.\r\n\r\n**Analytic judgment:** separate IOC facts from actor attribution. Use confidence language and expiry dates. Prefer TTP-based hunts when infrastructure confidence is low.\r\n\r\n**Actioning:** high-confidence indicators can become temporary blocks or detections. Medium-confidence items are better for hunts. Low-confidence items belong in watchlists with review dates.\r\n\r\n**Deliverable:** a short intel note with relevance, confidence, ATT\u0026CK behavior if known, recommended hunts, and owner for follow-up."},{"role":"user","content":"SOC workbook item 375: triage and detection plan for Cloud access key created for dormant user affecting CI/CD cloud workspace in a BPO environment. Use Splunk SPL."},{"role":"assistant","content":"**Assessment:** Treat as **Low** until validated. The signal is **Cloud access key created for dormant user** on **CI/CD cloud workspace**, mapped to MITRE ATT\u0026CK **T1098.001 Additional Cloud Credentials**.\r\n\r\n**Evidence to verify:** collect raw events from **AWS CloudTrail / Azure AuditLogs**, host/user identity, source and destination, exact timestamp/timezone, correlation ID, and related EDR/network/identity logs within ±30 minutes.\r\n\r\n**Triage workflow:**\r\n1. Confirm the alert is based on raw telemetry, not only a summarized dashboard.\r\n2. Review **actor, target user, key age, last login, IP reputation, and immediate API activity**.\r\n3. Baseline against normal behavior for that user, host, business unit, and maintenance window.\r\n4. Hunt for follow-on activity: privilege changes, suspicious child processes, lateral movement, new persistence, data staging, or unusual outbound traffic.\r\n5. Set disposition: benign, false positive, policy violation, compromised account, compromised endpoint, or needs escalation.\r\n\r\n**Containment if suspicious:** preserve evidence, isolate confirmed compromised endpoints only when justified, revoke active sessions/tokens, rotate exposed credentials, and block confirmed indicators with expiry notes.\r\n\r\n**Common false positives:** approved automation onboarding or key rotation with ticket. Include the evidence used to rule these in or out.\r\n\r\n\r\nHere is a **starter defensive detection** for **Cloud access key created for dormant user** in **Splunk SPL**. Run it in hunt/audit mode first.\r\n\r\n```spl\r\nindex=* (\"CreateAccessKey\")\r\n| bin _time span=15m\r\n| stats count as event_count values(host) as hosts values(user) as users values(src_ip) as src_ip by _time\r\n| where event_count \u003e= 3\r\n| sort - event_count\r\n```\r\n\r\n**Validation fields:** actor, target user, key age, last log …[truncated]"}]