Foreword |
|
xxxi | |
Introduction |
|
xxxiii | |
Part I Threat Hunting Frameworks |
|
1 | (98) |
|
Chapter 1 Introduction to Threat Hunting |
|
|
3 | (32) |
|
|
4 | (2) |
|
|
6 | (1) |
|
The Key Cyberthreats and Threat Actors |
|
|
7 | (7) |
|
|
7 | (1) |
|
|
8 | (2) |
|
|
10 | (4) |
|
The Necessity of Threat Hunting |
|
|
14 | (5) |
|
Does the Organization's Size Matter? |
|
|
17 | (2) |
|
|
19 | (4) |
|
Threat-Hunting Maturity Model |
|
|
23 | (3) |
|
Organization Maturity and Readiness |
|
|
23 | (3) |
|
|
24 | (1) |
|
|
25 | (1) |
|
|
25 | (1) |
|
|
25 | (1) |
|
|
25 | (1) |
|
Human Elements of Threat Hunting |
|
|
26 | (7) |
|
How Do You Make the Board of Directors Cyber-Smart? |
|
|
27 | (3) |
|
Threat-Hunting Team Structure |
|
|
30 | (1) |
|
|
30 | (1) |
|
Dedicated Internal Hunting Team Model |
|
|
30 | (1) |
|
Combined/Hybrid Team Model |
|
|
30 | (1) |
|
Periodic Hunt Teams Model |
|
|
30 | (1) |
|
Urgent Need for Human-Led Threat Hunting |
|
|
31 | (1) |
|
|
31 | (2) |
|
|
33 | (2) |
|
Chapter 2 Modern Approach to Multi-Cloud Threat Hunting |
|
|
35 | (28) |
|
Multi-Cloud Threat Hunting |
|
|
35 | (6) |
|
Multi-Tenant Cloud Environment |
|
|
38 | (1) |
|
Threat Hunting in Multi-Cloud and Multi-Tenant Environments |
|
|
39 | (2) |
|
Building Blocks for the Security Operations Center |
|
|
41 | (5) |
|
|
43 | (1) |
|
Services, Not Just Monitoring |
|
|
43 | (1) |
|
|
43 | (1) |
|
Define a Process for Identifying and Managing Threats |
|
|
44 | (1) |
|
Tools and Technologies to Empower SOC |
|
|
44 | (1) |
|
People (Specialized Teams) |
|
|
45 | (1) |
|
Cyberthreat Detection, Threat Modeling, and the Need for Proactive Threat Hunting Within SOC |
|
|
46 | (7) |
|
|
46 | (3) |
|
Threat-Hunting Goals and Objectives |
|
|
49 | (1) |
|
|
50 | (4) |
|
The Need for a Proactive Hunting Team Within SOC |
|
|
50 | (1) |
|
Assume Breach and Be Proactive |
|
|
51 | (1) |
|
|
51 | (1) |
|
Develop an Informed Hypothesis |
|
|
52 | (1) |
|
Cyber Resiliency and Organizational Culture |
|
|
53 | (1) |
|
Skillsets Required for Threat Hunting |
|
|
54 | (3) |
|
|
55 | (1) |
|
|
56 | (1) |
|
|
56 | (1) |
|
|
56 | (1) |
|
|
56 | (1) |
|
|
56 | (1) |
|
Threat-Hunting Process and Procedures |
|
|
57 | (1) |
|
Metrics for Assessing the Effectiveness of Threat Hunting |
|
|
58 | (3) |
|
|
58 | (1) |
|
|
59 | (2) |
|
Threat-Hunting Program Effectiveness |
|
|
61 | (1) |
|
|
62 | (1) |
|
Chapter 3 Exploration of MITRE Key Attack Vectors |
|
|
63 | (36) |
|
Understanding MITRE ATT&CK |
|
|
63 | (6) |
|
What Is MITRE ATT&CK Used For? |
|
|
64 | (1) |
|
How Is MITRE ATT&CK Used and Who Uses It? |
|
|
65 | (1) |
|
How Is Testing Done According to MITRE? |
|
|
65 | (2) |
|
|
67 | (1) |
|
|
67 | (2) |
|
Threat Hunting Using Five Common Tactics |
|
|
69 | (11) |
|
|
71 | (2) |
|
|
72 | (1) |
|
|
73 | (2) |
|
|
74 | (1) |
|
|
75 | (2) |
|
|
75 | (2) |
|
|
77 | (2) |
|
|
77 | (2) |
|
|
79 | (1) |
|
|
79 | (1) |
|
Other Methodologies and Key Threat-Hunting Tools to Combat Attack Vectors |
|
|
80 | (6) |
|
|
80 | (4) |
|
Threat Intelligence and Zero Trust |
|
|
83 | (1) |
|
Build Cloud-Based Defense-in-Depth |
|
|
84 | (2) |
|
|
86 | (9) |
|
|
86 | (7) |
|
|
87 | (1) |
|
|
88 | (1) |
|
|
88 | (2) |
|
Security Automation and Orchestration |
|
|
90 | (1) |
|
|
91 | (1) |
|
|
92 | (1) |
|
|
92 | (1) |
|
|
93 | (2) |
|
|
93 | (1) |
|
|
94 | (1) |
|
|
95 | (6) |
|
|
96 | (3) |
Part II Hunting in Microsoft Azure |
|
99 | (142) |
|
Chapter 4 Microsoft Azure Cloud Threat Prevention Framework |
|
|
101 | (82) |
|
Introduction to Microsoft Security |
|
|
102 | (1) |
|
Understanding the Shared Responsibility Model |
|
|
102 | (3) |
|
Microsoft Services for Cloud Security Posture Management and Logging/Monitoring |
|
|
105 | (7) |
|
Overview of Azure Security Center and Azure Defender |
|
|
105 | (3) |
|
Overview of Microsoft Azure Sentinel |
|
|
108 | (4) |
|
Using Microsoft Secure and Protect Features |
|
|
112 | (15) |
|
Identity & Access Management |
|
|
113 | (1) |
|
|
114 | (1) |
|
|
115 | (1) |
|
|
115 | (1) |
|
Using Azure Web Application Firewall to Protect a Website Against an "Initial Access" TTP |
|
|
116 | (2) |
|
Using Microsoft Defender for Office 365 to Protect Against an "Initial Access" TTP |
|
|
118 | (10) |
|
Using Microsoft Defender Endpoint to Protect Against an "Initial Access" TTP |
|
|
121 | (2) |
|
Using Azure Conditional Access to Protect Against an "Initial Access" TTP |
|
|
123 | (4) |
|
Microsoft Detect Services |
|
|
127 | (1) |
|
Detecting "Privilege Escalation" TTPs |
|
|
128 | (3) |
|
Using Azure Security Center and Azure Sentinel to Detect Threats Against a "Privilege Escalation" TTP |
|
|
128 | (3) |
|
Detecting Credential Access |
|
|
131 | (8) |
|
Using Azure Identity Protection to Detect Threats Against a "Credential Access" TTP |
|
|
132 | (5) |
|
Steps to Configure and Enable Risk Polices (Sign-in Risk and User Risk) |
|
|
134 | (3) |
|
Using Azure Security Center and Azure Sentinel to Detect Threats Against a "Credential Access" TTP |
|
|
137 | (2) |
|
Detecting Lateral Movement |
|
|
139 | (6) |
|
Using Just-in-Time in ASC to Protect and Detect Threats Against a "Lateral Movement" TTP |
|
|
139 | (5) |
|
Using Azure Security Center and Azure Sentinel to Detect Threats Against a "Lateral Movement" TTP |
|
|
144 | (1) |
|
Detecting Command and Control |
|
|
145 | (2) |
|
Using Azure Security Center and Azure Sentinel to Detect Threats Against a "Command and Control" TTP |
|
|
146 | (1) |
|
Detecting Data Exfiltration |
|
|
147 | (8) |
|
Using Azure Information Protection to Detect Threats Against a "Data Exfiltration" TTP |
|
|
148 | (5) |
|
Discovering Sensitive Content Using AIP |
|
|
149 | (4) |
|
Using Azure Security Center and Azure Sentinel to Detect Threats Against a "Data Exfiltration" TTP |
|
|
153 | (2) |
|
Detecting Threats and Proactively Hunting with Microsoft 365 Defender |
|
|
154 | (1) |
|
Microsoft Investigate, Response, and Recover Features |
|
|
155 | (17) |
|
Automating Investigation and Remediation with Microsoft Defender for Endpoint |
|
|
157 | (2) |
|
Using Microsoft Threat Expert Support for Remediation and Investigation |
|
|
159 | (7) |
|
Targeted Attack Notification |
|
|
159 | (2) |
|
|
161 | (5) |
|
Automating Security Response with MCAS and Microsoft Flow |
|
|
166 | (4) |
|
Step 1: Generate Your API Token in Cloud App Security |
|
|
167 | (1) |
|
Step 2: Create Your Trigger in Microsoft Flow |
|
|
167 | (1) |
|
Step 3: Create the Teams Message Action in Microsoft Flow |
|
|
168 | (1) |
|
Step 4: Generate an Email in Microsoft Flow |
|
|
168 | (1) |
|
Connecting the Flow in Cloud App Security |
|
|
169 | (1) |
|
Performing an Automated Response Using Azure Security Center |
|
|
170 | (2) |
|
Using Machine Learning and Artificial Intelligence in Threat Response |
|
|
172 | (10) |
|
Overview of Fusion Detections |
|
|
173 | (1) |
|
Overview of Azure Machine Learning |
|
|
174 | (8) |
|
|
182 | (1) |
|
Chapter 5 Microsoft Cybersecurity Reference Architecture and Capability Map |
|
|
183 | (58) |
|
|
183 | (1) |
|
Microsoft Security Architecture versus the NIST Cybersecurity Framework (CSF) |
|
|
184 | (1) |
|
Microsoft Security Architecture |
|
|
185 | (5) |
|
|
186 | (1) |
|
|
187 | (1) |
|
|
188 | (1) |
|
|
189 | (1) |
|
|
189 | (1) |
|
Using the Microsoft Reference Architecture |
|
|
190 | (45) |
|
Microsoft Threat Intelligence |
|
|
190 | (2) |
|
|
192 | (1) |
|
Security Development Lifecycle (SDL) |
|
|
193 | (1) |
|
Protecting the Hybrid Cloud Infrastructure |
|
|
194 | (12) |
|
|
194 | (1) |
|
|
195 | (1) |
|
|
196 | (1) |
|
|
197 | (1) |
|
|
198 | (2) |
|
Azure Web Application Firewall (WAF) |
|
|
200 | (1) |
|
|
200 | (1) |
|
|
201 | (1) |
|
|
202 | (2) |
|
|
204 | (1) |
|
Azure Security Center (ASC) |
|
|
205 | (1) |
|
Microsoft Azure Secure Score |
|
|
205 | (1) |
|
Protecting Endpoints and Clients |
|
|
206 | (3) |
|
Microsoft Endpoint Manager (MEM) Configuration Manager |
|
|
207 | (1) |
|
|
208 | (1) |
|
Protecting Identities and Access |
|
|
209 | (7) |
|
Azure AD Conditional Access |
|
|
210 | (1) |
|
Passwordless for End-to-End Secure Identity |
|
|
211 | (1) |
|
Azure Active Directory (aka Azure AD) |
|
|
211 | (1) |
|
|
211 | (1) |
|
Azure Active Directory Identity Protection |
|
|
212 | (1) |
|
Azure Active Directory Privilege Identity Management (PIM) |
|
|
213 | (1) |
|
Microsoft Defender for Identity |
|
|
214 | (1) |
|
|
215 | (1) |
|
Azure AD Identity Governance |
|
|
215 | (1) |
|
|
216 | (3) |
|
Protecting Data and Information |
|
|
219 | (6) |
|
|
220 | (1) |
|
Microsoft Information Protection (MIP) |
|
|
221 | (1) |
|
Azure Information Protection Unified Labeling Scanner (File Scanner) |
|
|
222 | (1) |
|
The Advanced eDiscovery Solution in Microsoft 365 |
|
|
223 | (1) |
|
|
224 | (1) |
|
Protecting IoT and Operation Technology |
|
|
225 | (4) |
|
Security Concerns with IoT |
|
|
226 | (1) |
|
Understanding That IoT Cybersecurity Starts with a Threat Model |
|
|
227 | (2) |
|
Microsoft Investment in IoT Technology |
|
|
229 | (1) |
|
|
229 | (1) |
|
|
229 | (1) |
|
|
230 | (1) |
|
Threat Modeling for the Azure IoT Reference Architecture |
|
|
230 | (6) |
|
Azure Defender for IoT Architecture (Agentless Solutions) |
|
|
233 | (1) |
|
Azure Defender for IoT Architecture (Agent-based solutions) |
|
|
234 | (1) |
|
Understanding the Security Operations Solutions |
|
|
235 | (1) |
|
Understanding the People Security Solutions |
|
|
236 | (4) |
|
|
237 | (1) |
|
Insider Risk Management (IRM) |
|
|
237 | (2) |
|
|
239 | (1) |
|
|
240 | (1) |
Part III Hunting in AWS |
|
241 | (130) |
|
Chapter 6 AWS Cloud Threat Prevention Framework |
|
|
243 | (78) |
|
Introduction to AWS Well-Architected Framework |
|
|
244 | (4) |
|
The Five Pillars of the Well-Architected Framework |
|
|
245 | (1) |
|
|
246 | (1) |
|
|
246 | (1) |
|
|
246 | (1) |
|
|
246 | (1) |
|
|
246 | (1) |
|
The Shared Responsibility Model |
|
|
246 | (2) |
|
AWS Services for Monitoring, Logging, and Alerting |
|
|
248 | (8) |
|
|
249 | (2) |
|
|
251 | (1) |
|
|
252 | (1) |
|
|
253 | (1) |
|
|
254 | (2) |
|
|
256 | (7) |
|
How Do You Prevent Initial Access? |
|
|
256 | (1) |
|
How Do You Protect APIs from SQL Injection Attacks Using API Gateway and AWS WAF? |
|
|
256 | (7) |
|
|
257 | (1) |
|
|
257 | (2) |
|
Create and Configure an AWS WAF |
|
|
259 | (4) |
|
|
263 | (1) |
|
How Do You Detect Privilege Escalation? |
|
|
263 | (6) |
|
How Do You Detect the Abuse of Valid Account to Obtain High-Level Permissions? |
|
|
264 | (5) |
|
|
264 | (1) |
|
Configure GuardDuty to Detect Privilege Escalation |
|
|
265 | (1) |
|
|
266 | (3) |
|
How Do You Detect Credential Access? |
|
|
269 | (7) |
|
How Do You Detect Unsecured Credentials? |
|
|
269 | (7) |
|
|
270 | (4) |
|
|
274 | (2) |
|
How Do You Detect Lateral Movement? |
|
|
276 | (4) |
|
How Do You Detect the Use of Stolen Alternate Authentication Material? |
|
|
277 | (3) |
|
|
277 | (1) |
|
How Do You Detect Potential Unauthorized Access to Your AWS Resources? |
|
|
277 | (1) |
|
|
278 | (2) |
|
How Do You Detect Command and Control? |
|
|
280 | (4) |
|
How Do You Detect the Communications to a Command and Control Server Using the Domain Name System (DNS)? |
|
|
281 | (3) |
|
|
281 | (1) |
|
|
C2 | |
|
Instance Communication with a Command and Control (C&C) Server Using DNS |
|
|
281 | (1) |
|
|
282 | (2) |
|
How Do You Detect Data Exfiltration? |
|
|
284 | (5) |
|
|
285 | (1) |
|
How Do You Detect the Exfiltration Using an Anomalous API Request? |
|
|
285 | (1) |
|
|
286 | (3) |
|
How Do You Handle Response and Recover? |
|
|
289 | (29) |
|
Foundation of Incident Response |
|
|
289 | (1) |
|
How Do You Create an Automated Response? |
|
|
290 | (4) |
|
Automating Incident Responses |
|
|
290 | (1) |
|
Options for Automating Responses |
|
|
291 | (2) |
|
Cost Comparisons in Scanning Methods |
|
|
293 | (1) |
|
|
294 | (1) |
|
How Do You Automatically Respond to Unintended Disabling of CloudTrail Logging? |
|
|
295 | (10) |
|
|
296 | (1) |
|
Creating a Trail in CloudTrail |
|
|
296 | (3) |
|
Creating an SNS Topic to Send Emails |
|
|
299 | (3) |
|
Creating Rules in Amazon EventBridge |
|
|
302 | (3) |
|
How Do You Orchestrate and Recover? |
|
|
305 | (1) |
|
|
305 | (1) |
|
|
305 | (1) |
|
|
306 | (1) |
|
Sharing Amazon EBS Snapshots |
|
|
306 | (1) |
|
Sharing Amazon CloudWatch Logs |
|
|
306 | (1) |
|
|
307 | (1) |
|
Launch Resources Near the Event |
|
|
307 | (1) |
|
|
308 | (1) |
|
Launch Forensic Workstations |
|
|
309 | (1) |
|
Instance Types and Locations |
|
|
309 | (1) |
|
How Do You Automatically Recover from Unintended Disabling of CloudTrail Logging? |
|
|
310 | (7) |
|
|
311 | (1) |
|
Aggregate and View Security Status in AWS Security Hub |
|
|
311 | (1) |
|
|
312 | (2) |
|
Create Lambda Function to Orchestrate and Recover |
|
|
314 | (3) |
|
How Are Machine Learning and Artificial Intelligence Used? |
|
|
317 | (1) |
|
|
318 | (1) |
|
|
319 | (2) |
|
Chapter 7 AWS Reference Architecture |
|
|
321 | (50) |
|
AWS Security Framework Overview |
|
|
322 | (4) |
|
The Identify Function Overview |
|
|
323 | (1) |
|
The Protect Function Overview |
|
|
324 | (1) |
|
The Detect Function Overview |
|
|
325 | (1) |
|
The Respond Function Overview |
|
|
325 | (1) |
|
The Recover Function Overview |
|
|
325 | (1) |
|
AWS Reference Architecture |
|
|
326 | (27) |
|
|
326 | (2) |
|
|
328 | (1) |
|
|
329 | (1) |
|
|
330 | (1) |
|
|
331 | (1) |
|
|
332 | (1) |
|
AWS Well-Architected Tool |
|
|
333 | (1) |
|
|
334 | (1) |
|
|
335 | (2) |
|
AWS Identity and Access Management (IAM) |
|
|
337 | (1) |
|
|
338 | (2) |
|
|
340 | (1) |
|
AWS Web Application Firewall (WAF) |
|
|
340 | (2) |
|
|
342 | (1) |
|
|
343 | (2) |
|
|
345 | (1) |
|
AWS Key Management Service (KMS) |
|
|
345 | (1) |
|
|
346 | (1) |
|
|
347 | (1) |
|
Amazon Virtual Private Cloud |
|
|
347 | (2) |
|
|
349 | (1) |
|
|
349 | (1) |
|
|
350 | (1) |
|
AWS Resource Access Manager |
|
|
351 | (2) |
|
The Detect and Respond Functions |
|
|
353 | (12) |
|
|
354 | (2) |
|
|
356 | (1) |
|
|
357 | (1) |
|
|
358 | (1) |
|
|
359 | (1) |
|
|
360 | (1) |
|
|
361 | (1) |
|
|
362 | (1) |
|
|
363 | (1) |
|
AWS Personal Health Dashboard |
|
|
364 | (1) |
|
|
365 | (4) |
|
|
366 | (1) |
|
|
366 | (1) |
|
CloudEndure Disaster Recovery |
|
|
367 | (1) |
|
|
368 | (1) |
|
|
369 | (2) |
Part IV The Future |
|
371 | (40) |
|
Chapter 8 Threat Hunting in Other Cloud Providers |
|
|
373 | (18) |
|
The Google Cloud Platform |
|
|
374 | (11) |
|
Google Cloud Platform Security Architecture alignment to NIST |
|
|
376 | (10) |
|
|
376 | (2) |
|
|
378 | (2) |
|
|
380 | (2) |
|
|
382 | (1) |
|
|
383 | (2) |
|
|
385 | (1) |
|
Oracle Cloud Infrastructure Security |
|
|
386 | (2) |
|
Oracle SaaS Cloud Security Threat Intelligence |
|
|
387 | (1) |
|
|
388 | (1) |
|
|
389 | (1) |
|
|
389 | (2) |
|
Chapter 9 The Future of Threat Hunting |
|
|
391 | (20) |
|
Artificial Intelligence and Machine Learning |
|
|
393 | (3) |
|
How ML Reduces False Positives |
|
|
395 | (1) |
|
How Machine Intelligence Applies to Malware Detection |
|
|
395 | (1) |
|
How Machine Intelligence Applies to Risk Scoring in a Network |
|
|
396 | (1) |
|
Advances in Quantum Computing |
|
|
396 | (3) |
|
Quantum Computing Challenges |
|
|
398 | (1) |
|
Preparing for the Quantum Future |
|
|
399 | (1) |
|
Advances in IoT and Their Impact |
|
|
399 | (6) |
|
Growing IoT Cybersecurity Risks |
|
|
401 | (2) |
|
Preparing for IoT Challenges |
|
|
403 | (2) |
|
Operational Technology (OT) |
|
|
405 | (1) |
|
Importance of OT Security |
|
|
406 | (1) |
|
|
406 | (1) |
|
The Future of Cybersecurity with Blockchain |
|
|
407 | (1) |
|
Threat Hunting as a Service |
|
|
407 | (1) |
|
The Evolution of the Threat-Hunting Tool |
|
|
408 | (1) |
|
Potential Regulatory Guidance |
|
|
408 | (1) |
|
|
409 | (1) |
|
|
409 | (2) |
Part V Appendices |
|
411 | (78) |
|
Appendix A MITRE ATT&CK Tactics |
|
|
413 | (2) |
|
Appendix B Privilege Escalation |
|
|
415 | (6) |
|
Appendix C Credential Access |
|
|
421 | (10) |
|
Appendix D Lateral Movement |
|
|
431 | (4) |
|
Appendix E Command and Control |
|
|
435 | (8) |
|
Appendix F Data Exfiltration |
|
|
443 | (4) |
|
Appendix G MITRE Cloud Matrix |
|
|
447 | (32) |
|
|
447 | (5) |
|
|
447 | (3) |
|
Exploiting a Public-Facing Application |
|
|
450 | (1) |
|
|
450 | (1) |
|
Using Trusted Relationships |
|
|
451 | (1) |
|
|
452 | (1) |
|
|
452 | (4) |
|
|
452 | (1) |
|
|
453 | (1) |
|
Implanting a Container Image |
|
|
454 | (1) |
|
Office Application Startup |
|
|
454 | (1) |
|
|
455 | (1) |
|
|
456 | (1) |
|
Modifying the Domain Policy |
|
|
456 | (1) |
|
|
457 | (1) |
|
|
457 | (4) |
|
|
457 | (1) |
|
|
458 | (1) |
|
Modifying the Cloud Compute Infrastructure |
|
|
459 | (1) |
|
Using Unused/Unsupported Cloud Regions |
|
|
459 | (1) |
|
Using Alternate Authentication Material |
|
|
460 | (1) |
|
|
461 | (1) |
|
|
461 | (3) |
|
Using Brute Force Methods |
|
|
461 | (1) |
|
|
462 | (1) |
|
Stealing an Application Access Token |
|
|
462 | (1) |
|
Stealing Web Session Cookies |
|
|
463 | (1) |
|
Using Unsecured Credentials |
|
|
464 | (1) |
|
|
464 | (5) |
|
Manipulating Account Discovery |
|
|
464 | (1) |
|
Manipulating Cloud Infrastructure Discovery |
|
|
465 | (1) |
|
Using a Cloud Service Dashboard |
|
|
466 | (1) |
|
Using Cloud Service Discovery |
|
|
466 | (1) |
|
Scanning Network Services |
|
|
467 | (1) |
|
Discovering Permission Groups |
|
|
467 | (1) |
|
|
468 | (1) |
|
Discovering System Information |
|
|
468 | (1) |
|
Discovering System Network Connections |
|
|
469 | (1) |
|
|
469 | (2) |
|
|
469 | (1) |
|
Using Alternate Authentication Material |
|
|
470 | (1) |
|
|
471 | (3) |
|
Collecting Data from a Cloud Storage Object |
|
|
471 | (1) |
|
Collecting Data from Information Repositories |
|
|
471 | (1) |
|
|
472 | (1) |
|
|
473 | (1) |
|
|
474 | (1) |
|
|
474 | (1) |
|
|
475 | (4) |
|
|
475 | (1) |
|
Endpoint Denial of Service |
|
|
475 | (2) |
|
|
477 | (2) |
|
|
479 | (10) |
Index |
|
489 | |