Slashdot Mirror


Hacking Linux Exposed

Reader Bob Johnson wrote this detailed review of Hacking Exposed followup Hacking Linux Exposed -- especially in light of the various color-coded Windows viruses still on the loose, this might be a good present for your your local Windows administrator as well, but both Bob and the authors are clear: GNU/Linux systems may be more resistant, but are not immune to cracking. Hacking Linux Exposed author Brian Hatch, James Lee, George Kurtz pages 566 publisher Osborne/McGraw-hill rating 8.5 reviewer Bob Johnson. ISBN 0072127732 summary The definitive Linux/Unix security and hacking text; follows in the full-disclosure footsteps of Hacking Exposed. What it is

While the recent Code Red worms and their offspring have taken center stage, it is not time for Linux administrators to sit on their behinds and say 'told you so.' Yes, our Unix systems may have been immune, but let us not forget the flurry of worms that came after Ramen made the scene early this year.

Most folks have heard of Hacking Exposed, the ground-breaking security book that is now coming out with a 3rd edition. One of the HE authors, George Kurtz, teamed up with two leading security experts to bring us Hacking Linux Exposed which was released in April of this year.

Hacking Linux Exposed teaches you about security from the cracker's point of view. to give you all you need to know to protect your own systems. It is written by security experts who have seen these attacks in the wild and have been protecting their own systems from them. It gives many examples of attacks, but it also teaches you how attacks of various forms occur in general, giving you a true understanding of vulnerabilities current, future, and theoretical.

The book itself is organized into four parts, each discussing a specific aspect of system security in depth.

Contents Part I begins with Unix permission models, such as passwords, file (user/group/other) modes, capabilities, limits, and other security features built into Linux. Though the authors claim this chapter is 'to get those Windows users up to speed' I found details about things I didn't know about, having been administering Linux systems for several years.

The authors then move onto proactive measures that can be taken to protect your system, under the theory that you shouldn't be reading the entire book before you start securing your systems. This section primes you with security procedures that will be referenced later in the book multiple times, and keeping it all contained seems a very logical organization. Topics include log analysis, system security scanners, hardening tools and patches. The chapter is ended with a step-by-step discussion of what to do should you suffer a break-in. While they strongly suggest a reinstall, and describe all the problems and pitfalls that brings, they acknowledge when business needs may conflict, and how to deal with differing requirements.

Rounding out the first part we move onto a chapter showing how crackers find out information about your machines and network. Naturally it includes the standard port-scanning tools, ping sweepers, and OS detection software, as well as network (in)security scanners such as SAINT, Nessus, and SARA. New administrators will learn a lot from discussions of information leakage through SNMP, DNS, whois, and even newsgroups. I believe this is the only book I have ever read to start a chapter with a piece of email Spam for educational purposes.

Part II talks about how crackers can get into your machine from the outside. We begin with a chapter entitled "Social Engineering, Trojans, and Other Hacker Trickery." This chapter is dedicated to various methods that are not necessarily code-related. The social-engineering angle is broken down into several categories, explaining the human insecurities that are most effective at getting people to give out inappropriate access or information, complete with frighteningly simple examples. The discussion of Trojans reminds us that everything may not be what it seems, such as the trojaned version of tcpd back in 1999, and explains how not to be taken advantage of by using checksums, pgp signatures, and the like. It ends with a discussion of worms. A discussion of the Ramen worm is included (the book was published very soon after this worm was released) as is a prediction that other worms may be on the horizon, which turned out to be all too true.

Next we move onto physical attacks that are used to gain access to systems, or helpful information. You are reminded how lax your office environment is (yes, we all have at least one sticky note with some password, somewhere) perhaps more than necessary. However when discussing console access, the authors return to instantly-implementable countermeasures to keep folks from walking up, rebooting, and dropping into single user mode, including a bit on encrypted filesystems.

Next comes a chapter devoted to attacks launched over the network. True to the overall style of the book, this isn't simply a list of the various POP/IMAP/Sendmail hacks over the years, but rather examples of different classes of attacks, such as wardialing, X servers, buffer overflows, denial of service attacks, sniffers, and automated password guessers. The information provided should help you prevent the known attacks and those that haven't been written yet that operate on similar principles.

