About the Author |
|
xv | |
About the Technical Reviewers |
|
xvii | |
Acknowledgments |
|
xix | |
Introduction |
|
xxi | |
|
PART 1 Honeypots in General |
|
|
|
An Introduction to Honeypots |
|
|
3 | (32) |
|
|
3 | (2) |
|
|
5 | (1) |
|
|
5 | (6) |
|
|
5 | (2) |
|
|
7 | (1) |
|
|
7 | (1) |
|
|
8 | (1) |
|
|
8 | (1) |
|
|
8 | (2) |
|
Internet Simulation Environment |
|
|
10 | (1) |
|
Basic Honeypot Components |
|
|
11 | (2) |
|
|
13 | (7) |
|
|
13 | (1) |
|
Honeypot Interaction Levels |
|
|
14 | (1) |
|
Real Operating System Honeypot |
|
|
15 | (1) |
|
|
16 | (4) |
|
Summary of Honeypot Types |
|
|
20 | (1) |
|
|
20 | (6) |
|
|
21 | (3) |
|
|
24 | (2) |
|
|
26 | (1) |
|
|
26 | (6) |
|
|
26 | (4) |
|
Automated Attack Programs |
|
|
30 | (1) |
|
|
31 | (1) |
|
|
32 | (1) |
|
|
32 | (2) |
|
|
34 | (1) |
|
A Honeypot Deployment Plan |
|
|
35 | (28) |
|
Honeypot Deployment Steps |
|
|
35 | (1) |
|
|
36 | (1) |
|
|
37 | (1) |
|
|
37 | (4) |
|
|
37 | (2) |
|
|
39 | (1) |
|
Hardening a Virtual Honeypot Host |
|
|
40 | (1) |
|
Honeypot System Network Devices |
|
|
41 | (13) |
|
|
41 | (5) |
|
|
46 | (1) |
|
|
46 | (1) |
|
|
47 | (4) |
|
|
51 | (1) |
|
|
51 | (1) |
|
Honeypot Network Devices Summary |
|
|
52 | (2) |
|
Honeypot System Placement |
|
|
54 | (5) |
|
|
55 | (1) |
|
|
56 | (1) |
|
|
57 | (1) |
|
Honeypot Placement Summary |
|
|
58 | (1) |
|
|
59 | (4) |
|
|
|
Windows Honeypot Modeling |
|
|
63 | (26) |
|
|
63 | (2) |
|
Common Ports and Services |
|
|
65 | (3) |
|
|
68 | (4) |
|
|
68 | (1) |
|
|
69 | (1) |
|
Windows 2000 Domain Controller |
|
|
69 | (1) |
|
|
70 | (1) |
|
|
70 | (1) |
|
|
71 | (1) |
|
|
72 | (11) |
|
|
72 | (1) |
|
|
73 | (5) |
|
|
78 | (1) |
|
|
78 | (1) |
|
|
79 | (1) |
|
|
80 | (1) |
|
|
80 | (3) |
|
|
83 | (1) |
|
|
83 | (3) |
|
Common Windows Applications |
|
|
86 | (1) |
|
|
87 | (1) |
|
|
88 | (1) |
|
Windows Honeypot Deployment |
|
|
89 | (32) |
|
|
89 | (7) |
|
Do You Really Need a High-Interaction Honeypot? |
|
|
90 | (1) |
|
Real Operating System or Virtual Machine? |
|
|
90 | (1) |
|
Which Microsoft Operating System to Choose? |
|
|
90 | (3) |
|
|
93 | (1) |
|
|
93 | (1) |
|
What Support Tools Are Available? |
|
|
93 | (1) |
|
Which Services and Applications to Install? |
|
|
94 | (1) |
|
|
94 | (1) |
|
|
94 | (1) |
|
What Hardware Is Required? |
|
|
95 | (1) |
|
|
96 | (4) |
|
|
97 | (2) |
|
Honeypot Installation Tips |
|
|
99 | (1) |
|
Hardening Microsoft Windows |
|
|
100 | (20) |
|
Physically Securing the Honeypot |
|
|
100 | (1) |
|
Installing Necessary Patches |
|
|
101 | (2) |
|
|
103 | (1) |
|
Hardening the TCP/IP Stack |
|
|
104 | (1) |
|
Removing or Securing Network Shares |
|
|
104 | (1) |
|
Filtering Network Traffic |
|
|
105 | (1) |
|
Restricting Unauthorized Software Execution |
|
|
106 | (11) |
|
|
117 | (1) |
|
Securing Authentication Protocols |
|
|
118 | (1) |
|
|
119 | (1) |
|
|
120 | (1) |
|
|
121 | (30) |
|
|
121 | (1) |
|
|
122 | (1) |
|
|
123 | (13) |
|
|
123 | (8) |
|
|
131 | (3) |
|
|
134 | (2) |
|
|
136 | (13) |
|
|
137 | (2) |
|
|
139 | (1) |
|
|
140 | (2) |
|
|
142 | (3) |
|
|
145 | (1) |
|
|
146 | (1) |
|
|
146 | (1) |
|
|
147 | (1) |
|
Reviewing the Honeyd Directory Structure |
|
|
148 | (1) |
|
|
149 | (2) |
|
|
151 | (16) |
|
Using Honeyd Command-Line Options |
|
|
151 | (1) |
|
Creating a Honeyd Runtime Batch File |
|
|
152 | (2) |
|
Setting Up Honeyd Configuration Files |
|
|
154 | (11) |
|
Configuring Honeyd Templates |
|
|
154 | (7) |
|
Assembling Templates in a Honeyd Configuration File |
|
|
161 | (4) |
|
Testing Your Honeyd Configuration |
|
|
165 | (1) |
|
|
166 | (1) |
|
|
167 | (22) |
|
|
167 | (5) |
|
|
168 | (2) |
|
Script Input/Output Routines |
|
|
170 | (1) |
|
|
171 | (1) |
|
Honeyd Configuration File Syntax |
|
|
171 | (1) |
|
|
172 | (6) |
|
|
172 | (1) |
|
Cisco Telnet Session Script |
|
|
173 | (3) |
|
|
176 | (2) |
|
|
178 | (2) |
|
|
180 | (8) |
|
|
180 | (1) |
|
An Offensive Response Script |
|
|
181 | (2) |
|
|
183 | (5) |
|
|
188 | (1) |
|
Other Windows-Based Honeypots |
|
|
189 | (34) |
|
|
189 | (1) |
|
|
190 | (2) |
|
Installing and Running LaBrea |
|
|
191 | (1) |
|
|
191 | (1) |
|
|
192 | (4) |
|
|
193 | (1) |
|
Logging and Alerting with SPECTER |
|
|
194 | (2) |
|
|
196 | (16) |
|
Installing and Running KFSensor |
|
|
197 | (1) |
|
Emulating Services with KFSensor |
|
|
198 | (10) |
|
Logging and Alerting with KFSensor |
|
|
208 | (2) |
|
Configuring KFSensor Listeners and Anti-DoS Settings |
|
|
210 | (2) |
|
|
212 | (2) |
|
Emulating Services with PatriotBox |
|
|
212 | (2) |
|
Creating Custom PatriotBox Port Listeners |
|
|
214 | (1) |
|
Logging and Alerting with PatriotBox |
|
|
214 | (1) |
|
|
214 | (5) |
|
|
216 | (1) |
|
|
216 | (2) |
|
|
218 | (1) |
|
|
219 | (1) |
|
|
219 | (4) |
|
PART 3 Honeypot Operations |
|
|
|
|
223 | (46) |
|
Why Use a Sniffer and an IDS? |
|
|
223 | (4) |
|
|
223 | (2) |
|
|
225 | (1) |
|
How a Sniffer and IDS Complement Each Other |
|
|
226 | (1) |
|
Where to Place the Sniffer and IDS |
|
|
226 | (1) |
|
|
227 | (12) |
|
|
227 | (3) |
|
|
230 | (7) |
|
|
237 | (2) |
|
Network Protocol Capturing Basics |
|
|
239 | (1) |
|
|
240 | (10) |
|
Viewing Packet Information |
|
|
241 | (3) |
|
|
244 | (5) |
|
Using Tcpdump or WinDump with Ethereal |
|
|
249 | (1) |
|
Using Built-in Ethereal Command-Line Tools |
|
|
249 | (1) |
|
|
250 | (18) |
|
Understanding How Snort Works |
|
|
250 | (2) |
|
|
252 | (1) |
|
|
252 | (16) |
|
Using Snort Click-and-Point |
|
|
268 | (1) |
|
|
268 | (1) |
|
|
269 | (32) |
|
|
269 | (7) |
|
|
272 | (3) |
|
|
275 | (1) |
|
|
276 | (8) |
|
In-Band vs. Out-of-Band Monitoring |
|
|
276 | (1) |
|
|
277 | (7) |
|
Protection for Monitoring Communications |
|
|
284 | (1) |
|
|
284 | (11) |
|
|
285 | (1) |
|
Logging of Security Events |
|
|
285 | (2) |
|
Centralized Data Collection |
|
|
287 | (3) |
|
|
290 | (1) |
|
|
291 | (2) |
|
|
293 | (1) |
|
A Honeynet Security Console |
|
|
294 | (1) |
|
Useful Information Extraction |
|
|
294 | (1) |
|
|
295 | (1) |
|
|
295 | (5) |
|
|
295 | (1) |
|
|
296 | (4) |
|
|
300 | (1) |
|
|
301 | (36) |
|
|
301 | (1) |
|
Honeypot Analysis Investigations |
|
|
302 | (2) |
|
|
302 | (1) |
|
|
303 | (1) |
|
After the Initial Compromise |
|
|
303 | (1) |
|
A Structured Forensic Analysis Approach |
|
|
304 | (21) |
|
Taking the Honeypot Offline |
|
|
305 | (1) |
|
|
305 | (1) |
|
Making Copies of the Hard Drive |
|
|
306 | (3) |
|
Analyzing Network Traffic |
|
|
309 | (2) |
|
Analyzing the File System |
|
|
311 | (6) |
|
|
317 | (1) |
|
Analyzing the Operating System |
|
|
318 | (1) |
|
|
319 | (5) |
|
|
324 | (1) |
|
Modifying and Redeploying the Honeypot System |
|
|
324 | (1) |
|
Forensic Analysis in Action |
|
|
325 | (10) |
|
|
325 | (7) |
|
The WhiteDoe Real Honeypot |
|
|
332 | (3) |
|
|
335 | (1) |
|
|
336 | (1) |
|
|
337 | (26) |
|
An Overview of Code Disassembly |
|
|
337 | (2) |
|
|
339 | (10) |
|
|
340 | (5) |
|
Assembly Language Instructions on Computer Platforms |
|
|
345 | (4) |
|
Assembler and Disassembler Programs |
|
|
349 | (9) |
|
|
350 | (3) |
|
|
353 | (4) |
|
|
357 | (1) |
|
Malicious Programming Techniques |
|
|
358 | (2) |
|
|
358 | (1) |
|
|
358 | (1) |
|
|
358 | (1) |
|
|
359 | (1) |
|
|
360 | (1) |
|
|
360 | (1) |
|
|
361 | (2) |
Index |
|
363 | |