Penetration Testing and Network Defense
This book is a practical guide to simulating, detecting, and responding to network attacks. Unlike other books on hacking, this book is specifically geared towards penetration testing. It includes important information about liability issues and ethics as well as procedures and documentation.
Using popular open-source and commercial applications, the book shows you how to perform a penetration test on an organization’s network, from creating a test plan to performing social engineering and host reconnaissance to performing simulated attacks on both wired and wireless networks.
Penetration Testing and Network Defense also goes a step further than other books on hacking, as it demonstrates how to detect an attack on a live network. By detailing the method of an attack and how to spot an attack on your network, this book better prepares you to guard against hackers. You will learn how to configure, record, and thwart these attacks and how to harden a system to protect it against future internal and external attacks.
Full of real-world examples and step-by-step procedures, this book is both an enjoyable read and full of practical advice that will help you assess network security and develop a plan for locking down sensitive data and company resources.
Review By: Stephen Long
03/30/2007
This books attempts to be the definitive resource on network penetration testing. It is well structured, giving the reader a basic understanding of the topic and legal and ethical considerations for being an "ethical hacker" (otherwise known as a penetration tester), as well as developing a step-by-step test plan and an in-depth discussion of each of the major penetration test areas. The final chapter is a case study of the attack portion of the pen test.
The book appears to be encyclopedic; however, some of the malware and tools appear to be outdated (the date on the fictitious final case study is May 2005). That being said, there are plenty of caveats about checking online for updated information, and that is the great strength of this book. Almost every tool and concept has an associated Web link, and the gem is Appendix B, which lists all the tools (in chapter order) in a table (Tool/URL/Description)—an excellent resource!
My main complaint with the book is the redundancy and sloppy editing. Often the same tool is mentioned in separate chapters and the same verbatim description is used (e.g., see “Rootkit” on page 395 and “Rootkits” on page 450). It’s as if each chapter was written as a standalone unit and not a part of a whole. Also, some descriptions of a tool’s options are explained in text and followed with the same information in a table. With tighter editorial control, the book possibly could have been one-third as long.
For a tester new to security testing, especially to testing Web applications, this book presents useful case studies. Chapter 7 goes into great detail on Web server attacks and discusses some of the weaknesses of the major web languages. Many of the concepts and attacks presented here should be included in your next security test plan. The chapter also addresses detecting Web attacks and protecting against them so you can offer some suggestions for mitigating the problems you discover in your testing.
The case study at the end of each chapter nicely ties up that chapter’s concepts. However some steps in attack descriptions are glossed over making it difficult to understand fully how the attack really works. In summary, this book is a reasonable investment for someone new to penetration testing; a pro would probably be bored and not finish it. It is a handy, slightly out-of-date reference that gives a good overview of the field.