The last chapter of Part II discusses attacks based on abuse of the network and network protocols themselves. We learn about abuses of DNS, routing protocols, and advanced sniffing and session hijacking that can be used to funnel your traffic through an attacker's machine without your knowledge, often without any loss in service. Man in the middle attacks against SSH and SSL are also well explained, and critical for anyone to understand before blindly clicking 'ok' to PKI-based warnings. The chapter ends with a discussion of the hazards IP-based trust relationships, and how to properly implement ingress and egress filtering.

All the topics to this point have been geared to keeping the attacker off of your system. In Part III, the authors move on to how an attacker that has already gotten onto your machine in some way will ultimately hack the root account.

We begin with PATH and permissions problems, insecurities with suid/sgid and custom root-run scripts, and common problems with poor sudo configuration (including a script you could use to allow limited editing of /etc/passwd via sudo safely.) It continues with local buffer overflow, format string vulnerabilities, race conditions, and hard/symbolic link problems. A very good chapter for anyone writing code, in addition to security administrators.

Chapter 9 is devoted to password cracking techniques and programs, such as Crack, John the Ripper, and pointers to useful word lists. Shadow passwords, including expiration information, is explained, as well as other systems that use passwords such as Apache .htpasswd files. Lastly, they describe good methods of choosing and enforcing strong passwords via PAM.

Chapter 10 shows you all the evils an attacker can do to your system after having cracked root. This chapter reads like a ringing wake-up call if you think a machine can be properly resecured once it has been compromised. The authors show some simplistic methods a hacker can use to maintain access, such as modifications of .rhosts, read/write nfs exports, and suid root shells, to more advanced methods such as the use of SSH authorized_keys which are suprisingly still not part of most script-kiddies arsenal. It then moves onto several methods of creating a network-accessible root shell (a wacky custom one is written in perl and netcat). The rest of the chapter is devoted to trojaning a system by replacing/recompiling new versions of system programs (netstat/ls/etc) which can be used to hide an attacker's activities. Loadable kernel modules which can do the same, but are potentially undetectable are discussed, complete with code. This chapter could have been titled 'How to build your own rootkit' given the detail they provide.

The last main part of the book discusses firewalls, web, mail, and ftp servers in detail. The server room is still where Linux is most often deployed, and the authors decided to give extensive detail about how to secure these commonly-provided services.

Chapter 11 discusses mail and ftp security, services that are most frequently run by the buggiest of software. However, the authors don't waste their time listing the insecurities that have existed in each product over the years (which would have taken several books) but instead look at current problems in implementations and the protocols themselves. For the mail section, it was refreshing to see that Postfix and Qmail were given equal air time along with Sendmail The authors described attacks that affect Sendmail, Postfix, and Qmail, showing the necessary fix for each mail server. The FTP section began the actual workings of the FTP protocol in both Active and Passive modes to allow you to understand the problems with the protocol itself and how it can be used for FTP bounce attacks, penetrating poorly-designed firewalls, and how data hijacking can occur.

Chapter 12 discusses both webserver configuration issues (Apache being the most prominent) and server-side dynamic content insecurities. The authors show you how to trim overly-permissive configuration options that are enabled by default, protect your HTTP authentication files, tighten proxy settings, decide where symlinks are appropriate, and more. The CGI (mod_perl, etc) section does a good job of showing you common pitfalls you or the programmers you support make every day that can lead to a compromise.

The last chapter of the book discusses how you can enable access controls and firewall rules to keep the bad guys off of your machine. They discuss TCP Wrappers along with inetd, xinetd, and even how to integrate them into your own daemons. They give detailed examples of how you can implement packet filters on your machine. It was nice to see iptables described as prominently as ipchains, especially since the 2.4 kernel was barely out when they released the book.

The last section of the book is the appendices. The first discusses the package management systems of various Linux distributions (RedHat, Debian, Slackware) and how to install/upgrade/verify your packages. The next details how to see what services you are running and how to turn them off, again describing distribution-specific methods where appropriate. The last appendix consists of three actual-hack case studies. If you've read Hacking Exposed then you're familiar with the 1-2 page case study at the beginning of each chapter. Here they included much lengthier case studies, including the code the attackers used. The increased length works much better, and provides a good view into these attacker's methods.

