Synopses & Reviews
Though rootkits have a fairly negative image, they can be used for both good and evil. Designing BSD Rootkits arms you with the knowledge you need to write offensive rootkits, to defend against malicious ones, and to explore the FreeBSD kernel and operating system in the process.
Organized as a tutorial, Designing BSD Rootkits will teach you the fundamentals of programming and developing rootkits under the FreeBSD operating system. Author Joseph Kong's goal is to make you smarter, not to teach you how to write exploits or launch attacks. You'll learn how to maintain root access long after gaining access to a computer and how to hack FreeBSD.
Kongs liberal use of examples assumes no prior kernel-hacking experience but doesn't water down the information. All code is thoroughly described and analyzed, and each chapter contains at least one real-world application.
Included:The fundamentals of FreeBSD kernel module programmingUsing call hooking to subvert the FreeBSD kernelDirectly manipulating the objects the kernel depends upon for its internal record-keepingPatching kernel code resident in main memory; in other words, altering the kernel's logic while it's still runningHow to defend against the attacks described
Hack the FreeBSD kernel for yourself!
"Designing BSD Rootkits" introduces the fundamentals of programming and developing rootkits under the FreeBSD operating system. Written in a friendly, accessible style and sprinkled with geek humor and pop culture references, the author favors a "learn by example" approach that assumes no prior kernel hacking experience.
About the Author
Tinkering with computers has always been a primary passion of author Joseph Kong. He is a self-taught programmer who dabbles in information security, operating system theory, reverse engineering, and vulnerability assessment. He has written for Phrack Magazine and was a system administrator for the City of Toronto.
Table of Contents
DedicationACKNOWLEDGMENTSFOREWORDINTRODUCTIONChapter 1: LOADABLE KERNEL MODULESChapter 2: HOOKINGChapter 3: DIRECT KERNEL OBJECT MANIPULATIONChapter 4: KERNEL OBJECT HOOKINGChapter 5: RUN-TIME KERNEL MEMORY PATCHINGChapter 6: PUTTING IT ALL TOGETHERChapter 7: DETECTIONChapter 8: CLOSING WORDSBIBLIOGRAPHYCOLOPHON