



Designing BSD Rootkits: An Introduction to Kernel Hacking
C**N
Wrong OS and too old
Only about 1/4 through it. So far here are my gripes:It's based on FreeBSD 6.0 32-bit. No one really uses FreeBSD so why even bother studying rootkits on this platform? As of 2015, this release has long been EOL'ed. Now days, 32-bit is just a bad choice for anything but academic study. But you know this before you buy the book. What you don't know, if like me you have never used BSD, is that BSD is really not that similar to Linux. Yes, it works the same, but all the libs are different. Almost none of the C system libs you would use on Linux exist on FreeBSD. And, if they do, its almost in name only as the API is different.I believe most of the disappointment comes from my lack of ever using BSD before. Installing it was a PITA and updating it is even more confusing since the system uses both ports and a package system. Writing C in FreeBSD, as mentioned, is also a rude awakening to anyone only familiar with Linux or Windows. Most all the libs you are familiar with are not there. Time to re-learn everything. A chapter dedicated to setting up the OS and environment would have been really nice. A crash course chapter on C programming on BSD would have been nice too.Finally, the errata page is virtually non-existent. Not a single update for newer releases of the OS or for 64-bit solutions. There is two entries, for typos made in the book. That's all.The ideas: creating LKM, hooking syscalls, DKOM, kernel patching, etc. are all great academic gems, but since porting this knowledge over to a modern, popular OS is non-trivial, I am going to have to say this book is purely academic. Don't get it if you want something practical.
B**L
Why would you use AT&T syntax!?
This would be a 5-star book, if not for the fact that it uses AT&T syntax for ASM. Now, I get that *nix uses AT&T by default, but it is, in my not so humble opinion, stupid. Pretty much any tool you would ever want to use has the option of using Intel syntax, which is much more readable, and easier to understand. Simply put, AT&T syntax is the thing that should not be. Honestly, I don't think I've ever met an ASM dev, reverse engineer, or anyone else who prefers AT&T, and the author's decision to use said syntax seems to me like some kind of twisted torture method, akin to waterboarding a man with orange juice, immediately after he brushes his teeth.@biebsmalwareguy
N**N
Enjoyable primer on system kernel penetration
--- DISCLAIMER: This is a requested review by No Starch Press, however any opinions expressed within the review are my personal ones. ---This enjoyable readable book gradually and very systematically evolves around hacking the kernel of a BSD system.Chapter 1: Loadable Kernel Modules 22p.Chapter 2: Hooking 13p.Chapter 3: Direct Kernel Object Manipulation 20p.Chapter 4: Kernel Object Hooking 4p.Chapter 5: Run-Time Kernel Memory Patching 27p.Chapter 6: Putting It All Together 26p.Chapter 7: Detection 8p.Its written in a style that allows also non-developers to grasp the main procedures and steps involved for modifying a systems kernel (assuming the attacker got access to a privileged system account).Chapters 1 to 5 explain the several methods for modifying the kernel.While the book is divided into 7 chapters, its most value really is the Chapters 6 which has many of those WoW effects included.All or most technics described of chapters 1-5 will be used in chapter 6 for show casing how to circumvent an HIDS. Here is where all learned technics finally come all together.So the reader dabbles with the author from an initial "simple" idea of bypassing an HIDS from one issue to the next. First the system call is hooked, so technically its kind of working, but then we realize that in order to make it perfect we need to hide the just created file (which contains the execution redirection routine). So the next obvious step is to hide the file so we dont leave a footprint on the system, just to realize that we need to hide the KLD (Dynamic Kernel Linker). So now everything is hidden but we forgot about the change of the /sbin directories access/ modification and change time, so we have to go after that too...Its technically very interesting to learn how the author approaches the issues involved in order to avoid being detected by the HIDS or commands the user might use. That the author is technically on top of things is also shown f.e. by some info included in the book which is already referring to FreeBSD 7.To get the most out of the book you ideally have programming knowledge of C, assembly etc. and debugging software systems. So I think its most valuable to system administrators, developers and security consultants.
A**Y
Definitely worth a read
This book is a fantastic resource for programmers, FreeBSD enthusiasts and general UNIX hackers.The book is laid out quite well, with fantastic examples and explanations.Unfortunately there are a few mistakes in the code examples due to some changes in the FreeBSD code (eg. the sys_ prefix was added to FreeBSD native syscalls )
A**P
interesting and fun to read
Great book on this rare topic, easy and fun to read with practical examples.
A**E
Fun and informative
I don't do a lot with BSD nowadays.. a lot of software customers want is only for Linux, and although sometimes it could be ported, the customers seem to want Linux. However, I cut my teeth on old SunOS, so bsdisms are familiar and friendly to me.Working through this book was fun and informative. You can download sources from [....]The concepts apply equally well to Linux, of course, and I also realized that some of the areas explored come up in ordinary application work and especially in system troubleshooting, so this isn't entirely about subverting systems for evil purpose.
H**R
An intensive introduction to kernel hacking
A rootkit is a set of code that basically allows someone to control certain aspects of the operating system; and the two goals of the book are to expose readers to rootkit writing, and to provide them with an insight into the FreeBSD kernel. Before you attempt this you will need to be au fait with the C programming language - there is no crash-course chapter. This short book has 7 chapters consisting in large parts of program code, many of whose lines are individually explained. Most people would like to test the code for themselves without typing it all; thankfully, it is download-able from the Nostarch website.
F**S
sehr gut
Ein lesenswertes Buch, wenn man sich ernsthaft mit der Programmierung von Kernelmodulen unter (Free)BSD beschäftigen will. Man sollte sich nicht vom Titel ("...Rootkits") verschrecken lassen. Es geht hier in erster Linie um solide Betriebssystemprogrammierung, an die der Autor den Leser Schritt für Schritt anhand von ausführlichen Beispielen heranführt. Es ist kein Anfängerbuch. Man sollte schon ein wenig Ahnung von BSD und Programmieren mitbringen.
Trustpilot
3 weeks ago
5 days ago