Rootkits: Subverting the Windows Kernel: Subverting the Windows Kernel 1st. Ed. Edition
| Greg Hoglund (Author) Find all the books, read about the author, and more. See search results for this author |
Use the Amazon App to scan ISBNs and compare prices.
"It's imperative that everybody working in the field of cyber-security read this book to understand the growing threat of rootkits."
--Mark Russinovich, editor, Windows IT Pro / Windows & .NET Magazine
"This material is not only up-to-date, it defines up-to-date. It is truly cutting-edge. As the only book on the subject, Rootkits will be of interest to any Windows security researcher or security programmer. It's detailed, well researched and the technical information is excellent. The level of technical detail, research, and time invested in developing relevant examples is impressive. In one word: Outstanding."
--Tony Bautts, Security Consultant; CEO, Xtivix, Inc.
"This book is an essential read for anyone responsible for Windows security. Security professionals, Windows system administrators, and programmers in general will want to understand the techniques used by rootkit authors. At a time when many IT and security professionals are still worrying about the latest e-mail virus or how to get all of this month's security patches installed, Mr. Hoglund and Mr. Butler open your eyes to some of the most stealthy and significant threats to the Windows operating system. Only by understanding these offensive techniques can you properly defend the networks and systems for which you are responsible."
--Jennifer Kolde, Security Consultant, Author, and Instructor
"What's worse than being owned? Not knowing it. Find out what it means to be owned by reading Hoglund and Butler's first-of-a-kind book on rootkits. At the apex the malicious hacker toolset--which includes decompilers, disassemblers, fault-injection engines, kernel debuggers, payload collections, coverage tools, and flow analysis tools--is the rootkit. Beginning where Exploiting Software left off, this book shows how attackers hide in plain sight.
"Rootkits are extremely powerful and are the next wave of attack technology. Like other types of malicious code, rootkits thrive on stealthiness. They hide away from standard system observers, employing hooks, trampolines, and patches to get their work done. Sophisticated rootkits run in such a way that other programs that usually monitor machine behavior can't easily detect them. A rootkit thus provides insider access only to people who know that it is running and available to accept commands. Kernel rootkits can hide files and running processes to provide a backdoor into the target machine.
"Understanding the ultimate attacker's tool provides an important motivator for those of us trying to defend systems. No authors are better suited to give you a detailed hands-on understanding of rootkits than Hoglund and Butler. Better to own this book than to be owned."
--Gary McGraw, Ph.D., CTO, Cigital, coauthor of Exploiting Software (2004) and Building Secure Software (2002), both from Addison-Wesley
"Greg and Jamie are unquestionably the go-to experts when it comes to subverting the Windows API and creating rootkits. These two masters come together to pierce the veil of mystery surrounding rootkits, bringing this information out of the shadows. Anyone even remotely interested in security for Windows systems, including forensic analysis, should include this book very high on their must-read list."
--Harlan Carvey, author of Windows Forensics and Incident Recovery (Addison-Wesley, 2005)
Rootkits are the ultimate backdoor, giving hackers ongoing and virtually undetectable access to the systems they exploit. Now, two of the world's leading experts have written the first comprehensive guide to rootkits: what they are, how they work, how to build them, and how to detect them. Rootkit.com's Greg Hoglund and James Butler created and teach Black Hat's legendary course in rootkits. In this book, they reveal never-before-told offensive aspects of rootkit technology--learn how attackers can get in and stay in for years, without detection.
Hoglund and Butler show exactly how to subvert the Windows XP and Windows 2000 kernels, teaching concepts that are easily applied to virtually any modern operating system, from Windows Server 2003 to Linux and UNIX. They teach rootkit programming techniques that can be used for a wide range of software, from white hat security tools to operating system drivers and debuggers.
After reading this book, readers will be able to
- Understand the role of rootkits in remote command/control and software eavesdropping
- Build kernel rootkits that can make processes, files, and directories invisible
- Master key rootkit programming techniques, including hooking, runtime patching, and directly manipulating kernel objects
- Work with layered drivers to implement keyboard sniffers and file filters
- Detect rootkits and build host-based intrusion prevention software that resists rootkit attacks
Frequently bought together
Customers who viewed this item also viewed
Editorial Reviews
About the Author
Greg Hoglund has been a pioneer in the area of software security. He is CEO of HBGary, Inc., a leading provider of software security verification services. After writing one of the first network vulnerability scanners (installed in over half of all Fortune 500 companies), he created and documented the first Windows NT-based rootkit, founding rootkit.com in the process. Greg is a frequent speaker at Black Hat, RSA, and other security conferences.
James Butler, Director of Engineering at HBGary, has a world-class talent for kernel programming and rootkit development and extensive experience in host-based intrusion-detection systems. He is the developer of VICE, a rootkit detection and forensics system. Jamie's previous positions include Senior Security Software Engineer at Enterasys and Computer Scientist at the National Security Agency. He is a frequent trainer and speaker at Black Hat security conferences. He holds a masters of computer science from the University of Maryland, Baltimore County. He has published articles in the IEEE Information Assurance Workshop, Phrack, USENIX ;login:, and Information Management and Computer Security.
I'd like to read this book on Kindle
Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.
Product details
- Publisher : Addison-Wesley Professional; 1st. Ed. edition (July 22, 2005)
- Language : English
- Paperback : 352 pages
- ISBN-10 : 0321294319
- ISBN-13 : 978-0321294319
- Item Weight : 1.23 pounds
- Dimensions : 7.38 x 0.8 x 9.25 inches
- Best Sellers Rank: #875,174 in Books (See Top 100 in Books)
- #124 in CompTIA Certification Guides
- #498 in Microsoft OS Guides
- #697 in Privacy & Online Safety
- Customer Reviews:
About the author

