SecOps Module — Security Operations
اقرأ أولاً: ../MASTER_ALL_IN_ONE_SUMMARY.md · ../html/MASTER_ALL_IN_ONE_SUMMARY.html
الدليل الشامل: ../MASTER_ALL_IN_ONE.md · ../html/MASTER_ALL_IN_ONE.html
ممارسة الشاشات: ../html/MASTER_PRACTICE_GUIDE_ALL_TOPICS.html
Australia · Scopex_786686_hr_leave
Australia Instance — نسخة أستراليا
| Setting | Value |
|---|---|
| Region / Datacenter | ServiceNow Australia |
| Release train | Zurich (Sep 2026 EA) · next EA: Brazil |
| URL base | {BASE} |
| Scope note | HR Leave app: x_786686_hr_leave |
| Guided Setup | {BASE}/now/guided-setup |
Direct Navigation URLs — روابط التنقل المباشرة
| Page / Tool | Navigation Path | Direct URL | Purpose |
|---|---|---|---|
| SIR Workspace | Now Experience > Security Incident Response | {BASE}/now/sir/workspace | Security incidents |
| Security Incidents | All > Security Operations > Incidents | {BASE}/sn_si_incident_list.do | SIR records |
| Vulnerabilities | All > Vulnerability Response > Vulnerabilities | {BASE}/sn_vul_vulnerability_list.do | CVE master |
| Vulnerable Items | All > Vulnerability Response > Vulnerable Items | {BASE}/sn_vul_vulnerable_item_list.do | Asset × vuln |
| Threat Intelligence | All > Threat Intelligence > Indicators | {BASE}/sn_ti_indicator_list.do | IoC management |
| Playbooks | All > Process Automation > Playbooks | {BASE}/now/workflow-studio/home | SIR playbooks |
| Config Compliance | All > Configuration Compliance | {BASE}/sn_vul_ctd_test_list.do | CIS/SCAP scans |
| SecOps Dashboard | All > Performance Analytics > SecOps | {BASE}/$pa_dashboard.do | SOC metrics |
| IntegrationHub Spokes | All > IntegrationHub > Spokes | {BASE}/sys_hub_spoke_list.do | SIEM/EDR connectors |
| Guided Setup SecOps | All > Guided Setup | {BASE}/now/guided-setup | Initial configuration |
Platform target: ServiceNow Australia (Sep 2026) · next EA: Brazil
URLs: ../../SERVICENOW_DIRECT_URLS_CATALOG.md · 1-week: ../../SERVICENOW_ONE_WEEK_STUDY_DEPLOY_AUSTRALIA.md
HR Leave: Scope x_786686_hr_leave
وحدة SecOps — عمليات الأمن
Comprehensive guide for ServiceNow Security Operations (SIR + VR + TI + CTD)
دليل شامل لـ ServiceNow Security Operations: الاستجابة للحوادث الأمنية + إدارة الثغرات + ذكاء التهديدات + كشف الإختراق
§1 — Module Overview / نظرة عامة
ServiceNow Security Operations consists of four primary applications:
- SIR — Security Incident Response: incident lifecycle, MITRE ATT&CK, playbooks
- VR — Vulnerability Response: NVD/CVE scanning, prioritization, remediation
- TI — Threat Intelligence: IoC management, threat feeds, STIX/TAXII
- CTD — Configuration Compliance: CIS benchmarks, SCAP scanning — يتكوّن SecOps من 4 تطبيقات: استجابة الحوادث الأمنية (SIR)، إدارة الثغرات (VR)، ذكاء التهديدات (TI)، الالتزام بالإعدادات (CTD).
| Application | Plugin | Key tables |
|---|---|---|
| SIR | com.snc.security_incident | sn_si_incident, sn_si_task |
| VR | com.snc.vulnerability | sn_vul_vulnerable_item, sn_vul_vulnerability |
| TI | com.snc.threat.intel | sn_ti_observable, sn_ti_indicator |
| CTD | com.snc.sn_vul_config_test | sn_vul_ctd_test, sn_vul_ctd_result |
§2 — Architecture Overview / المعمارية
┌────────────────┐ CVE ┌────────────────┐ Asset ┌──────────────┐
│ Qualys/Tenable│──────▶│ VR (sn_vul_) │────────▶│ CMDB (CI) │
└────────────────┘ └────────────────┘ └──────────────┘
│ │ │
▼ ▼ ▼
┌────────────────┐ IoC ┌────────────────┐ Affected ┌──────────────┐
│ Splunk/QRadar │──────▶│ SIR (sn_si_) │──────────▶│ Service Maps │
└────────────────┘ └────────────────┘ └──────────────┘
│ ▲
▼ │
┌────────────────┐ Hunt ┌────────────────┐
│ Threat Feeds │────────▶│ TI (sn_ti_*) │
└────────────────┘ └────────────────┘
§3 — SIR: Security Incident Response
3.1 Lifecycle
Draft → Analysis → Contain → Eradicate → Recover → Review → Closed
3.2 Sources (incident creation)
| Source | Pattern |
|---|---|
| SIEM (Splunk) | Webhook → Scripted REST /api/x_sn_si/v1/incident |
| EDR (CrowdStrike) | Outbound from EDR → Event API |
| Email phishing report | Inbound Email Action |
| Manual reporter | Service Portal page |
| SOC analyst | Workspace direct entry |
3.3 MITRE ATT&CK alignment
Each incident is tagged with:
- Tactic (e.g., Initial Access)
- Technique (e.g., T1566 Phishing)
- Sub-technique (e.g., T1566.001 Spearphishing Attachment)
var SIRMitreTagger = Class.create();
SIRMitreTagger.prototype = {
initialize: function {},
tagIncident: function (incidentSysId, techniqueId) {
var t = new GlideRecord(‘sn_si_mitre_technique’);
if (!t.get(‘technique_id’, techniqueId)) return false;
var link = new GlideRecord(‘sn_si_incident_mitre’);
link.initialize();
link.setValue(‘incident’, incidentSysId);
link.setValue(‘technique’, t.getUniqueValue());
link.setValue(‘tactic’, t.getValue(‘tactic’));
link.insert();
return true;
},
type: ‘SIRMitreTagger’
};
3.4 Playbooks (Process Automation Designer)
Pre-built playbooks ship with SIR:
- Malware investigation
- Phishing response
- Data leak / Insider threat
- Ransomware containment
- Unauthorized access
- Brute force
Each playbook has steps mapped to NIST 800-61r2:
| Step | NIST phase | Actions |
|---|---|---|
| Triage | Detection | Validate, assign severity, MITRE tagging |
| Investigate | Analysis | Enrich IoCs, query SIEM, scope |
| Contain | Containment | Isolate host (EDR), block IP (FW), disable user |
| Eradicate | Eradication | Remove malware, patch, rebuild |
| Recover | Recovery | Restore services, monitor |
| Lessons Learned | Post-incident | KB, RCA, playbook refinement |
3.5 Automated containment script
// Triggered when severity >= high → call EDR to isolate
(function (current, previous) {
if (current.severity.changes() &&
parseInt(current.getValue('severity'), 10) <= 2) {
var affected = new GlideRecord('sn_si_m2m_ci_incident');
affected.addQuery('incident', current.getUniqueValue());
affected.query();
while (affected.next()) {
var ci = affected.getValue('configuration_item');
new SIRContainer().isolateHost(ci);
}
}
})(current, previous);
var SIRContainer = Class.create();
SIRContainer.prototype = {
initialize: function {},
isolateHost: function (ciSysId) {
var ci = new GlideRecord(‘cmdb_ci’);
if (!ci.get(ciSysId)) return false;
var hostName = ci.getValue(‘name’);
var rm = new sn_ws.RESTMessageV2(‘CrowdStrikeEDR’, ‘isolateHost’);
rm.setStringParameter(‘hostname’, hostName);
rm.setHttpTimeout(30000);
try {
var resp = rm.execute();
var status = resp.getStatusCode();
if (status >= 200 && status < 300) {
gs.eventQueue(‘x_sn_si.host.isolated’, ci, hostName);
return true;
}
gs.error(‘[SIR] Isolate failed for ’ + hostName + ’ status=’ + status);
} catch (e) {
gs.error(‘[SIR] Isolate exception: ’ + e.message);
}
return false;
},
type: ‘SIRContainer’
};
3.6 SIR Analyst Workspace
/now/sir/agent — provides:
- Incident inbox with priority filter
- MITRE ATT&CK heatmap
- IoC enrichment panel
- Playbook execution status
- Affected CIs map
- Timeline (forensic view)
- Tasks board
§4 — VR: Vulnerability Response
4.1 Data flow
Scanner (Qualys) → Import Set → Transform → sn_vul_vulnerability + sn_vul_vulnerable_item → CMDB CI link
4.2 Vulnerability prioritization
Default formula: CVSS × Asset Criticality × Exploit Availability × Business Impact
var VRPrioritizer = Class.create();
VRPrioritizer.prototype = {
initialize: function {},
/* Computes priority 1 (Critical) to 5 (Info) /
prioritize: function (viSysId) {
var vi = new GlideRecord(‘sn_vul_vulnerable_item’);
if (!vi.get(viSysId)) return 5;
var cvss = parseFloat(vi.getValue(‘vulnerability.base_score’)) || 0;
var ciCrit = this._ciCriticality(vi.getValue(‘cmdb_ci’));
var exploit = this._exploitAvailable(vi.getValue(‘vulnerability.cve_id’));
var biz = this._businessImpact(vi.getValue(‘cmdb_ci’));
var score = (cvss * 0.4) + (ciCrit * 0.25) + (exploit * 0.2) + (biz * 0.15);
var prio = score >= 8 ? 1 : (score >= 6 ? 2 : (score >= 4 ? 3 :
(score >= 2 ? 4 : 5)));
vi.setValue(‘risk_score’, score.toFixed(1));
vi.setValue(‘priority’, prio);
vi.update();
return prio;
},
_ciCriticality: function (ciId) {
var c = new GlideRecord(‘cmdb_ci’);
if (!c.get(ciId)) return 5;
var bizCrit = c.getValue(‘business_criticality’);
var map = { ‘1 - most critical’: 10, ‘2 - somewhat critical’: 7,
‘3 - less critical’: 4, ‘4 - not critical’: 2 };
return map[bizCrit] || 5;
},
_exploitAvailable: function (cve) {
var fb = new GlideRecord(‘sn_vul_third_party_entry’);
fb.addQuery(‘cve_id’, cve);
fb.addQuery(‘exploit_status’, ‘available’);
fb.setLimit(1);
fb.query();
return fb.hasNext() ? 10 : 0;
},
_businessImpact: function (ciId) {
var s = new GlideAggregate(‘cmdb_ci_service_auto’);
s.addQuery(‘cmdb_ci_dependents’, ciId);
s.addAggregate(‘COUNT’);
s.query();
if (s.next()) {
var n = parseInt(s.getAggregate(‘COUNT’), 10);
return Math.min(10, n);
}
return 0;
},
type: ‘VRPrioritizer’
};
4.3 Auto-remediation workflows
| Vulnerability type | Auto-action |
|---|---|
| Missing patch | Create Change Request, link to SCCM/BigFix |
| Misconfiguration | Run Ansible playbook |
| Outdated library | Open dev ticket with fix version |
| Default credentials | Force password reset, raise SIR |
| Public S3 bucket | Run lambda to set ACL → Block public |
4.4 SLA on remediation by priority
| Priority | SLA |
|---|---|
| 1 (Critical) | 7 days |
| 2 (High) | 30 days |
| 3 (Medium) | 90 days |
| 4 (Low) | 180 days |
| 5 (Info) | Best effort |
4.5 Patch group orchestration
// Group VIs by patch ID → bulk Change
(function bulkChange() {
var agg = new GlideAggregate('sn_vul_vulnerable_item');
agg.addQuery('state', 'open');
agg.addQuery('priority', 'IN', '1,2');
agg.addAggregate('COUNT');
agg.groupBy('vulnerability.patch_id');
agg.query();
while (agg.next()) {
var patchId = agg.getValue(‘vulnerability.patch_id’);
if (!patchId) continue;
var count = parseInt(agg.getAggregate(‘COUNT’), 10);
if (count >= 5) {
var chg = new GlideRecord(‘change_request’);
chg.initialize();
chg.setValue(‘short_description’, ‘Apply patch ’ + patchId +
’ to ’ + count + ’ affected systems’);
chg.setValue(‘category’, ‘security’);
chg.setValue(‘priority’, 2);
chg.setValue(‘risk’, ‘moderate’);
chg.insert();
}
}
})();
§5 — TI: Threat Intelligence
5.1 Sources (TAXII feeds)
| Provider | Type |
|---|---|
| AlienVault OTX | Open community |
| MISP | Custom org feed |
| Recorded Future | Premium |
| Mandiant | Premium APT |
| FBI InfraGard | Sector-specific |
5.2 Observable types
- IP, Domain, URL, Hash (MD5/SHA1/SHA256), Email, File path, Registry key, Mutex, User agent
5.3 IoC enrichment
var TIEnricher = Class.create();
TIEnricher.prototype = {
initialize: function {},
enrich: function (observableValue, type) {
var results = {};
if (type === ‘ip’) {
results.geoip = this._geo(observableValue);
results.virustotal = this._vt(observableValue, ‘ip’);
results.greynoise = this._gn(observableValue);
} else if (type === ‘hash’) {
results.virustotal = this._vt(observableValue, ‘file’);
} else if (type === ‘url’) {
results.urlhaus = this._urlhaus(observableValue);
}
return results;
},
_vt: function (val, kind) {
var rm = new sn_ws.RESTMessageV2(‘VirusTotal’, kind === ‘ip’ ?
‘lookupIP’ : ‘lookupHash’);
rm.setStringParameter(‘ioc’, val);
var resp = rm.execute();
return JSON.parse(resp.getBody() || ‘{}’);
},
_geo: function (ip) { / maxmind / return {}; },
_gn: function (ip) { / greynoise / return {}; },
_urlhaus: function (u) { / urlhaus / return {}; },
type: ‘TIEnricher’
};
5.4 Threat hunt: IoC sweep across the estate
function huntIoC(observableValue, observableType) {
var findings = [];
if (observableType === ‘ip’) {
// Search active sessions / firewall logs / SIEM
var siem = new sn_ws.RESTMessageV2(‘Splunk’, ‘searchIoC’);
siem.setStringParameter(‘ioc’, observableValue);
siem.setHttpTimeout(60000);
var resp = JSON.parse(siem.execute().getBody() || ‘{}’);
if (resp.results && resp.results.length > 0) {
resp.results.forEach(function (hit) {
findings.push({ source: ‘siem’, host: hit.host, time: hit.time });
});
}
} else if (observableType === ‘hash’) {
// Check EDR for file presence
var edr = new sn_ws.RESTMessageV2(‘CrowdStrikeEDR’, ‘searchHash’);
edr.setStringParameter(‘hash’, observableValue);
var edrResp = JSON.parse(edr.execute().getBody() || ‘{}’);
(edrResp.devices || []).forEach(function (d) {
findings.push({ source: ‘edr’, host: d.hostname, time: d.last_seen });
});
}
return findings;
}
§6 — CTD: Configuration Compliance
6.1 SCAP / CIS benchmarks
CTD imports SCAP results (OpenSCAP, Tenable Compliance Scan, Qualys PC):
Test → Result (pass|fail) → Vulnerability (per failing CI) → Remediation
6.2 Auto-remediation via Orchestration
Failing CIS test → run Ansible playbook (or Chef/Puppet) → re-test.
§7 — Integration Quick Reference
| External | Method | ServiceNow target |
|---|---|---|
| Splunk SIEM | Webhook | Scripted REST → SIR incident |
| QRadar | TAXII/Custom Action | SIR + IoC ingest |
| Qualys VM | IH Spoke | VR import |
| Tenable.io | IH Spoke | VR import |
| Rapid7 | IH Spoke | VR import |
| CrowdStrike Falcon | REST | SIR enrichment + isolation |
| Carbon Black | REST | SIR enrichment |
| Cisco SecureX | REST | SIR enrichment |
| MS Defender | Graph API | SIR + VR |
| Palo Alto Firewall | REST | Block IP |
| Active Directory | LDAP / Graph | Disable user |
| MISP / OTX | TAXII | TI feeds |
§8 — Reports & Dashboards
| Dashboard | Audience | Key KPIs |
|---|---|---|
| SOC Manager | Daily ops | Mean Time to Detect (MTTD), MTTR, open by priority |
| CISO Executive | Monthly | Risk posture, top assets at risk, trend |
| Vulnerability Owner | Weekly | Open VIs by team, SLA breaches |
| Threat Intel | Weekly | Top IoCs hit, feeds health |
| Compliance | Quarterly | Benchmark pass %, controls aligned |
§17 — Power User Playbook (SecOps)
17.1 Personas
| Persona | Primary actions |
|---|---|
| SOC Analyst T1 | Triage, alert validation, basic playbooks |
| SOC Analyst T2 | Investigation, scoping, containment |
| Incident Commander | Major incident coordination, comms |
| Vulnerability Owner | Triage VIs, drive remediation, SLA |
| Threat Hunter | Proactive hunts, hypothesis-driven |
| CISO | Risk posture, board reporting |
| IT Operator | Execute approved containment |
17.2 Day-in-Life — SOC Analyst T1
- Open /now/sir/agent → My queue (severity sorted).
- Pick highest-sev incident. Run “Enrich Observables” playbook.
- Validate true/false positive (FP rate target < 30%).
- If TP → escalate to T2 with notes, MITRE tag, affected CIs.
- Track SLA (typically 15 min triage).
17.3 Top 15 SecOps Scripts
1. SIEM alert → SIR incident
// Scripted REST /api/x_sn_si/v1/incident
(function process(request, response) {
var alert = request.body.data;
var inc = new GlideRecord('sn_si_incident');
inc.initialize();
inc.setValue('short_description', alert.title);
inc.setValue('description', alert.description);
inc.setValue('severity', _mapSeverity(alert.severity));
inc.setValue('source', alert.source || 'siem');
inc.setValue('correlation_id', alert.alert_id);
var sysId = inc.insert();
// Affected CIs
(alert.affected_hosts || []).forEach(function (host) {
var ci = new GlideRecord(‘cmdb_ci’);
ci.addQuery(‘name’, host);
ci.setLimit(1); ci.query();
if (ci.next()) {
var m = new GlideRecord(‘sn_si_m2m_ci_incident’);
m.initialize();
m.setValue(‘incident’, sysId);
m.setValue(‘configuration_item’, ci.getUniqueValue());
m.insert();
}
});
// IoCs
(alert.iocs || []).forEach(function (ioc) {
var ob = new GlideRecord(‘sn_ti_observable’);
ob.initialize();
ob.setValue(‘value’, ioc.value);
ob.setValue(‘finding’, ioc.type);
ob.setValue(‘source’, ‘incident_’ + inc.getValue(‘number’));
ob.insert();
});
response.setStatus(201);
return { incident_id: inc.getValue(‘number’) };
function _mapSeverity(sev) {
var m = { critical: 1, high: 2, medium: 3, low: 4, info: 5 };
return m[String(sev).toLowerCase()] || 3;
}
})(request, response);
2. Disable AD user containment
var SIRADIsolator = Class.create();
SIRADIsolator.prototype = {
initialize: function {},
disable: function (userSysId, reason) {
var u = new GlideRecord(‘sys_user’);
if (!u.get(userSysId)) return false;
var rm = new sn_ws.RESTMessageV2(‘AzureAD’, ‘disableUser’);
rm.setStringParameter(‘userPrincipalName’, u.getValue(‘email’));
rm.setHttpTimeout(30000);
var resp = rm.execute();
if (resp.getStatusCode() >= 200 && resp.getStatusCode() < 300) {
u.setValue(‘active’, false);
u.setValue(‘locked_out’, true);
u.update();
// Audit
var a = new GlideRecord(‘sn_si_action_log’);
a.initialize();
a.setValue(‘action’, ‘disable_user’);
a.setValue(‘target’, u.getValue(‘email’));
a.setValue(‘reason’, reason);
a.insert();
return true;
}
return false;
},
type: ‘SIRADIsolator’
};
3. Block IP at firewall
function blockIP(ip, reason, ticketId) {
var rm = new sn_ws.RESTMessageV2('PaloAltoFirewall', 'addBlocklist');
rm.setStringParameter('ip', ip);
rm.setStringParameter('note', 'SIR-' + ticketId + ': ' + reason);
rm.setHttpTimeout(20000);
try {
var r = rm.execute();
if (r.getStatusCode() >= 200 && r.getStatusCode() < 300) {
gs.eventQueue('x_sn_si.ip.blocked', null, ip, ticketId);
return true;
}
gs.error('[SIR] FW block failed: ' + r.getBody());
} catch (e) {
gs.error('[SIR] FW exception: ' + e.message);
}
return false;
}
4. Bulk-VI to bulk-Change — covered in §4.5 above.
5. Phishing email auto-triage — Inbound Email → parse URLs/attachments → enrich → create SIR if malicious.
6. Asset → Vulnerability count rollup — GlideAggregate on sn_vul_vulnerable_item grouped by cmdb_ci.
7. CVE exploitation watcher — daily check NVD + ExploitDB; update exploit_status on sn_vul_vulnerability.
8. Threat actor profile linker — incidents tagged with same actor → group view.
9. SLA breach forecaster — predict which VIs will breach SLA based on remediation pace.
10. Forensics evidence collector — capture EDR + SIEM logs into encrypted attachment.
11-15. Quick recipes
| # | Pattern |
|---|---|
| 11 | Honeypot IP auto-blocker (any IP touching honeypot → block) |
| 12 | MFA bypass detector (login from new geo + new device) |
| 13 | Data exfiltration alert (high outbound to unknown domain) |
| 14 | Brute force lockout sweep (failed logons threshold) |
| 15 | Insider threat scoring (UEBA-light) |
§18 — From-Scratch Implementation (Day 0 → Day 30)
| Phase | Days | Outcome |
|---|---|---|
| Setup + CMDB | 0–5 | Plugins, CMDB readiness, integration accounts |
| SIR | 6–12 | Playbooks, MITRE, workspace |
| VR | 13–18 | Scanner integration, prioritization, SLA |
| TI + CTD | 19–24 | Feeds, IoC mgmt, benchmarks |
| Hardening + Launch | 25–30 | Training, UAT, go-live |
18.1 Day-by-day
Day 0 — Strategy
- Threat model
- SOC operating model (24/7 vs follow-the-sun)
- Roles (T1/T2/T3, Hunter, IR Manager)
- Tools inventory (SIEM, EDR, FW, Scanner, AD)
- Runbook drafts (Phishing, Ransomware, Lost Laptop, Data Leak, Insider)
Day 1 — Plugins
- com.snc.threat (SecOps Foundation)
- com.snc.security_incident
- com.snc.vulnerability
- com.snc.vul_qualys / .tenable_io / .rapid7_insightvm
- com.snc.threat.intel
- com.snc.sn_vul_config_test
- com.sn_sec_cmn (Common Security)
Day 2-3 — CMDB readiness
- Hosts have IP, FQDN, OS, business criticality
- Service Maps for top 20 critical services
- Asset criticality tier (1-4)
Day 4-5 — Integration accounts
- SIEM API user
- EDR API key
- Scanner API
- AD service account
- Cloud accounts (AWS/Azure/GCP)
- IH spoke connections tested
Day 6 — SIR fundamentals
- Severity matrix (1=Critical → 5=Info)
- States + transitions
- Assignment groups (SOC-T1, SOC-T2, IR-Manager, Forensics)
Day 7-9 — Playbooks (PAD)
- Build/customize 6 core: Phishing, Malware, DLP, Ransomware, Brute Force, Privilege Misuse
- Each with steps mapped to NIST 800-61r2
Day 10 — MITRE ATT&CK tagging
- Import latest MITRE bundle
- Configure auto-tagging from alert type
Day 11 — SIR Workspace customization
Day 12 — Containment actions
- Isolate host (script #2 in §17.3)
- Block IP (script #3)
- Disable user (script #2 modified)
Day 13 — VR scanner integration
- Qualys/Tenable IH Spoke
- Import schedule (every 6h)
- Asset matching algorithm tuning
Day 14 — Vulnerability deduplication (IRE rules)
Day 15 — Prioritization formula (script in §4.2)
Day 16 — SLA on VIs
Day 17 — Remediation workflows (auto-Change, dev tickets)
Day 18 — Patch group orchestration (§4.5)
Day 19 — TI feeds onboarding
- TAXII connection to OTX (free start)
- MISP server (if available)
- Recorded Future (paid)
- IoC ingestion + dedup
Day 20-21 — IoC enrichment (script in §5.3)
Day 22 — Threat hunt baseline (script in §5.4)
Day 23 — CTD benchmark import
- CIS Level 1 Linux
- CIS Level 1 Windows Server
- CIS K8s
Day 24 — Compliance dashboards
Day 25 — Dashboards (SOC Manager + CISO)
Day 26 — Reports & PA
- MTTD / MTTR / Containment time
- Vulnerability remediation velocity
- IoC hit rate
Day 27 — ATF — 12 scenarios
Day 28 — Training
- T1 analysts (2 days)
- T2 analysts (3 days)
- IR manager (1 day)
- VR owners (½ day)
Day 29 — Tabletop exercise
Day 30 — Go-live + 24/7 SOC operational
18.2 KPIs Month 1
| KPI | Target |
|---|---|
| Mean Time to Detect (MTTD) | ≤ 30 min |
| Mean Time to Triage | ≤ 15 min |
| Mean Time to Contain | ≤ 60 min (Sev 1-2) |
| False positive rate | ≤ 25% |
| Critical VI remediation within SLA | ≥ 95% |
| IoC enrichment success rate | ≥ 90% |
| SOC analyst engagement (cases/shift) | 15-25 |
§19 — Sign-off Checklist
- [ ] CMDB readiness verified (criticality + service maps)
- [ ] All scanner integrations tested end-to-end
- [ ] SIR playbooks reviewed by IR manager
- [ ] MITRE ATT&CK current version imported
- [ ] Containment actions tested in pre-prod
- [ ] SLA matrix signed by CISO
- [ ] On-call rotation defined
- [ ] War-room runbook printed
- [ ] Disaster scenarios drilled (tabletop)
- [ ] Forensics evidence chain documented
§19 — CIS-VR / CIS-SIR Exam & Z-to-Hero Feature Labs (30 inline Q)
19.1 Z-to-Hero Feature Labs (12 labs)
| Lab | Feature |
|---|---|
| L1 | Configure SIEM webhook → SIR incident |
| L2 | MITRE ATT&CK tagging on incident |
| L3 | IoC enrichment via TI Spoke |
| L4 | Playbook (Workflow Studio) for “Phishing” |
| L5 | Threat Hunt query (proactive) |
| L6 | VR prioritization formula (CVSS + asset + exploit) |
| L7 | Bulk VI → Change automation |
| L8 | Vulnerability deferral workflow with risk owner approval |
| L9 | Host containment via EDR (Crowdstrike mock) |
| L10 | CIS benchmark scan + remediation |
| L11 | Configuration compliance dashboard |
| L12 | Forensics evidence chain workflow |
19.2 30 SecOps Practice Questions
SIR (Q1-Q15)
- SIR table: A. sn_si_incident | B. incident | C. sec_incident | D. None — Answer: A
- Playbook engine: A. Workflow Studio (Process Automation) | B. Legacy WF | C. Flow Designer only | D. None — Answer: A
- MITRE ATT&CK reference: A. sn_si_attack_technique table | B. Just notes | C. Random | D. None — Answer: A
- SIR Priority calc: A. Impact × Urgency + business risk | B. Random | C. Cost | D. None — Answer: A
- Containment action examples: A. Isolate host, block IP, reset password, revoke session | B. Just notify | C. None | D. Random — Answer: A
- SIR ↔ Incident relationship: A. SIR can spawn ITIL Incident for IT impact | B. Same record | C. Independent | D. Random — Answer: A
- Major Incident from SIR: A. Promote to Major Incident on impact threshold | B. Manual only | C. Random | D. None — Answer: A
- SIR Workspace URL: A. /now/sir/workspace | B. /sir.do | C. Random | D. None — Answer: A
- Phishing email submission: A. Outlook plugin → Inbound Email Action → SIR | B. Manual | C. Random | D. None — Answer: A
- Threat Intel sources: A. STIX/TAXII feeds + Vendor APIs (Mandiant, Recorded Future) | B. Just news | C. Random | D. None — Answer: A
- IoC types: A. IP, Domain, URL, Hash, Email | B. Just IP | C. Random | D. None — Answer: A
- Threat Hunt: A. Proactive search using TI + endpoint data | B. Reactive only | C. Random | D. None — Answer: A
- Tabletop exercise scope: A. Simulate breach end-to-end with stakeholders | B. Just docs | C. Random | D. None — Answer: A
- SOAR integration: A. ServiceNow as SOAR with SIEM as detector | B. Same | C. Random | D. None — Answer: A
- Evidence preservation: A. Forensic copy + chain of custody record | B. Just screenshot | C. Random | D. None — Answer: A
VR (Q16-Q30)
- VR table: A. sn_vul_vulnerable_item (per asset per vuln) | B. sn_vul_vulnerability (master) | C. Both | D. None — Answer: C
- Prioritization inputs: A. CVSS + asset criticality + exploit availability + business context | B. CVSS only | C. Random | D. None — Answer: A
- CVSS v3.1 ranges: A. 0-3.9 Low / 4-6.9 Med / 7-8.9 High / 9-10 Critical | B. Different | C. Random | D. None — Answer: A
- Vulnerability Group: A. Bundle VIs by host/app/business for collective remediation | B. Just sort | C. Random | D. None — Answer: A
- Auto-CR creation: A. VG → Change Request workflow on threshold | B. Manual | C. Random | D. None — Answer: A
- Patch deferral: A. Risk Owner approval + justification + re-eval date | B. Free pass | C. Random | D. None — Answer: A
- VR sources: A. Qualys, Tenable, Rapid7, Crowdstrike, MS Defender | B. Just one | C. Random | D. None — Answer: A
- Asset enrichment for VR: A. Owner, criticality, exposure (internet-facing) | B. Just name | C. Random | D. None — Answer: A
- KEV catalog (CISA): A. Known Exploited Vulnerabilities — fast-track | B. Random | C. None | D. Just list — Answer: A
- Threat-aware VR: A. Boost priority if active exploit in wild | B. Ignore | C. Random | D. None — Answer: A
- Vulnerability lifecycle: A. Detected → Triaged → Assigned → Remediated → Verified → Closed | B. Just close | C. Random | D. None — Answer: A
- SLA on vulnerabilities: A. Per severity (Critical=7d, High=30d, Med=90d typical) | B. Random | C. None | D. Always 30d — Answer: A
- False positive workflow: A. Submit → review → confirm → close as FP + suppress | B. Just close | C. Random | D. None — Answer: A
- VR + CMDB: A. VI links to CI via IRE | B. Manual only | C. Random | D. None — Answer: A
- CTD (Configuration Compliance) scanners: A. Tenable.io CC, Qualys PC, custom | B. None | C. Random | D. Just one — Answer: A
19.3 What “Hero” looks like for SecOps
Operates a security operation: SIR + VR + TI + CTD integrated. Playbooks automate top 10 incident types. VR prioritization is risk-aware (CVSS + asset + exploit). Auto-CR for VG > threshold. Containment via EDR. Tabletop exercises quarterly. SOC dashboards live.
Hands-on Labs — مختبرات عملية
Step-by-step labs for PDI / Australia instance. Replace
{BASE}with your instance URL.
مختبرات خطوة بخطوة — استبدل{BASE}برابط نسختك.
-
Lab 1 — SIR incident / حادث أمني — Create at {BASE}/sn_si_incident.do?sys_id=-1; tag MITRE technique.
-
Lab 2 — Playbook / مسار عمل — Run phishing playbook from {BASE}/now/workflow-studio/home.
-
Lab 3 — IoC enrichment / IoC — Add indicator at {BASE}/sn_ti_indicator_list.do; enrich incident.
-
Lab 4 — VR prioritization / أولوية ثغرة — Import sample CVE; score with asset criticality.
-
Lab 5 — Vulnerable Item / VI — Review VI list; assign remediation owner.
-
Lab 6 — Bulk remediation / إصلاح جماعي — Create Change from Vulnerability Group.
-
Lab 7 — Config compliance / امتثال إعداد — Run CIS benchmark scan; review failures.
-
Lab 8 — SIR Workspace / مساحة SIR — Triage queue at {BASE}/now/sir/workspace.
Best Practices — أفضل الممارسات
| Area | Best practice (EN) | أفضل ممارسة (AR) |
|---|---|---|
| SIR | Integrate SIEM for detection; ServiceNow for orchestration | SIEM للكشف؛ ServiceNow للتنسيق |
| VR | Risk-based prioritization beats CVSS-only | الأولوية حسب المخاطr لا CVSS فقط |
| TI | STIX/TAXII feeds with expiry on IoCs | Feeds مع انتهاء IoC |
| Playbooks | Top 10 incident types automated first | أتمتة أهم 10 أنواع حوادث |
Deployment Checklist — قائمة النشر
| # | Task (EN) | المهمة (AR) | Verify |
|---|---|---|---|
| 1 | Install SIR, VR, TI, CTD plugins | تثبيت SecOps | Licensed |
| 2 | SIEM/EDR integration | تكامل SIEM | Events create SIR |
| 3 | VR scanner connector | موصل الماسح | VIs populate |
| 4 | Prioritization formula | صيغة الأولوية | Critical ranked |
| 5 | Playbooks for top scenarios | Playbooks | Automation runs |
| 6 | TI feeds configured | TI feeds | IoCs enrich |
| 7 | SOC dashboards | لوحات SOC | Metrics visible |
| 8 | Tabletop exercise | تمرين Tabletop | Runbook validated |
Direct URLs Quick Reference
| Page | Navigation | URL |
|---|---|---|
| SIR Workspace | Now > SIR | {BASE}/now/sir/workspace |
| Security Incidents | All > SecOps > Incidents | {BASE}/sn_si_incident_list.do |
| Vulnerabilities | All > VR | {BASE}/sn_vul_vulnerability_list.do |
| Vulnerable Items | All > VR | {BASE}/sn_vul_vulnerable_item_list.do |
| Threat Indicators | All > TI | {BASE}/sn_ti_indicator_list.do |
| Playbooks | All > Workflow Studio | {BASE}/now/workflow-studio/home |
| Config Compliance | All > CTD | {BASE}/sn_vul_ctd_test_list.do |
| IntegrationHub Spokes | All > IntegrationHub | {BASE}/sys_hub_spoke_list.do |
| Guided Setup | All > Guided Setup | {BASE}/now/guided-setup |