Presentation This book is very well organized, and includes the right combination of discussion and code. They made frequent use of special 'Caution', 'Note' and 'Tip' graphics to emphasis specific issues, and each attack begins with a 'Risk Rating' that lets you understand which attacks should be secured first as you attempt to implement all the countermeasures they make. No issue was brought up without a specific countermeasure you can implement today.

Many security books out there focus on various tools available to attackers, and read like a shopping cart with occasional text interspersed. This book focuses on the attack methods themselves, rather than the tools. As such it contains information about cracking programs where appropriate, and reads more like an educational journey of hacking methods. When many similar tools are available, only a few are described in depth, and eliminating duplication when possible, leaving you with the right information to decide which tool or tools are best for you.

One of the things that I really appreciated about this book is how the authors will start off topics with home-grown examples before discussing advanced security tools. For example, the authors give you a simple shell script that could function as a crude file integrity checker to provide you a clear method of understanding the concept before going onto detailed configuration examples of tripwire, Aide, and others. While they do not take up much space for these primers, usually half a page or so, they are excellent examples of speaking through code, rather than magician wave-of-the-hand explanations.

Conclusion Hacking Linux Exposed is a very good read. It does a great job of staying focused and interesting, without skimping on the actual details you need to secure your systems and understand the threats. The countermeasures are real and specific, allowing administrators to use this book as a tool to secure their own systems.

At many times I wished that the book were more Unix-centric than simply Linux centric. Many of the issues are similar, and the countermeasures would simply be broken down into *BSD vs Linux vs Solaris, etc. However that would have made reading the countermeasures a bit more difficult. As it is, many of the issues have similar or identical countermeasures, regardless of OS, so administrators should be able to extend what is said to their Unix OS of choice without too much trouble.

The Linux focus allows the authors to get much more in depth than they were able to in Hacking Exposed, which was disjointed at times, unable to really probe each issue. However the opposite is also true --- since they wanted to focus on Linux-specific attacks, they do not go into general attacks, such as JavaScript, cross site scripting, and other browser-related problems, for example. For these types of attacks you should look elsewhere. I think keeping the focus clean is very much worth it.

Beginning administrators may find some of the lead-up lacking in places. For example someone who is not very knowledgeable about IP may have trouble understanding some of the sophisticated network abuses and malformed packets described. However this is to be expected. This book is not standalone, nor should it be. If the HLE authors included enough information to adequately describe every nuance of IP packets then that'd be a disservice to those who already have a copy of W. Richard Stevens, and would needlessly add weight to a book that is supposed to stay focused on hacking.

The book has a website that includes all the source code in the book, released under the GPL, as well as some tools they wrote which they didn't feel belonged in the book itself. They also have book corrections on the website, as well as sections they had wished to put in the book that were rejected by the editor, such as their stance on the "Hacking vs Cracking" semantics debate, and why "Linux is Securable" (as opposed to Windows.) Needless to say, these folks won't be employed by Microsoft in the near future.

I highly recommend this book. You'll have ready-to-implement measures that can keep you busy for some time securing your systems. You'll learn a lot on the journey. And I look forward to seeing "Hacking Windows 2000 Exposed" later this year --- I can only assume it'll say "Install Linux."

You can purchase this book at FatBrain.

