Before we begin…
“You have no idea how good you have it.”
Johnny Long, preface of Kali Linux Revealed.
Early yesterday morning, I opened my front door to find a brown package waiting patiently for me to scoop it up and tear it open. Inside that package was my copy of Kali Linux Revealed: Mastering the Penetration Testing Distribution. I would have had the book sooner, but when I initially ordered it, I wasn’t paying attention and opted in for the standard 4-5 day delivery. Needless to say, I’ve been very excited for it to arrive, for the past four days. Having nothing on my plate for yesterday and today, I spent several hours pouring through the book. This review will cover what I found within…
Before we go any further, I want to state this up front: This book is not designed, nor was it ever intended, to cover offensive security techniques, or the specifics of tools within the Kali Linux platform, à la Penetration Testing, by Georgia Weidman. Rather, this book acts as the first official Kali Linux user manual, guiding you in unlocking the full potential of the Kali Linux platform – a truly powerful ability to have. Now, back to the good stuff…
The Book Review
Kali Linux Revealed begins with a beautifully written historical account of the pre-Kali days of penetration testing distributions, by none other than Johnny Long, of Hackers for Charity (and much more) fame. In his preface, Mr. Long discusses his experience of days long past in the Information Security industry, taking us back to the earliest days of Mati “Muts” Aharoni’s foray into penetration testing distributions – beginning with WHoppiX, and traversing through WHAX, the early versions of BackTrack Linux, and finally into a discussion on Kali. He wraps up his preface with a shout out to the Kali Linux development team, the Kali Linux community, and a warming congratulations to us, the readers, for taking our first steps towards mastering the Kali Linux platform.
Following directly after Mr. Long’s preface, Mati Aharoni takes us right into the foreword, throwing us into a scenario we’ve all likely experienced in some shape or form – if not specific to Kali Linux itself. In Mr. Aharoni’s foreword, he details how such a scenario ultimately lead to the creation of this Kali Linux book, and how the book took on a life of its own, once it was under way. Much like Mr. Long, Mr. Aharoni wishes the reader well on their journey to mastering the Kali Linux platform.
Chapter Summaries & Thoughts
Like many first chapters, Chapter 1 of this book begins with a brief history of the Kali Linux distribution. It takes us back to the days of Backtrack, and what lead the Offensive Security team to develop Kali Linux in its place. It then leads into the relationship between Kali Linux and Debian. It discusses the purpose (and subsequent use cases) behind the Kali Linux distribution, summarizing it as a “penetration testing and security auditing” platform, but goes on to elaborate how much more than that it actually is. It goes on to elaborate upon several different use cases for Kali, ranging from Information Gathering, to Reverse Engineering, Digital Forensics, and Post Exploitation – plus everything in-between. Each use case comes with a description of that particular task. For those of us familiar with the Kali Linux distribution, you’ll immediately recognize these use cases as the menu options within the OS, where the various tools reside within. Next, the book will step the reader through six of the most notable features within Kali Linux, before wrapping up the chapter with a discussion on the internal policies of the operating system.
Chapter 2 of this book dives right in to getting the user prepared to download, and use, the Kali Linux platform. The first half of the chapter walks the user through obtaining an image of Kali Linux, and then leads into the second half of the chapter, which walks the user through booting into the platform for their very first time. The instructions are well-worded, the URLs are all live and working. For those of us that already have a copy of Kali Linux, and know how to use it, this chapter is unnecessary. However, it does offer some useful tips for building out a Kali-based virtual machine, for people new to VMs. For the beginners, however, it’s a very important stepping stone to what comes next…
Kali is a Linux distribution. As such, some familiarity with the Linux command line is a requirement for using the operating system effectively. Chapter 3 takes a slight step back from Kali, and discusses Linux as a whole. In this chapter, the reader can expect to find information about what Linux is, what a “command line” is, and some of the more basic commands. The chapter is wrapped up with a solid discussion on the Kali file system, giving a beginner user their first look at concepts such as the Filesystem Hierarchy Standard, as well as process management.
Chapter 4 starts off with a brief discussion of the minimal system requirements that are necessary to run Kali Linux. Overall, this entire chapter is focused on the installation process, offering step-by-step instructions for installing Kali Linux to a hard drive. The instructions are further broken down into different scenarios. The first section involves a standard installation, where the second section walks the reader through installing Kali on a fully encrypted file system. This chapter also discusses instructions on performing unattended installations, and ARM-based installations.
Chapter 5 is all about configuring Kali Linux. Up until this point, the earlier chapters definitely had beginners as their target audience. Skimming through this chapter, however, revealed a few useful tips and tricks for the configuration process that even experienced users will benefit from. Chapter 5 begins with a thorough discussion on network configuration in Kali. It then steps the reader through managing Unix groups and users. Finally, it wraps up with an excellent discussion on service configuration and management. Some of the services it discusses are the management of PostgreSQL databases, and SSH tunnels for remote logins.
Chapter 6 is your standard self-help section; like all operating systems, Kali Linux has plenty of online documentation, and other methods to help you solve issues within the platform. The Kali Linux community is also an excellent resource – which this chapter rightly points out – and definitely worth getting involved with. Where this chapter really shines, in my opinion, is the final section. The final section of this chapter takes the reader through an excellent discussion on how to file bug reports. Having worked in the IT industry, I can tell you: I’ve seen my fair share of terrible bug reports. This section discusses communication methods, and potential content to include in a bug report; and the best part about this section is that it extends beyond the realm of Kali Linux. I highly recommend all readers – newbies, or seasoned users – to read this section, especially if you do not have any experience with bug report submissions.
Chapter 7 was definitely one of my favorites. So far, the reader should have a basic understanding of Linux commands, how to download, install, and configure Kali, and how to troubleshoot problems using the various forms of documentation and the wonderful Kali Linux community. And with that knowledge, Kali Linux just works… but it’s not fully optimized. Chapter 7 discusses various techniques for securing the Kali platform; because, yes, like all operating systems, it, too, needs to be hardened. This chapter is all about hardening the Kali platform, and there was a lot of fantastic information in here. This chapter discusses how to define security policies, secure network services, perform proper monitoring and logging, and design strong firewalls and packet filtering rules. The concepts are all explained well, though I did feel like some of them could have been touched on just a bit more. With that said, certain concepts within this chapter could be the subject of its own book, so for brevity’s sake, I understand. I recommend all readers – experienced, or otherwise – look through this section, as there were a lot of hidden gems in here.
Chapter 8 begins on page 170, so thinking all the way back to the contents of page 4 might be a little tough for some people. I’ll give you a hint: The authors discussed Kali’s relationship with Debian, on page 4. Kali Linux is based on Debian Testing. If you recall, Debian Testing is the current development state of the next stable Debian distribution. With that said, having a firm understanding of Debian package management is a must. This chapter will walk the reader through concepts such as the APT command, and DPKG. This chapter gives an excellent introduction to advanced APT configuration techniques, but I also recommend using it as an anchor point to your research. Overall, this chapter contains a lot of meaty information about package management on Debian systems, and much of what you learn in this section can be applied to any Debian-based platform.
Chapter 9 is another one of those “must read” chapters. Simply titled Advanced Usage, I found that this chapter contained a lot of content that I found quite useful. Chapter 9 focuses on concepts such as recompiling Kali packages – a task typically, but not always, performed by developers and contributors to the Kali Platform, as well as recompiling the Linux kernel, and designing custom images of Kali. It also thoroughly covered adding persistence to a live image of Kali, via external media.
For those of you running, or planning on running, Kali in an enterprise level environment, this chapter is for you. Chapter 10 discusses the scalability of Kali linux, and the various methods for making that happen. It lists instructions for over-the-network Kali installations via PXE Boot. It also discusses configuration management with SaltStack. Lastly, the authors wrap this chapter up with a discussion on modifying Kali to conform more to the personal needs of your specific environment. I’ve never had the need to put most of these concepts to use, in an enterprise environment, but they’re all well-documented for readers out there who might need to perform this type of scaling and enterprise-level management.
Final chapter of the book. Chapter 11. If you’ve made it this far: Congratulations! You likely have a pretty solid understanding of Kali Linux. This chapter, titled “Introduction to Security Assessments,” covers the fundamental concepts of performing a security assessment. It starts out by laying some strong foundation – discussing the CIA triad. Confidentiality, Integrity, and Availability. The three components of that model are considered the most crucial components in Information Security. This book gives an excellent discussion of this model and why it’s important. The authors then lead the reader into another well-worded discussion concerning the various types of assessments that are typically performed in a penetration test or security audit. One thing that really shines about this chapter is that it presents the reader with formal techniques for conducting a penetration test or security audit – something that the reader may not have had access to. All of the information presented is very professional. For individuals who did not go to school for IT Security, or obtain certifications… this chapter is an excellent first step into the formalities of Information Security. For that reason, this is one of my favorite chapters in the book. Over the course of my time in the Information Security field, I’ve met a lot of excellent penetration testers with absolutely no knowledge on how to perform a professional assessment. This chapter will help individuals in that boat get well on their way to rectifying that issue.
I really enjoyed reading through this system manual. The aim of this book is to provide Kali users with as much information possible to realize the full potential of the distribution, beyond the out-of-the-box state it comes in. The target audience is very much beginners to the distribution, or to Information Security in general, but the later chapters were peppered with hidden gems that even the most advanced user will find helpful. If you are a frequent user of the Kali platform, this book is for you; it’s an invaluable resource, and one that you may find yourself going back to time and time again. It’s worth having on your shelf. Job well done, guys. Job well done.
Link to purchase the book on Amazon: Kali Linux Revealed: Mastering the Penetration Testing Distribution. ($25.67 – paperback)