Slashdot Mirror


Forensics On a Cracked Linux Server

This blog entry is the step-by-step process that one administrator followed to figure out what was going on with a cracked Linux server. It's quite interesting to me, since I have had the exact same problem (a misbehaving ls -h command) on a development server quite a while back. As it turns out, my server was cracked, maybe with the same tool, and this analysis is much more thorough than the one I was able to do at the time. If you've ever wondered how to diagnose a Linux server that has been hijacked, this short article is a good starting point.

17 of 219 comments (clear)

  1. Yeah obvious FUD article by Anonymous Coward · · Score: 5, Funny

    Why Slashdot would such obvious anti-Linux FUD is beyond me. Maybe the M$ advertising dollars are turning their heads.

    The bottom line is that a LINUX SERVER CAN'T BE CRACKED.

    Maybe this admin got his login info phished by Nigerian scammers, I don't know. The guy probably is wondering why his Ebay account has a bunch of negative feedback and his MySpace is all jacked up and hasn't put 2 and 2 together with that time he responsed to that clever email asking for the triple whammy of MySpace/Ebay/root on your servers so that you could clear the money transfer.

    That or he didn't have his updates turned on and had an outdated BIND. And its not like BIND means Linux is unsecure.

    Even not that the idea that Linux is crackable is laughable and not worht front page at digg let alone slashdot. You don;t see Technorait or Bruce Perens' site posting garbage like this ever so why slashdot editors can't see thru it i dont kno.

    1. Re:Yeah obvious FUD article by ATMD · · Score: 5, Funny

      *whoosh*

      --
      Nobody else has this sig.
    2. Re:Yeah obvious FUD article by Anonymous Coward · · Score: 5, Funny

      . o <- Joke

      ..O <- You
      ./|\
      ./ \

    3. Re:Yeah obvious FUD article by suggsjc · · Score: 5, Funny

      Dang HTML Formatted default, forgot the <br>'s

      ASCII art is lame
      If you really want to blast them
      Then try a haiku

      So in my rage, I wrote this (and used the code layout):
      Today I posted
      Today I looked like an ass
      It is Friday, beer

      --
      When I have a kid, I want to put him in one of those strollers for twins and then run around the mall looking frantic.
  2. Forensics by DrDevil · · Score: 5, Insightful

    Where did the word forensics come from? This is the completely wrong approach if working forensically. Can slashdot please use not use sensational titles! "Analysis of a cracked box" maybe more appropriate.

    1. Re:Forensics by Anonymous Coward · · Score: 5, Funny

      On the one server I have backdoor access to .bash_history is symbolically linked to /dev/random

      It makes for an interesting read :)

      Anonymous in case the admin actually reads slashdot.

  3. How did he get access and On tools by morgan_greywolf · · Score: 5, Insightful

    And the most important question is, how did he get access in the first time? The server was running Ubuntu 6.06 LTS (i386) and was fairly updated. The compromised could be caused by:

            * An exploit unknown to the public.
            * A user accessing this server from an already compromised host. The attacker could then sniff the the password. It's a very good question, because if the guy was keeping his server up-to-date, then these two are the most likely scenarios.

    On tools...it's important to note that in forensics on a Linux box, your friends are ethereal (for watching packets on open connections), netstat (to see what's listening), and strace (shows you what UNIX API calls a running process makes, which gives you very good idea about what's going on.)

    Other tools: nmap may be useful for seeing what's going on with 62.101.251.166 and 83.18.74.235. The service detection options, in particular. Always do this on a sandboxed host. Something running in a VM might be useful in this regard.

    Anyway, nice article. This is almost exactly how I proceeded when one of my own servers was hacked a few years ago.
  4. This is not forensics by Gandalf_the_Beardy · · Score: 5, Informative

    Forensics has to be useful in court. This is not - it's tainted evidence. Now if they took the original disk out, copied it with DD or similar to a file and mounted it as loopback and worked on that, then that's a first start to a forensic analysis.

  5. Further discussion... by meringuoid · · Score: 5, Informative

    Bruce Schneier posted this a few days back. Consensus is that it's not that good an analysis, but that the attacker was even worse. Some discussion also of whether it is better to take the machine offline immediately (and risk alerting the attacker that he has been rumbled) or to begin your analysis with the machine still live and operational. I for one side with the 'shut that thing down NOW' faction.

    --
    Real Daleks don't climb stairs - they level the building.
  6. Meta-cracking by CopaceticOpus · · Score: 5, Funny

    Oh, I see, it's a clever DOS attack:

    1. Infect Linux server of some guy with a blog.
    2. Guy blogs about how he dealt with said infection.
    3. Blog posting gets linked to on Slashdot.
    4. Millions of computers attempt to access the blog, hence bringing down the server.

    Don't you see? We've a socially engineered botnet!

    (And please, for the love of all that is sacred and funny, don't reply to this and add steps for "???" and "Profit". It's just tired and completely not funny. And the clever little variation on that theme you're thinking about posting right now isn't funny either.)

    1. Re:Meta-cracking by Anonymous Coward · · Score: 5, Funny

      1. Find clever little variation that is funny
      2. ????
      3. Profit!

  7. Raise your hand by tie_guy_matt · · Score: 5, Funny

    Raise your hand if you typed "ls -h" on your box just to make sure it still works right.

    1. Re:Raise your hand by Anonymous Coward · · Score: 5, Funny

      C:\>ls -h
      'ls' is not recognized as an internal or external command,
      operable program or batch file.


      Oh noes!

  8. Re:How did he get access and On tools by arivanov · · Score: 5, Informative

    All of these will help only if it is cracked by amateur sr1pt k1dd10tz like in this case. If it is cracked properly you will not see anything or spook off the intruder. He will either go underground or destroy the box with all of your data (not that you should try to use it as it may have been altered).

    I have seen a number of rootkits for Linux as far back as 97-98 which were considerably more advanced. It was a bit of an arms race between the admins (including me) and the guys who were breaking in. By the end the best rootkits could:

    1. Load a whole hidden fs with tools into a ramdisk or hidden area on the filesystem not visible using normal tools.
    2. Hide all sockets, processes and files belonging to the rootkit completely. You simply could no longer see them using netstat, ps and other similar tools.
    3. Monitor network driver state for the promisc flag and "scrub" backdoor traffic out of it so it is no longer visible using tcpdump and ethereal.
    4. Adjust memory totals and df so that you do not see them. This was also the only way we found to catch it. Try to allocate 95% of the remaining free memory and see the system oops magestically.
    5. Doctor logs so that you could not notice anything.
    6. The rootkit itself handled all connections via something that looked like ssh. I never managed to figure out how it loaded. One of the executables in the system loaded at startup was backdoored. Probably sendmail or one of the other daemons it could not do without.
    7. The rootkit managed to masq changed files completely. Tripwire and md5sums were reporting all OK while executables were being changed.

    That was a the tech level in 97. I would expect 10 years later a good rootkit to be even better. Looking at the blog post I can only laugh.

    If you suspect a system is cracked:

    1. Take it offline and take the disks out. Analyse the system completely offline looking at the disk from another system mounted as ro (on SCSI discs use the RO jumper). Never ever even try to start it. Nowdays knoppix is a great help. Most importantly - do not fsck systems before mounting as the rootkit may hide in orphaned areas which fsck will fix.

    2. If you are monitoring traffic, monitor it on a switch span port or create yourself a simple multiple interface box which serves as a firewalling bridge (so you can hijack the more interesting bits and alter them). Lex Book PCs are a good choice as they can run either Linux or BSD and are as portable as a laptop. A recent Via with 2 Ethernet ports is also a good choice as it can handle up to 1GB of traffic across as a bridge.

    --
    Baker's Law: Misery no longer loves company. Nowadays it insists on it
    http://www.sigsegv.cx/
  9. Re:Ssshhh.... Secrets Revealed... by dedazo · · Score: 5, Funny

    I am a MS insider

    The 220,000 or so members of the Slashdot Members Who Post Authoritative Statements On The Inner Workings Of Microsoft To Support Their Arguments warmly welcomes you to the club.

    --
    Web2.0: I love when people Flickr my cuil and digg my boingboing until my google is reddit and I start to yahoo
  10. Re:How did he get access and On tools by sootman · · Score: 5, Informative

    If you suspect a system is cracked:
    1. Take it offline and take the disks out.


    And I've been told don't use the 'shutodwn' command--instead, pull the power plug out of the wall. A rootkit could include a cleanup routine that gets run at shutdown time.

    --
    Dear Slashdot: next time you want to mess with the site, add a rich-text editor for comments.