Discover more of the author’s books, see similar authors, read author blogs and more
Customer reviews
Top reviews from the United States
There was a problem filtering reviews right now. Please try again later.
The book is organized into three major sections, even if it's not explicitly marked as such. The first section serves as an introduction to the topic and some of the high level concepts you'll need to know about Windows, control mechanisms, and where you can introduce your code. The second part is a highly technical tour of the techniques used to hook your rootkit in and hide it, And the third section is really one chapter covering detection of rootkits.
The first few chapters, which serve to introduce the topic, get technical right away. Chapter 2, for example, shows you some basic mechanisms for hooking in your rootkit. If you're getting lost at this point, you'll want to probably augment your reading with a Win32 internals book. The resources listed by the authors, though, are great. By this point you can also see that the writing is clear and the examples contribute perfectly to the topic. Hardware hooking basics are covered in chapter 3, which should give you some indication of the book's pace (quick!).
By the time you get to chapter 4 and discussing how to hook into both userland and the kernel, you're getting at some very valuable material. Although the book focuses on kernel hooking, a brief description of userland hooking is provided. Chapter 5 covers runtime patching, a black art that's not well known. This is almost worth the full price of admission, but the material gets even better.
In chapters 6-9 you get into some serious deep voodoo and dark arts. In these chapters you'll learn the basics of direct kernel object manipulation, layered device drivers (which can save you a lot of work), hardware manipulation, and network handling. All of these are techniques used by rootkit authors to varying degrees and effect, so you should become familiar with them. The code examples are clear and functional, and you'll learn enough to write a basic rootkit in only about 150 pages. Simple keyboard sniffers and covert channels are described in the code examples. Useful stuff.
I can't say I found many errors or nits in the book. There's some problems at times getting the code formatting just right, and what appear to be a few stray characters here and there, but nothing too obvious to me. Then again, I'm not a Windows kernel programmer, so I don't feel qualified to comment on the correctness of the code.
In the finest tradition of using a blog and dynamic website to assist your readers, the authors have set up rootkit.com, which nicely supplements their book. Most of the resources they mention in the book are available here, as well as a great array of contributors and evolving techniques. Without the book the site is still useful, but together they're a great combination. Too many books lose their value once you read them, and some books stay with you because you're having difficulty understanding the authors. Rootkits will stay near you while you develop your skills because it's a lot of material in a small space, and although it's very clearly written, there is a deep amount of material to digest. You'll be working with this one for a while.
My only major wish for this book is for it to have covered detection more significantly. One chapter covers how to detect rootkits, and although you may be able to look for some specific telltale signs of rootkits depending on how they were introduced, a more complete coverage of this approach would have made the book even more worthwhile.
Rootkits is an invaluable contribution in the wider understanding of advanced attack and hacker techniques. Previously, much of this material was known to only a handful of people, and assembling your own knowledge base was difficult. Hoglund and Butler write clearly, use great code examples, and deliver an excellent book on a high technical and specialized topic. If you're interested in learning how to write your own rootkit or detect someone else's rootkit on your system, you should definitely start with this book.
However, this book is still a good read for a Windows administrator who wants to know how to better deal with malware outbreaks, and in gauging the potential impact on the enterprise.
As for practical application; this book has helped me understand the analysis of a ZeroAccess persistent rootkit, something that I had been dealing with at work.
[...]
Kernel programming -- and more specifically, hacking the undocumented internals of a closed source OS's kernel -- is one of the most challenging tasks in programming. The authors handle this well, walking the fine line between assuming too much of their reader and wasting time on fundamental concepts. The intended audience will have good knowledge of Intel x86 architecture and experience with C programming. But, if this is your first experience with rootkits, the book is an excellent resource and will get you up to speed. Likewise, if you have already experimented with rootkits of your own, this book is the perfect reference material. Indeed it's the only book that has yet been written on the topic.
As computer security gains in importance, skills that were previously black arts (reverse engineering, disassembling, shellcode authoring, kernel hacking, etc) are finally moving above-ground, and I think this is a good thing. This book is part of that movement.
This book should have broad appeal. I recommend it to device driver developers, blackhat hackers that need to cover their tracks, security researchers, and anyone wanting a better understanding of the Windows kernel.
Top reviews from other countries
Rootkits have been in prominence in the recent past due to the Sony's infamous DRM. Apparently that could be described as "benevolent" use of rootkits. This is one of the many first books to come on in the recent past. The knowledge of rootkits were not available to general public till recently. The book describes in detail the different classes of rootkits that could be found in windows operating system and their mechanism of operation. There still exists a vacuum of a book on rootkit in Unix operating systems. Rootkits were known to be more prevalent in Unix versions than windows systems. The book describes in detail the mechanisms of action of rootkits and does describe briefly the methods for detection of rootkits.
The book has been an end result of the authors long interest in rootkits, the author has setup a website and forum named rootkit which bears the same name. The book looks at the possible ways of subverting the operating system. This includes looking at both the software and hardware methods that could be used. It also looks at the possible methods of detection and describes them in lesser details. Each of methods of subverting the operating is described in detail with sample pieces of code. The book should allow a reader with a reasonable knowledge of programming and windows architecture to create variants of rootkits described or create new ones.
The concept of rootkits have been around in the unix world for a while. The generic concepts of rootkits have remained more or less the same over the past few years. The methods of operation of rootkits in windows might chance as a result of change in architecture to windows. This is especially relevant as the rootkits depend on windows device driver architecture, hence any changes in windows would make the techniques described in the book obsolete. Yet the generic methods that are described would remain valid.
The book starts off with a chapter aptly titled Leave No Trace it goes on to give a brief description of how do rootkits works. The it continues with high level description on HIPS and NIDS and how those might detect a rootkilt. The chapter also have a short history of rootkits.
The second chapter titled Subverting the Kernel starts of with an introduction into device drivers in windows. It goes on describe how compile device drivers and debug them. It also describes the process of loading and unloading device drivers (or rootkits). There is also a high level description of structure of rootkit.
There has been quite a lot of talk about Covert Channels in the past. The authors too delve a bit into the possibility of using covert channels , the possible ways of using TCP/IP is discussed. The last chapter is dedicated to Rootkit Detection. The authors take a short description of methods for detecting rootkits. The detection of root kits by analysis of behavior looking at entries in registries and other methods. The rootkit.com is again referred here and resources discussed in the book could be found there.
The book assumes a working knowledge of programming in C especially pointers, as code samples are written in C. For running the samples that comes along with the book, some of them would need a copy of device driver kit and a C compiler. It would also assume an idea of Windows device driver architecture, as it an understanding of the device driver architecture could come in handy. It is first of the books to appear solely devoted to rootkits, although some of it have been briefly discussed in some books notably Exploiting Software: How to Break Code, which shares one of the authors.
The author assumes Intel architecture and windows operating system . The operating system recommended would be windows 2000 or later, the device driver architecture has undergone changes from windows 98 to windows 2000 and backward compatibility is not present.
The book is very readable and the language is clear and lucid. The technical contents of the book are accurate. The samples that are included in the book are straightforward and easy to follow. The book is supplemented by rootkit.com with more samples and resources. The illustrations are used only in the places where it’s necessary and they are helpful in understanding the concepts described.