23 of 106 comments (clear)

  1. frist poo! by Anonymous Coward · · Score: -1, Offtopic

    first porst!

    frsiky frisky!

  2. first post! by Anonymous Coward · · Score: -1, Offtopic

    firspos!

  3. FP!! by Anonymous Coward · · Score: -1, Offtopic

    first post!

  4. FIRST FROST by Anonymous Coward · · Score: -1, Offtopic

    FRIST PIST

  5. fatbrain = rip-off by Anonymous Coward · · Score: -1, Offtopic

    don't give them your e-mail either. They will spam it even when you ask to be removed from their list.

  6. That's a lie! by SpanishInquisition · · Score: -1, Offtopic

    You cannot hack Linux, it's impossible, Linux is perfect.
    Burn him! Burn him!

    --
    Je t'aime Stéphanie
  7. Linux Hackable? by Anonymous Coward · · Score: -1, Offtopic

    RESUME:

    Timothy
    http://www.monkey.org/~timothy/

    SEEKING: Senior ditorial position for high-traffic website

    QUALIFICATIONS: Until recently, I was an editor for a volatile discussion board (http://www.slashdot.org) primarily advocating the prefixing of GNU/ onto everything. Created, maintained, and modified dynamic web pages....

  8. FIRST REPLY! by Anonymous Coward · · Score: -1, Offtopic
    wh00t



    Hacking Linux Exposed


















    faq

    code

    osdn

    awards

    privacy

    journals

    older stuff

    rob's page

    preferences

    submit story

    advertising

    supporters

    past polls

    topics

    about

    bugs

    jobs

    hof




    Sections

    9/18


    apache


    9/20 (8)


    askslashdot


    9/19 (1)


    books


    9/19 (1)


    bsd


    9/20 (2)


    developers


    9/19 (1)


    features


    9/14


    interviews


    6/29


    radio


    9/21 (9)


    science


    9/20 (4)


    yro


    OSDN

    freshmeat

    Linux.com

    SourceForge

    ThinkGeek

    NewsForge

    SlashCode



    Slow Down Cowboy!

    Slashdot requires you to wait 20 seconds between
    hitting 'reply' and submitting a comment.


    It's been 16 seconds since you hit 'reply'!



    If you this error seems to be incorrect, please provide the following in your report to
    Source Forge:

    • Browser type
    • User ID/Nickname or AC
    • What steps caused this error
    • Whether or not you know your ISP to be using a proxy or some sort of service that gives you an IP that others
      are using simultaneously.
    • How many posts to this form you successfully submitted during the day

    * Please choose 'formkeys' for the category!

    Thank you.

    I did this 'cause Linux gives me a woody. It doesn't generate revenue.
    (Dave '-ddt->` Taylor, announcing DOOM for Linux)


    All trademarks and copyrights on this
    page are owned by their respective owners. Comments
    are owned by the Poster.
    The Rest © 1997-2001 OSDN.

    [
    home |
    awards |
    supporters |
    rob's homepage |
    contribute story |
    older articles |
    OSDN |
    advertising |
    past polls |
    about |
    faq ]

  9. Oh my god! by Anonymous Coward · · Score: -1, Offtopic

    *** PLEASE READ THIS *** URGENT ***

    Those damned terrorists just took out the Empire State Building and Sears towers! The Empire State Building is still standing but the Sears went down 35 minutes after it was hit. There are also reports of a gas attack on Boston. Another plane was shot down on its way to the capital.

    Yahoo has the terrible details here.

    *** UPDATE ***

    It seems the Empire State building has finally collapsed! Fire and medical officials are afraid to go in after authorities received threats of anthrax bombs in the plane! Over 25,000 dead in Boston!!

    I can't write anymore sorry

    1. Re:Oh my god! by Anonymous Coward · · Score: -1, Offtopic

      As far beneath contempt as you are, you miserable pathetic little piece of offal, and undeserving of any response, nonetheless: The fact that you would try to take advantage of the deaths of thousands, an event that has brought America to the brink of war, and created widespread fear and untold sorrow, as a springboard to attempt to propagate your pathetic little scrap of virtual vandalism, marks you as a coward, an idiot, a vile turd-eating moron, and a disgusting blob of diseased excrement that needs very badly to be flushed. Take a look at yourself in the mirror next time you rush to the bathroom to pull on your pud, and accept the grave reality that everyone who knows you hates you, and that you hate yourself, that women blanch in disgust at the site of you and snicker at you behind your back, and that the world would be an inestimably better place if you never left your room.

  10. Kill all AC fuckheads. Destroy Sporks. Exterminate by Anonymous Coward · · Score: -1, Offtopic

    Our precious slashdot users scream out for vengeance:

    1. Kill all Trolls.
    2. Kill all Sporks.
    3. Kill all Monkeys.
    4. Kill all Trollmans.
    5. Kill all Buttfuckers.
    6. Kill all AC fuckheads.
    7. Kill all Jeff Ks.
    8. Kill all SpanishInquisitions.
    9. Nuke Adequacy to hell.
    10. Nuke Geekizoid again.
    11. Death to Goatsex.

    I piss on First Posts. I wipe my ass with "If I ever meet you..." I spit on "*BSD is dying."

  11. Re:Kill all AC fuckheads. Destroy Sporks. Extermin by Anonymous Coward · · Score: -1, Offtopic

    I regret to inform you that you, sir, are a raging homosexual.

  12. Re:Kill all AC fuckheads. Destroy Sporks. Extermin by Anonymous Coward · · Score: -1, Offtopic

    you got it!

    come over here, boy!

  13. That's great by cyborg_monkey_sucks · · Score: -1, Offtopic

    Sucker.

    1. Re:That's great by cyborg_monkey_sucks · · Score: -1, Offtopic

      The real cyborg_monkey has UID i_suck

  14. Linux security by Anonymous Coward · · Score: -1, Offtopic

    Linux will always be safer because it's main codebase is based on BoumOS which was released in 1988, later took by that dude, Tanembaum which later was ripped off by Linox Torvalds who released Linox.

  15. Re:Oh my God!! WW3!! by Anonymous Coward · · Score: -1, Offtopic

    What's it like to get up every morning and know that everyone despises you and that you'll never have sex with a woman you don't have to pay?

  16. Re:Oh my God!! WW3!! by Anonymous Coward · · Score: -1, Offtopic

    Tell me.

  17. Re:Oh my God!! WW3!! by Anonymous Coward · · Score: -1, Offtopic

    not that bad actually

  18. ROFLMAO +1 Funny by Anonymous Coward · · Score: -1, Offtopic

    someone mod this up! Jeers to those making light of the tragedy, but your comment was just funny!

  19. Re:Oh my God!! WW3!! by Anonymous Coward · · Score: -1, Offtopic

    i fuck my sister every day
    i don't have to pay her
    just suck her feet all the time
    and let her keep me on a leash

  20. Re:Oh my God!! WW3!! by Anonymous Coward · · Score: -1, Offtopic

    my god ur sick
    no wait... that's TURNING ME ON!!!
    *hides his penis*

  21. *BSD is dying by Anonymous Coward · · Score: -1, Offtopic
    *BSDis dying

    Yet another crippling bombshell hit th bleaguered *BSD community when last month IDC confirmed that *BSD accounts for less than a frction of 1 percent of ll servers. Coming on the heels of the latest Netcraft survey which plainly states that *BSD has lost more market share, this news serves to reinforce what we've known all along. *BSD is collapsing in complete disarray, as further exemplified by failing dead last in th recent Sys Admin comprehensive networking test.

    You don't need to be a Kreskin to predict *BSD's future. The hand writing is on the wall: *BSD faces a bleak future. In fact there won't be any future at all for *BSD because *BSD is dying. Things are looking very bad for *BSD. As many of us are already aware, *BSD continues to lose market share. Red ink flows like a river of blood. FreeBSD is the most endangered of them all.

    Let's keep to the facts and look at the numbers.

    OpenBSD leader Theo states that there are 7000 users of OpenBSD. How many users of NetBSD are there? Let's see. The number of OpenBSD versus NetBSD posts on Usenet is roughly in ratio of 5 to 1. Therefore there are about 7000/5 = 1400 NetBSD users. BSD/OS posts on Usenet are about half of the volume of NetBSD posts. Therefore there are about 700 users of BSD/OS. A recent article put FreeBSD at about 80 percent of the *BSD market. Therefore there are (7000+1400+700)*4 = 36400 FreeBSD users. This is consistent with the number of FreeBSD Usenet posts.

    Due to the troubles of Walnut Creek, abysmal sales and so on, FreeBSD went out of business and was taken over by BSDI who sell another troubled OS. Now BSDI is also dead, its corpse turned over to yet another charnel house.

    All major surveys show that *BSD has steadily declined in market share. *BSD is very sick nd its long term survival prospects are very dim. If *BSD is to survive at all it will be among OS hobbyist dabblrs. *BSD continues to decay. Nothing short of a miracle could save it at this point in time. For ll practical purposes, *BSD is dead.

    *BSD is dying