Introduction |
|
xxvii | |
|
Chapter 1 An Introduction to Ethical Hacking |
|
|
3 | (44) |
|
"Do I Know This Already?" Quiz |
|
|
3 | (4) |
|
|
7 | (1) |
|
|
7 | (7) |
|
|
8 | (1) |
|
Risk, Assets, Threats, and Vulnerabilities |
|
|
9 | (2) |
|
Backing Up Data to Reduce Risk |
|
|
11 | (1) |
|
|
12 | (1) |
|
|
13 | (1) |
|
|
14 | (4) |
|
No-Knowledge Tests (Black Box) |
|
|
14 | (1) |
|
Full-Knowledge Testing (White Box) |
|
|
15 | (1) |
|
Partial-Knowledge Testing (Gray Box) |
|
|
15 | (1) |
|
|
15 | (2) |
|
|
17 | (1) |
|
|
18 | (1) |
|
Hacker and Cracker Descriptions |
|
|
19 | (2) |
|
|
20 | (1) |
|
|
21 | (4) |
|
Required Skills of an Ethical Hacker |
|
|
22 | (1) |
|
|
23 | (2) |
|
Test Plans--Keeping It Legal |
|
|
25 | (6) |
|
|
27 | (1) |
|
|
28 | (1) |
|
|
29 | (1) |
|
|
29 | (1) |
|
Vulnerability Research and Bug Bounties--Keeping Up with Changes |
|
|
30 | (1) |
|
|
31 | (5) |
|
Overview of U.S. Federal Laws |
|
|
32 | (2) |
|
|
34 | (2) |
|
Payment Card Industry Data Security Standard (PCI-DSS) |
|
|
36 | (1) |
|
|
36 | (1) |
|
|
37 | (1) |
|
|
37 | (1) |
|
|
38 | (1) |
|
|
38 | (1) |
|
1-1 Searching for Exposed Passwords |
|
|
38 | (1) |
|
1-2 Examining Security Policies |
|
|
39 | (1) |
|
|
39 | (5) |
|
Suggested Reading and Resources |
|
|
44 | (3) |
|
Chapter 2 The Technical Foundations of Hacking |
|
|
47 | (42) |
|
"Do I Know This Already?" Quiz |
|
|
47 | (3) |
|
|
50 | (1) |
|
|
50 | (4) |
|
Performing Reconnaissance and Footprinting |
|
|
50 | (1) |
|
|
51 | (1) |
|
|
52 | (1) |
|
|
53 | (1) |
|
|
53 | (1) |
|
Covering Tracks and Planting Backdoors |
|
|
54 | (1) |
|
The Ethical Hacker's Process |
|
|
54 | (3) |
|
|
56 | (1) |
|
Operationally Critical Threat, Asset, and Vulnerability Evaluation |
|
|
56 | (1) |
|
Open Source Security Testing Methodology Manual |
|
|
56 | (1) |
|
Information Security Systems and the Stack |
|
|
57 | (21) |
|
|
57 | (3) |
|
Anatomy of TCP/IP Protocols |
|
|
60 | (2) |
|
|
62 | (4) |
|
|
66 | (1) |
|
Transmission Control Protocol |
|
|
66 | (2) |
|
|
68 | (1) |
|
|
69 | (5) |
|
|
74 | (3) |
|
|
77 | (1) |
|
|
78 | (1) |
|
|
79 | (1) |
|
|
79 | (1) |
|
|
79 | (1) |
|
|
80 | (1) |
|
2-1 Install a Sniffer and Perform Packet Captures |
|
|
80 | (1) |
|
2-2 Using Traceroute for Network Troubleshooting |
|
|
81 | (1) |
|
|
81 | (4) |
|
Suggested Reading and Resources |
|
|
85 | (4) |
|
Chapter 3 Footprinting, Reconnaissance, and Scanning |
|
|
89 | (72) |
|
"Do I Know This Already?" Quiz |
|
|
89 | (4) |
|
|
93 | (1) |
|
|
93 | (29) |
|
|
93 | (2) |
|
|
95 | (1) |
|
Footprinting Through Search Engines |
|
|
96 | (5) |
|
Footprinting Through Social Networking Sites |
|
|
101 | (2) |
|
Footprinting Through Web Services and Websites |
|
|
103 | (3) |
|
|
106 | (2) |
|
|
108 | (4) |
|
|
112 | (6) |
|
|
118 | (1) |
|
Subnetting's Role in Mapping Networks |
|
|
119 | (1) |
|
|
120 | (1) |
|
Footprinting Through Social Engineering |
|
|
121 | (1) |
|
Footprinting Countermeasures |
|
|
122 | (1) |
|
|
122 | (29) |
|
|
123 | (1) |
|
Port and Service Discovery |
|
|
124 | (7) |
|
|
131 | (8) |
|
|
139 | (1) |
|
|
139 | (1) |
|
|
140 | (1) |
|
|
140 | (1) |
|
OS Discovery (Banner Grabbing/OS Fingerprinting) and Scanning Beyond IDS and Firewall |
|
|
141 | (2) |
|
Active Fingerprinting Tools |
|
|
143 | (2) |
|
|
145 | (1) |
|
Default Ports and Services |
|
|
145 | (1) |
|
|
145 | (3) |
|
|
148 | (3) |
|
|
151 | (1) |
|
|
152 | (1) |
|
|
152 | (1) |
|
|
152 | (1) |
|
|
153 | (2) |
|
3-1 Performing Passive Reconnaissance |
|
|
153 | (1) |
|
3-2 Performing Active Reconnaissance |
|
|
154 | (1) |
|
|
155 | (4) |
|
Suggested Reading and Resources |
|
|
159 | (2) |
|
Chapter 4 Enumeration and System Hacking |
|
|
161 | (68) |
|
"Do I Know This Already?" Quiz |
|
|
161 | (3) |
|
|
164 | (1) |
|
|
164 | (29) |
|
|
164 | (2) |
|
|
166 | (1) |
|
NetBIOS and LDAP Enumeration |
|
|
167 | (2) |
|
NetBIOS Enumeration Tools |
|
|
169 | (8) |
|
|
177 | (6) |
|
|
183 | (2) |
|
|
185 | (1) |
|
|
186 | (5) |
|
Additional Enumeration Techniques |
|
|
191 | (1) |
|
|
191 | (1) |
|
Enumeration Countermeasures |
|
|
192 | (1) |
|
|
193 | (26) |
|
Nontechnical Password Attacks |
|
|
193 | (1) |
|
Technical Password Attacks |
|
|
194 | (1) |
|
|
195 | (2) |
|
Automated Password Guessing |
|
|
197 | (1) |
|
|
197 | (1) |
|
|
198 | (1) |
|
Escalating Privilege and Exploiting Vulnerabilities |
|
|
199 | (1) |
|
Exploiting an Application |
|
|
200 | (1) |
|
Exploiting a Buffer Overflow |
|
|
201 | (2) |
|
|
203 | (1) |
|
Windows Authentication Types |
|
|
203 | (2) |
|
Cracking Windows Passwords |
|
|
205 | (4) |
|
Linux Authentication and Passwords |
|
|
209 | (3) |
|
|
212 | (1) |
|
Hiding Files and Covering Tracks |
|
|
213 | (1) |
|
|
214 | (3) |
|
|
217 | (2) |
|
|
219 | (1) |
|
|
220 | (1) |
|
|
220 | (1) |
|
|
220 | (1) |
|
|
220 | (1) |
|
|
220 | (1) |
|
|
221 | (5) |
|
Suggested Reading and Resources |
|
|
226 | (3) |
|
Chapter 5 Social Engineering, Malware Threats, and Vulnerability Analysis |
|
|
229 | (82) |
|
"Do I Know This Already?" Quiz |
|
|
229 | (5) |
|
|
234 | (1) |
|
|
234 | (14) |
|
|
235 | (1) |
|
|
235 | (1) |
|
|
236 | (1) |
|
|
237 | (8) |
|
|
245 | (1) |
|
|
245 | (1) |
|
|
245 | (1) |
|
Elicitation, Interrogation, and Impersonation (Pretexting) |
|
|
246 | (1) |
|
Social Engineering Motivation Techniques |
|
|
247 | (1) |
|
Shoulder Surfing and USB Baiting |
|
|
248 | (1) |
|
|
248 | (42) |
|
|
248 | (1) |
|
Types and Transmission Methods of Viruses and Malware |
|
|
249 | (2) |
|
|
251 | (1) |
|
|
252 | (1) |
|
Weil-Known Viruses and Worms |
|
|
253 | (2) |
|
|
255 | (1) |
|
|
255 | (1) |
|
|
256 | (1) |
|
Trojan Ports and Communication Methods |
|
|
257 | (1) |
|
|
258 | (1) |
|
Trojan Infection Mechanisms |
|
|
259 | (1) |
|
|
260 | (1) |
|
|
261 | (2) |
|
|
263 | (1) |
|
|
264 | (1) |
|
|
265 | (1) |
|
|
265 | (1) |
|
|
265 | (2) |
|
|
267 | (1) |
|
|
268 | (1) |
|
Tunneling via the Internet Layer |
|
|
269 | (3) |
|
Tunneling via the Transport Layer |
|
|
272 | (1) |
|
Tunneling via the Application Layer |
|
|
273 | (1) |
|
|
274 | (2) |
|
Keystroke Logging and Spyware |
|
|
276 | (1) |
|
|
277 | (1) |
|
|
277 | (1) |
|
|
278 | (1) |
|
|
279 | (1) |
|
|
280 | (3) |
|
|
283 | (3) |
|
|
286 | (1) |
|
|
286 | (2) |
|
|
288 | (2) |
|
|
290 | (7) |
|
Passive vs. Active Assessments |
|
|
290 | (1) |
|
External vs. Internal Assessments |
|
|
290 | (1) |
|
Vulnerability Assessment Solutions |
|
|
291 | (1) |
|
Tree-Based vs. Inference-Based Assessments |
|
|
291 | (1) |
|
Vulnerability Scoring Systems |
|
|
292 | (4) |
|
Vulnerability Scanning Tools |
|
|
296 | (1) |
|
|
297 | (1) |
|
|
298 | (1) |
|
|
299 | (1) |
|
|
300 | (1) |
|
Command Reference to Check Your Memory |
|
|
300 | (1) |
|
|
300 | (3) |
|
5-1 Finding Malicious Programs |
|
|
300 | (1) |
|
5-2 Using Process Explorer |
|
|
301 | (2) |
|
|
303 | (4) |
|
Suggested Reading and Resources |
|
|
307 | (4) |
|
Chapter 6 Sniffers, Session Hijacking, and Denial of Service |
|
|
311 | (52) |
|
"Do I Know This Already?" Quiz |
|
|
311 | (3) |
|
|
314 | (1) |
|
|
314 | (16) |
|
|
315 | (1) |
|
|
316 | (1) |
|
Address Resolution Protocol |
|
|
316 | (2) |
|
ARP Poisoning and MAC Flooding |
|
|
318 | (6) |
|
Tools for Sniffing and Packet Capturing |
|
|
324 | (1) |
|
|
324 | (4) |
|
|
328 | (1) |
|
Sniffing and Spoofing Countermeasures |
|
|
328 | (2) |
|
|
330 | (11) |
|
Transport Layer Hijacking |
|
|
330 | (1) |
|
Identify and Find an Active Session |
|
|
331 | (1) |
|
Predict the Sequence Number |
|
|
332 | (1) |
|
Take One of the Parties Offline |
|
|
333 | (1) |
|
Take Control of the Session |
|
|
333 | (1) |
|
Application Layer Hijacking |
|
|
334 | (1) |
|
|
334 | (1) |
|
Predictable Session Token ID |
|
|
334 | (1) |
|
|
335 | (1) |
|
|
335 | (2) |
|
Browser-Based On-Path Attacks |
|
|
337 | (1) |
|
|
338 | (1) |
|
|
338 | (1) |
|
|
338 | (3) |
|
Preventing Session Hijacking |
|
|
341 | (1) |
|
Denial of Service and Distributed Denial of Service |
|
|
341 | (12) |
|
|
343 | (1) |
|
|
343 | (1) |
|
|
344 | (1) |
|
|
344 | (1) |
|
|
345 | (1) |
|
Application-Level Attacks |
|
|
345 | (1) |
|
|
346 | (1) |
|
Distributed Denial of Service |
|
|
347 | (1) |
|
|
348 | (2) |
|
DoS and DDoS Countermeasures |
|
|
350 | (3) |
|
|
353 | (1) |
|
|
354 | (1) |
|
|
354 | (1) |
|
|
354 | (1) |
|
|
355 | (1) |
|
6-1 Scanning for DDoS Programs |
|
|
355 | (1) |
|
6-2 Spoofing Your MAC Address in Linux |
|
|
355 | (1) |
|
6-3 Using the KnowBe4 SMAC to Spoof Your MAC Address |
|
|
356 | (1) |
|
|
356 | (4) |
|
Suggested Reading and Resources |
|
|
360 | (3) |
|
Chapter 7 Web Server Hacking, Web Applications, and Database Attacks |
|
|
363 | (82) |
|
"Do I Know This Already?" Quiz |
|
|
363 | (3) |
|
|
366 | (1) |
|
|
366 | (32) |
|
|
366 | (8) |
|
|
374 | (1) |
|
Banner Grabbing and Enumeration |
|
|
374 | (5) |
|
Web Server Vulnerability Identification |
|
|
379 | (1) |
|
|
380 | (1) |
|
|
380 | (1) |
|
DNS Server Hijacking and DNS Amplification Attacks |
|
|
380 | (2) |
|
|
382 | (2) |
|
|
384 | (1) |
|
|
384 | (1) |
|
Web Server Misconfiguration |
|
|
384 | (1) |
|
|
385 | (1) |
|
Understanding Cookie Manipulation Attacks |
|
|
385 | (1) |
|
Web Server Password Cracking |
|
|
386 | (1) |
|
Web Server-Specific Vulnerabilities |
|
|
386 | (2) |
|
|
388 | (1) |
|
Lack of Error Handling and Overly Verbose Error Handling |
|
|
389 | (1) |
|
|
389 | (1) |
|
|
389 | (1) |
|
|
390 | (3) |
|
|
393 | (1) |
|
|
393 | (1) |
|
|
393 | (2) |
|
|
395 | (1) |
|
|
395 | (1) |
|
|
395 | (1) |
|
Disable Unneeded Services |
|
|
396 | (1) |
|
Lock Down the File System |
|
|
396 | (1) |
|
|
396 | (1) |
|
Provide Ongoing Vulnerability Scans |
|
|
397 | (1) |
|
|
398 | (23) |
|
|
398 | (1) |
|
|
399 | (1) |
|
|
399 | (1) |
|
Cross-Site Scripting (XSS) Vulnerabilities |
|
|
400 | (1) |
|
|
401 | (1) |
|
|
402 | (2) |
|
|
404 | (1) |
|
|
405 | (1) |
|
|
406 | (2) |
|
Understanding Cross-Site Request Forgery Vulnerabilities and Related Attacks |
|
|
408 | (1) |
|
Understanding Clickjacking |
|
|
409 | (1) |
|
Other Web Application Attacks |
|
|
410 | (1) |
|
Exploiting Web-Based Cryptographic Vulnerabilities and Insecure Configurations |
|
|
411 | (1) |
|
Web-Based Password Cracking and Authentication Attacks |
|
|
412 | (2) |
|
Understanding What Cookies Are and Their Use |
|
|
414 | (1) |
|
|
415 | (2) |
|
|
417 | (2) |
|
Securing Web Applications |
|
|
419 | (2) |
|
|
421 | (1) |
|
|
421 | (15) |
|
A Brief Introduction to SQL and SQL Injection |
|
|
422 | (5) |
|
|
427 | (2) |
|
Fingerprinting the Database |
|
|
429 | (1) |
|
Surveying the UNION Exploitation Technique |
|
|
430 | (1) |
|
Using Boolean in SQL Injection Attacks |
|
|
431 | (1) |
|
Understanding Out-of-Band Exploitation |
|
|
432 | (1) |
|
Exploring the Time-Delay SQL Injection Technique |
|
|
433 | (1) |
|
Surveying Stored Procedure SQL Injection |
|
|
434 | (1) |
|
Understanding SQL Injection Mitigations |
|
|
434 | (1) |
|
SQL Injection Hacking Tools |
|
|
435 | (1) |
|
|
436 | (1) |
|
|
437 | (1) |
|
|
437 | (1) |
|
|
438 | (1) |
|
7-1 Complete the Exercises in WebGoat |
|
|
438 | (1) |
|
|
438 | (5) |
|
Suggested Reading and Resources |
|
|
443 | (2) |
|
Chapter 8 Wireless Technologies, Mobile Security, and Attacks |
|
|
445 | (46) |
|
"Do I Know This Already?" Quiz |
|
|
445 | (4) |
|
|
449 | (1) |
|
Wireless and Mobile Device Technologies |
|
|
449 | (12) |
|
|
451 | (1) |
|
|
452 | (1) |
|
|
453 | (2) |
|
|
455 | (1) |
|
Windows Mobile Operating System |
|
|
456 | (1) |
|
|
457 | (1) |
|
Mobile Device Management and Protection |
|
|
457 | (1) |
|
|
458 | (3) |
|
Radio Frequency Identification (RFID) Attacks |
|
|
461 | (1) |
|
|
461 | (26) |
|
|
462 | (1) |
|
Wireless LAN Frequencies and Signaling |
|
|
463 | (1) |
|
|
464 | (3) |
|
Installing Rogue Access Points |
|
|
467 | (1) |
|
|
468 | (1) |
|
|
468 | (4) |
|
Attacking the Preferred Network Lists |
|
|
472 | (1) |
|
Jamming Wireless Signals and Causing Interference |
|
|
472 | (1) |
|
|
472 | (1) |
|
|
472 | (2) |
|
|
474 | (4) |
|
Wreless Networks Configured with Open Authentication |
|
|
478 | (1) |
|
|
479 | (1) |
|
|
479 | (1) |
|
Attacking Wi-Fi Protected Setup (WPS) |
|
|
480 | (1) |
|
|
481 | (1) |
|
|
481 | (1) |
|
Additional Wreless Hacking Tools |
|
|
482 | (1) |
|
|
483 | (1) |
|
Wireless Traffic Analysis |
|
|
483 | (1) |
|
|
483 | (1) |
|
Crack and Compromise the Wi-Fi Network |
|
|
484 | (1) |
|
Securing Wreless Networks |
|
|
485 | (1) |
|
|
485 | (1) |
|
Robust Wireless Authentication |
|
|
485 | (1) |
|
|
486 | (1) |
|
|
487 | (1) |
|
|
488 | (1) |
|
|
488 | (1) |
|
|
488 | (1) |
|
|
488 | (1) |
|
Suggested Reading and Resources |
|
|
489 | (2) |
|
Chapter 9 Evading IDS, Firewalls, and Honeypots |
|
|
491 | (48) |
|
"Do I Know This Already?" Quiz |
|
|
491 | (4) |
|
|
495 | (1) |
|
Intrusion Detection and Prevention Systems |
|
|
495 | (16) |
|
|
495 | (2) |
|
|
497 | (3) |
|
|
500 | (1) |
|
|
500 | (1) |
|
|
500 | (2) |
|
Global Threat Correlation Capabilities |
|
|
502 | (1) |
|
|
502 | (4) |
|
|
506 | (1) |
|
|
507 | (1) |
|
|
507 | (1) |
|
|
508 | (1) |
|
|
508 | (1) |
|
Other IDS Evasion Techniques |
|
|
509 | (1) |
|
|
510 | (1) |
|
|
511 | (15) |
|
|
512 | (1) |
|
Network Address Translation |
|
|
512 | (1) |
|
|
513 | (2) |
|
Application and Circuit-Level Gateways |
|
|
515 | (1) |
|
|
515 | (1) |
|
|
516 | (4) |
|
|
520 | (6) |
|
|
526 | (4) |
|
|
528 | (1) |
|
|
529 | (1) |
|
|
530 | (1) |
|
|
530 | (1) |
|
|
530 | (1) |
|
|
531 | (1) |
|
|
531 | (5) |
|
Suggested Reading and Resources |
|
|
536 | (3) |
|
Chapter 10 Cryptographic Attacks and Defenses |
|
|
539 | (46) |
|
"Do I Know This Already?" Quiz |
|
|
539 | (4) |
|
|
543 | (1) |
|
Cryptography History and Concepts |
|
|
543 | (2) |
|
|
545 | (9) |
|
|
546 | (2) |
|
Data Encryption Standard (DES) |
|
|
548 | (2) |
|
Advanced Encryption Standard (AES) |
|
|
550 | (1) |
|
|
551 | (1) |
|
Asymmetric Encryption (Public Key Encryption) |
|
|
551 | (1) |
|
|
552 | (1) |
|
|
552 | (1) |
|
|
553 | (1) |
|
Elliptic-Curve Cryptography (ECC) |
|
|
553 | (1) |
|
|
553 | (1) |
|
Public Key Infrastructure |
|
|
554 | (3) |
|
|
555 | (1) |
|
|
556 | (1) |
|
|
556 | (1) |
|
|
557 | (1) |
|
Email and Disk Encryption |
|
|
557 | (1) |
|
Cryptoanalysis and Attacks |
|
|
558 | (5) |
|
|
561 | (2) |
|
Encryption-Cracking Tools |
|
|
563 | (1) |
|
Security Protocols and Countermeasures |
|
|
563 | (3) |
|
|
566 | (1) |
|
|
567 | (1) |
|
|
568 | (3) |
|
|
571 | (1) |
|
|
571 | (2) |
|
|
573 | (1) |
|
|
574 | (1) |
|
|
574 | (1) |
|
|
574 | (1) |
|
|
575 | (1) |
|
|
575 | (2) |
|
10-1 Examining an SSL Certificate |
|
|
575 | (1) |
|
|
576 | (1) |
|
10-3 Using a Steganographic Tool to Hide a Message |
|
|
577 | (1) |
|
|
577 | (5) |
|
Suggested Reading and Resources |
|
|
582 | (3) |
|
Chapter 11 Cloud Computing, IoT, and Botnets |
|
|
585 | (34) |
|
"Do I Know This Already?" Quiz |
|
|
585 | (3) |
|
|
588 | (1) |
|
|
588 | (13) |
|
Cloud Computing Issues and Concerns |
|
|
590 | (2) |
|
|
592 | (1) |
|
|
593 | (1) |
|
DevOps, Continuous Integration (CI), Continuous Delivery (CD), and DevSecOps |
|
|
593 | (3) |
|
|
596 | (2) |
|
|
598 | (1) |
|
Containers and Container Orchestration |
|
|
598 | (2) |
|
How to Scan Containers to Find Security Vulnerabilities |
|
|
600 | (1) |
|
|
601 | (5) |
|
|
604 | (2) |
|
IoT Implementation Hacking |
|
|
606 | (1) |
|
|
606 | (6) |
|
|
609 | (3) |
|
|
612 | (1) |
|
|
612 | (1) |
|
|
612 | (1) |
|
|
613 | (1) |
|
|
613 | (2) |
|
Suggested Reading and Resources |
|
|
615 | (4) |
|
Chapter 12 Final Preparation |
|
|
619 | (4) |
|
|
619 | (1) |
|
Suggested Plan for Final Review and Study |
|
|
620 | (1) |
|
|
621 | (2) |
Glossary of Key Terms |
|
623 | (26) |
Appendix A Answers to the "Do I Know This Already?" Quizzes and Review Questions |
|
649 | (36) |
Appendix B CEH Certified Ethical Hacker Cert Guide Exam Updates |
|
685 | (2) |
Index |
|
687 | |
Online Elements: Appendix C Study Planner |
|
Glossary of Key Terms |
|