Hacking: The Art of Exploitation

Hacking: The Art of Exploitation (ISBN 1-59327-007-0) is a book by Jon "Smibbs" Erickson about computer security and network security.[1] It was published by No Starch Press in 2003,[2][3] with a second edition in 2008.[4][5] All the examples in the book were developed, compiled, and tested on Gentoo Linux. The accompanying CD provides a Linux environment containing all the tools and examples referenced in the book.

"Hacking, The art of exploitation"
"Hacking, The art of exploitation"

Background information

edit

Jon "Smibbs" Erickson worked in the field of computer security with a background in computer science.[6] As of 2011, he worked as a vulnerability researcher and computer security specialist in northern California. A bootable CD is included with the book which provides a Linux-based programming and debugging environment for the users.

Content of 1st edition

edit

The content of Exploiting (2003) moves between programming, networking, and cryptography. The book does not use any notable measure of real-world examples: discussions rarely bring up specific worms and exploits.

Programming

edit

The computer programming portion of Hacking takes up over half of the book. This section goes into the development, design, construction, and testing of exploit code, and thus involves some basic assembly programming. The demonstrated attacks range from simple buffer overflows on the stack to techniques involving overwriting the Global Offset Table.

While Erickson discusses countermeasures such as a non-executable stack and how to evade them with return-to-libc attacks, he does not dive into deeper matters without known guaranteed exploits such as address space layout randomization. The book also does not cover the Openwall, GrSecurity, and PaX projects, or kernel exploits.

Networking

edit

The networking segment of Hacking explains the basics of the OSI model and basic networking concepts, including packet sniffing, connection hijacking, denial of service, and port scanning.

Cryptology

edit

The cryptology section of Hacking covers basic information theory, in addition to symmetric and asymmetric encryption. It winds out in cracking WEP utilizing the Fluhrer, Mantin, and Shamir attacks. Besides the basics, including man-in-the-middle attacks, dictionary attacks, and the use of John the Ripper; Hacking discusses quantum key distribution, Lov Grover's Quantum Search Algorithm, and Peter Shor's Quantum Factoring Algorithm, which are used for breaking RSA encryption using a very large quantum computer.

Other details

edit

The front cover of Hacking shows the complete process: from reverse engineering to carrying out the attack, and developing an exploit for a program that is vulnerable to buffer overflow in its command-line arguments.

Content of 2nd edition

edit
Hacking: The Art of Exploitation Second Edition
 
AuthorJon Erickson
LanguageEnglish (Second Edition)
SeriesSecond Edition
GenreComputer Science
PublisherNo Starch Press
Publication date
February 2008
Publication placeUnited States (Original)
Media typePrint Paperback
Pages488
ISBN978-1593271442

The content of Hacking: The Art of Exploitation Second Edition (2008), the introduction of the book states that hacking should only be done within the confines of the law, and only for productive reasons. Below are the chapters:

  1. 0x200 Programming: This chapter covers control structures and other basic aspects of programming.
  2. 0x300 Exploitation: This chapter covers exploit techniques such as memory corruption, Buffer overflows and format strings, especially using Perl and Bash shellcode.
  3. 0x400 Networking
  4. OSI Model: In communication among computers through networking, the OSI Model is used. This model provides the standards that computers use to communicate.
  5. 0x500 Shellcode: Shellcode is a custom code written by a hacker for execution upon gaining control over a program.
  6. 0x600 Countermeasures: This part of the book is about having defenses and intrusion prevention systems to stop known hacking exploits.
  7. 0x700 Cryptology
 
The OSI Model

See also

edit

References

edit
  1. ^ "Book Review: Hacking". Unix Review. 25 July 2004. Archived from the original on 25 July 2004. Retrieved 26 July 2018.
  2. ^ Bruen, Robert (March 15, 2004). "Robert Bruen's review of "Hacking. The Art of Exploitation" by Jon Erikson, No Starch Press 2003, IEEE Cipher, E59 Mar 15, 2004". Ieee-security.org. Retrieved 2024-01-07.
  3. ^ Stytz, Martin R. (March 2004). "Hacking for Understanding". IEEE Security & Privacy. IEEE. doi:10.1109/MSECP.2004.1281235. ISSN 1558-4046.
  4. ^ Henry-Stocker, Sandra (2008-04-02). "Book Review-- Hacking: The Art of Exploitation, 2nd Edition". Computerworld. ISSN 0010-4841. Retrieved 2024-01-07.
  5. ^ Schaefer, Ed. "Hacking: The Art of Exploitation, 2nd Edition » Linux Magazine". Linux Magazine. ISSN 1471-5678. Retrieved 2024-01-07.
  6. ^ "Jon Erickson". Oreilly.com. Retrieved 2023-04-14.

Other sources

edit