Forgot your password?
typodupeerror
Security

Windows Rootkits 344

Posted by michael
from the every-box-should-have-one dept.
GuidoJ writes "The Register is running an article by Kevin Poulsen of SecurityFocus Online about rootkits in Windows NT. While rootkits are a well-known issue in Unix and Linux systems, they have rarely been found on compromised Windows machines. According to the article, Windows NT backdoors have always been 'trivial', and they have caused enough havoc already. Imagine what a stealthy rootkit could do!"
This discussion has been archived. No new comments can be posted.

Windows Rootkits

Comments Filter:
  • by antis0c (133550) on Friday March 07, 2003 @05:19PM (#5462426)
    I thought Windows WAS a rootkit.
    • by queenb**ch (446380) on Friday March 07, 2003 @06:30PM (#5463281) Homepage Journal

      With closed source code, how do you know that there isn't a root kit included? There are so many "undocumented features", "easter eggs", flight simulators, etc. included free of charge in Windows, what else is in there that we haven't found yet?

      Queen B

  • What I mean, is that what are you going to do from a windows remote terminal? I mean honestly, it's not that cool to have a windows terminal server session open (presuming that service is even set up), and even though you can telnet into windows, hacking in DOS just isn't 1337 enough. :P

    Watch as I type edit and the screen goes blank!
    • And what about being able to execute windows scripting host scripts? If you _really_ want to, you can do almost anything from the console prompt in NT, but you'd have to work for it.

      Of course, if the admin as so kind to put a c or bourne shell + cygwin on the NT box, heck, you can do whatever you want.

    • What if you root remote desktop connection, or whatever terminal services calls it? Full GUI access. This is why I changed the port for it :) It was damn hard to find out how, though.
    • by slugo3 (31204) on Friday March 07, 2003 @05:24PM (#5462516)
      What I mean, is that what are you going to do from a windows remote terminal you don't necessarily have to set up a shell, you could install port scanners, eggdrop bots and ddos tools. even though its windows you dont want to get hacked for a lot of the same reasons you dont want any computer with internet access to become compromised.
    • by j_kenpo (571930) on Friday March 07, 2003 @05:38PM (#5462723)
      A windows command prompt is only the beggining of the fun. Once there, you can install a hidden VNC server and get your remote desktop, as outlined in "Hacking Exposed" 2nd and 3rd editions in the section under Windows NT and Windows 2000. Also, if it is a Win2k box, you can enable the terminal service and run something like RT client or in linux Rdesktop to get a remote desktop. There are other things you can do with a command prompt to, such as install any other trojan along the lines of BO, or Sub7 for remote control havoc, not to mention things like run irc bots, zombies, or be really lame and set up crappy things like DDOS nodes. Or if you feel like cheating at SETI, you can set up a remote SETI client, or as some people saw, there was a virus/trojan that ran around and set up a Distributed.net client. Those are just basic examples of what you can do, and if there were a good Root kit for Windows, you could hide those processes. In truth, you could do all the same things you could do with a Windows root kit that can be done with a Unix one, only it just wouldnt be as cool for some reason.
    • Watch as I type edit and the screen goes blank!

      You are aware that %systemroot%\system32\edit.com is a text-mode app, right?

      cmd.exe is rather limited in what it can do...but it wouldn't take much to FTP a Cygwin install from someplace and fire that up. You might also manually install VNC (copy the files where they need to go and insert the necessary registry entries) and take over the desktop.

  • Rootkits in brief (Score:5, Informative)

    by Anonymous Coward on Friday March 07, 2003 @05:20PM (#5462455)
    Published on The O'Reilly Network (http://www.oreillynet.com/)
    http://www.oreillynet.com/pub/a/linux/2001/12/14/r ootkit.html
    See this if you're having trouble printing code examples
    Understanding Rootkits
    by Oktay Altunergil
    12/14/2001

    A rootkit is a collection of tools an intruder brings along to a victim computer after gaining initial access. A rootkit generally contains network sniffers, log-cleaning scripts, and trojaned replacements of core system utilities such as ps, netstat, ifconfig, and killall. Although the intruders still need to break into a victim system before they can install their rootkits, the ease-of-use and the amount of destruction they cause make rootkits a big threat for system administrators.

    The main purpose of a rootkit is to allow intruders to come back to the compromised system later and access it without being detected. A rootkit makes this very easy by installing a backdoor remote-access daemon, such as a modified version of telnetd or sshd. These will often run on a different port than the one that these daemons listen on by default.

    Most rootkits also come with modified system binaries that replace the existing ones on the target system. At a minimum, core binaries such as ps, w, who, netstat, ls, find, and other binaries that can be used in monitoring server activity, are replaced so intruders and the processes they run are invisible to an unsuspecting system administrator.

    Because most rootkits will mimic the creation dates and file sizes of the original system binaries while replacing them with infected versions, keeping records of these file statistics is not sufficient. Thus, the best way to make an inventory of system file information that can be used to identify suspicious activities on the server is to calculate the cryptographic checksums of these files and store this information in a safe location, such as on a CD.

    Third-party tools such as Tripwire or AIDE make this process much easier and more robust by automating the calculation of these file signatures.

    Here's a quick explanation of Tripwire from the organization's web site:

    "Tripwire is a tool that checks to see what has changed on your system. The program monitors key attributes of files that should not change, including binary signature, size, expected change of size, etc."

    Obviously this process has to be repeated as you introduce more software and other files into your system. You can also use the RPM signatures on RPM-based systems such as Red Hat and SuSE to compare the current MD5 signatures of your files to those in the RPM installation database. Unfortunately, the RPM application itself and the local RPM database cannot be trusted to provide accurate information because intruders can potentially infect them too.

    Some rootkits may also contain sniffer or keylogger applications that are used to gather passwords for other systems and listen to traffic for sensitive information. To do this, the rootkits set the PROMISCIOUS mode on the target machine's network interface card (NIC). In normal operation, a network interface card only listens to traffic that is specifically addressed to itself and traffic that is coming through the broadcast address that everyone listens to.

    On a "non-promiscuous" network adapter, the packets that are addressed to other network interfaces are silently discarded without even looking at the actual data in them. However, when using directly connected computers or a network that uses basic, non-switching HUBs, your interface actually can listen to all traffic if it's in PROMISCIOUS mode.

    If an intruder listens to this traffic on a relatively large network, the results may be catastrophic. To protect the whole network even when one of the machines is broken into, using direct cable connections and basic HUBs should be avoided. Switching-hubs and other more advanced networking equipment do not broadcast traffic to all the machines on the network, but only send it to the machine that is supposed to receive it, effectively protecting all the other machines on the network.

    Because the first thing a system administrator does to monitor unusual activity is to check the system log files, it is very common for a rootkit to include a utility to modify the system logs. In some extreme cases, rootkits disable logging all together and discard all existing logs. Usually if the intruders intend to use the server for an extended period of time as a launch base for future intrusion activity, they will only remove those portions of logs that can reveal their presence. Because the absence of log files or stopped logging activity is a sign of suspicious activity itself, only attackers who have adopted the hit-and-run style will choose to blindly discard all logs.

    One method administrators can use to maintain logs about an intrusion attempt -- successful or otherwise -- is to devise a system that detects network anomalies and alerts the system administrators by sending them notification email messages and/or log files. Obviously, the network intrusion detection and periodic log-file transfer methods cannot be trusted after the intruder gains access to the machine.

    Related Reading

    Building Internet Firewalls, 2nd Ed. Building Internet Firewalls, 2nd Ed.
    By Elizabeth D. Zwicky, Simon Cooper & D. Brent Chapman
    Table of Contents
    Index
    Sample Chapter
    Full Description
    Read Online -- Safari

    Arguably the most severe threat to system security that can be caused by a rootkit comes from those that deploy LKM (Loadable Kernel Module) trojans. Loadable Kernel Modules are a mechanism for adding functionality to an operating-system kernel on the fly -- without requiring a kernel recompilation. Although the benefits of using LKMs are universally recognized, they are also subject to abuse by intruders who use the kernel module-loading mechanism for malicious purposes. Even if you reboot a system that is infected by an LKM Trojan, the LKM process will reload it during boot-up just like any other kernel module. Loadable Kernel Modules are used by many operating systems including Linux, Solaris, and FreeBSD.
    According to SANS, "Kernel [LKM] rootkits do not replace system binaries, they subvert them through the kernel. For example, ps may get process information from /proc (procfs). A kernel rootkit may subvert the kernel to hide specific processes from procfs so ps or even a known good copy from vendor media will report false information."

    Although it is thought to be possible to cryptographically sign kernel modules, the best mode of prevention against this security threat is to compile all functionality statically into the kernel and disable the LKM functionality -- especially on a server system which is not likely to need additional kernel functionality at a later time.

    Knark, Adore, and Rtkit are just a few of many LKM rootkits available today.

    The only way to avoid rootkit installations on your system is to stop them before they enter your system. Remember that a rootkit is not designed to help an intruder gain access to a system. A rootkit is designed to make the intruders feel at home and allow them work silently on your system without being disturbed. To install a rootkit, an intruder still must gain unauthorized access to your server using traditional methods, such as exploiting known vulnerabilities or even practicing social engineering to get the password information from a well-meaning person who happens to have it.

    To avoid future headaches, you should always install firewalls on your machines that are accessible via some type of a network, apply all published patches to your software, and disable any services that are not absolutely necessary. Coupling these practices with strong passwords and secure protocols, such as SSL and SSh where applicable, you can be sure that your system will never be compromised.

    Well ... not exactly. Even if you make the maximum effort possible to secure your system, given enough exposure, it is still very likely that someone will break into your system and install a rootkit or two.

    In my next article, I'll discuss some of the tools that are at your disposal in your quest to detect the existence of a rootkit on your system. I will also talk about what you can do to clean up a rootkit after you discover it.

    Oktay Altunergil works full time as a Unix Administrator and PHP Programmer.

    Return to the Linux DevCenter.

    oreillynet.com Copyright © 2003 O'Reilly & Associates, Inc.
  • rootkit my ass (Score:2, Insightful)

    by B3ryllium (571199)
    Can't a decent firewall counter 90% of rootkits?
    • Re:rootkit my ass (Score:5, Interesting)

      by Angry White Guy (521337) <CaptainBurly[AT]goodbadmovies.com> on Friday March 07, 2003 @05:26PM (#5462538)
      There are ways to get around that. Make the compromised machine initiate all the communications, and you can punch a hole through all but the most determined firewalls. That's why irc bots are so popular.
      • yeah, that's one way - although I suppose some Nazi system admins can even find ways to prevent that :)
        • From trusted ports to trusted ports work for most firewalls. Another way is to control by e-mail. You could even make it look like DNS queries if you wanted. The trick is not getting caught on the way in. Once in, there's not a lot holding you back.
        • Re:rootkit my ass (Score:3, Interesting)

          by Elwood P Dowd (16933)
          Not only that, you could easily make the rootkit query a webpage for instructions. It could check slashdot for posts by an anonymous coward with a certain set of keywords. If you are rooted, and your attacker has 10 ounces of creativity, a firewall will offer you zero protection. The firewall is there to make it more difficult to get rooted in the first place.
          • by Anonymous Coward
            But why would you do that? Delerious you are! That would be so hard to command.Compare that to a simple telnet session.
    • Re:rootkit my ass (Score:4, Insightful)

      by Openadvocate (573093) on Friday March 07, 2003 @06:12PM (#5463118)
      Depends on how it's configured and is a excellent example of why doing NAT on your router does not equal firewalling.
      I have seen may firewalls allowing everything outgoing, even for servers that had no reason to connect to the internet had access to the outside. Sure it might be easier to run that "Windows Update" but still.
    • by hughk (248126)
      These guys do root kits that can hide in protocol eror messages so unless you have an air-gap, all a firewall will do is to stop it being installed in the first place. Standard messages often have unused places in which a covert channel can be established. The message can go out from the rooted system looking like anything. The trick is to ensure that the firewall is open for the technique used.

      The main issue is that although NT has quite good privilege separation and 2K even better (both better than a non-security enhanced Unix), 90% of the apps don't use this. That means once you're in, you have the machine.

  • by TopShelf (92521) on Friday March 07, 2003 @05:21PM (#5462463) Homepage Journal
    I thought this was called "Windows Update"...
  • by ksheka (189669) on Friday March 07, 2003 @05:21PM (#5462466)
    ...is approaching parity with Linux.
  • rootkit redundant. (Score:5, Interesting)

    by aePrime (469226) on Friday March 07, 2003 @05:21PM (#5462467)
    Well, as most Windows users run their boxes as Administrator anyway, a rootkit can almost be any program that's run with malicious intent.

    I too, in the rarity that it's on, run my Windows box as Administrator because, unlike *nix, there's no easy way to become Admin (root) when you need to. You have to logout and log back in, unless they've changed it in recent releases.
    • by BagOBones (574735) on Friday March 07, 2003 @05:27PM (#5462559)
      Its called Run As.. It should be in every NT version of windows and its in the Right Click menu.. (I think you have to hold Shift or Ctrl some times) Lets you try and run an app as any user you know the login too.
      • by BroccoliGod (462180) on Friday March 07, 2003 @05:58PM (#5462950)
        Its called Run As.. It should be in every NT version of windows and its in the Right Click menu.. (I think you have to hold Shift or Ctrl some times) Lets you try and run an app as any user you know the login too.

        Just to clear up a few things: "Run as" is not in Windows NT 4.0 (or below I would assume). In Windows 2000, you Shift-right_click to get "Run As" as an option. You cannot run another copy of Explorer.exe with it (and so you cannot access the control panel as administrator using this trick). Windows XP's fast user switching is better in this regard- no need to close programs to do something as administrator, but still not as nice as nix. Windows NT Resource kit has a command line SU utility, but I've never used it.

        • by Jouster (144775) <slashdot@noSpAM.angelfaq.com> on Friday March 07, 2003 @07:11PM (#5463667) Homepage Journal
          ...(and so you cannot access the control panel as administrator using this trick)
          Au contraire--the control panel is easy!
          RunAs /user:Administrator MMC
          Then, File->Open, navigate to %WINROOT%\SYSTEM32, and there are your control panels. Choose your poison.

          Jouster
        • You cannot run another copy of Explorer.exe with it (and so you cannot access the control panel as administrator using this trick).

          wrong, and wrong

          First, you can. Kill explorer.exe from the task manager, and then rerun it as Administrator: you'll get the Administrator's taskbar, desktop, etc.

          Second, you don't need to. You can run the command prompt as Administrator, and launch all the commands you need from there, including control panel applets and MMC snap-ins (you learn soon which has what filename). Or you can start Internet Explorer (iexplore.exe) as Administrator, instead - when browsing local folders, it will turn into an Explorer workalike, with just some UI problems (it won't be able to receive update notifications, not even from itself, so you'll need to refresh directory listings manually with F5)

    • by glenebob (414078) on Friday March 07, 2003 @05:28PM (#5462569)
      There's no need to run as Administrator. Pretty much any user account can mess up a Windows system pretty bad, even the Guest account.

      But what you say is also true. I too run an account that's a member of Administrators because it's too much trouble to become all-powerful when needed.

      It's kinda funny now that I'm thinking of it. You have to be an admin to install a printer, but any old account can delete the printer driver files. Nice.
      • by stratjakt (596332) on Friday March 07, 2003 @05:50PM (#5462856) Journal
        There's no need to run as Administrator. Pretty much any user account can mess up a Windows system pretty bad, even the Guest account.

        But what you say is also true. I too run an account that's a member of Administrators because it's too much trouble to become all-powerful when needed.

        It's kinda funny now that I'm thinking of it. You have to be an admin to install a printer, but any old account can delete the printer driver files. Nice.


        Not if you've spent some time locking down the box, and designing and implementing security properly. Users cant delete anything they dont have write access too.

        Now, out of the box, WinXP and its predecessors install by default in a very insecure state. That I take issue with, but there's nothing stopping you from fixing that.

        If you have your /bin directories set up as uog+rwx then I can screw around with your printers too. This doesnt mean that linux is "insecure".

        And if you run as administrator all the time, that's just like always logging in as root.

        Too many people like to dump on Windows security, but very few have ever even bothered to try and set it up properly.

        After the filesystem permissions are properly set, the local and domain policies in place and checked, the services audited for necessity and security, then what's left is a legitimate fault with Windows.
        • It is kind of like polishing a turd but here is some more info. The point is that out of the box *nix tends to be more secure and have beeter settings by default.

          http://www.nsa.gov/snac/
        • Too many people like to dump on Windows security, but very few have ever even bothered to try and set it up properly.

          It doesn't help that, as you noted, the default Windows install is horribly insecure. You could proceed to lock it down...but that would be like having to go through a fresh install of $RANDOM_LINUX_DISTRO and chmod go-w the contents of entire directories to lock it up. A default install ought to be reasonably secure...it doesn't necessarily need to be hardened against all present and future exploits, but making the factory install as wide open as the goatse.cx guy isn't the brightest idea in the world.

          I find it easier to just not allow Win32 boxen to connect directly to the Internet. They're all firewalled behind systems running Linux (usually). That doesn't guard against local users hosing their systems, but since this is a software-coding shop, most of our people are smart enough to not do something like that. It's not like we have some old biddy flipping the power switch on/off all day between bouts of tinkering with some Excel spreadsheet.

        • No no no (Score:5, Insightful)

          by wobblie (191824) on Friday March 07, 2003 @10:20PM (#5464834)

          Well I would have to disagree. Let's peel the onion back one layer - why on earth would anyone have to change the default filesystem permissions?

          The reason is that windows has no concept, and never did, of paritioning user data from system data. In any unix, the filesystem is sensibly laid out such that removing write access to huge swathes of it do absolutely nothing to hinder it's usability. Not so in windows, everything's mixed together in one big steaming mess. Instead of simple read access, we have confusing messages from explorer telling users "OH MY GOD! You shouldn't look at the files in this directory, it can cause obesity, nausea, jet-like diarrhea and insanity - but click here if you really really want to see them ..." or some other such nonsense. W2K isn't much better, but at least it's less obnoxious.

          Secondly - and this is mroe of a cultural issue which flows naturally from the above situation - this isn't even realistic. I used to do this, locking users out of c:\ and \system32\ etc., but I would find that we had all these boneheaded programs we had to run which needed to write to various parts of the filesystem for no apparent reason other than ignorance. This problem is so rife with windows developers that locking users out of peices of the filesystem is almost useless, because you wind up not being able to do it anyway.

    • BTW, you don't need to run as Administrator.

      There is a nice little command runas that lets you 'su' to another user.

      Also, in XP, runas is a right-click option on executable desktop and start menu items.
    • by Malc (1751) on Friday March 07, 2003 @05:41PM (#5462759)
      That's not true - I do it all the time using "runas". I use it mostly to launch MMC with the permissions I need to access IIS on a test web server. I also occasionally use it to run Explorer with elevated permissions to save me effort accessing administrative shares. I think it's supposed to be one of the ways to install applications that require administrative permissions, although I'm not sure on that.

      C:\>runas /?
      RUNAS USAGE:

      RUNAS [/profile] [/env] [/netonly] /user:<UserName> program

      /profile if the user's profile needs to be loaded
      /env to use current environment instead of user's.
      /netonly use if the credentials specified are for remote access only.
      /user <UserName> should be in form USER@DOMAIN or DOMAIN\USER
      program command line for EXE. See below for examples

      Examples:
      > runas /profile /user:mymachine\administrator cmd
      > runas /profile /env /user:mydomain\admin "mmc %windir%\system32\dsa.msc"
      > runas /env /user:user@domain.microsoft.com "notepad \"my file.txt\""

      NOTE: Enter user's password only when prompted.
      NOTE: USER@DOMAIN is not compatible with /netonly.
    • > most Windows users run their boxes as
      > Administrator anyway

      I don't, just like everybody with a clue.

      > there's no easy way to become Admin (root) when
      > you need to

      err. why don't you try this at home :

      C:\>runas /user:administrator cmd

      Yes, with some effort you can have a secure win2K.

      J.

    • Although many other people have already mentioned "RunAs" for running programs, I should point out that you can't run explorer this way, at least in Windows 2000. Depending on what this guy "needs to" do as Administrator, there may or may not be a way to do it in Windows proper.

      To do file management, including changing permissions and the like, you can use DOS (the command prompt can be run with RunAs). You can run the "cacls" command from the command prompt to change permissions, and I assume you know how to move files, make directories, etc.
  • Interesting (Score:4, Interesting)

    by einhverfr (238914) <chris.traversNO@SPAMgmail.com> on Friday March 07, 2003 @05:21PM (#5462468) Homepage Journal
    I suspect that too many of the Windoze h4x0rz are too lazy or incompetent to really put in a root-kit. It is possible (imagine if a backdoor installs a .vxd) and this could be devastating (of course driver signing might help).
  • Old news (Score:3, Insightful)

    by kUnGf00m45t3r (628515) on Friday March 07, 2003 @05:21PM (#5462469)
    Here's where the article was originally posted on March 5th: http://www.securityfocus.com/news/2879
  • by metamatic (202216) on Friday March 07, 2003 @05:24PM (#5462511) Homepage Journal
    Sounds to me like IE counts as a root kit. It intercepts the API calls at low level, it can't be uninstalled by normal means, and it uses its "man in the middle" status to hide its secret log files [windows-sucks.com] of all the URLs you visit. Plus, of course, it provides root access via security holes...
    • As funny as it soudns, I think it actually does. From the article,

      "Also known as "kernel mode Trojans," root kits are far more sophisticated than the usual batch of Windows backdoor programs that irk network administrators today. The difference is the depth at which they control the compromised system."

    • If you want to technical, reading the article you will see that IE is not using a man in the middle attack as a rootkit would to hide the files. The files are merely marked with the system attribute, which would hide any file you so marked (even using MS-DOS 5, when IPX was still a common LAN protocol, and when Microsoft did not have the slightest interest in the internet, a system file is hidden unless you are looking specifically for it).

      In other words, it is all done in userspace. But it still catches microsoft with their pants down; why would they go to that much trouble to hide your browsing history from yourself? :)
  • by djkitsch (576853) on Friday March 07, 2003 @05:24PM (#5462522)
    The bit that really concerns me is that it's possible at all, to install a device driver without the user's consent that can directly mediate between the hardware layer and the kernel -

    But then I guess that it's possible precisely because MS have made it simple to manage, and thus simple to mis-manage.

    Of course, the best way to defeat this kind of trojan is simply to use a firewall and block the ports being used to remotly configure the hidden driver. So then, the worrying part is not the trojan itself, but the competancy of the average user...
    • Aha! I compromised a process running as root (for example). What shall I do now? I know, I'll insmod IHAX0REDUGOOD.so after dld'ng it from my xoom.com warez page. Oooh, now I can install zombieslaved and use IHAX0REDUGOOD to prevent anyone from seeing it.

      So what about this is more difficult than windows? An API must exist for a driver to be loaded, therefore it can be exploited. The tool that interacts with a user installing a driver uses this API, the rootkit bypasses all possible interaction (and uses its priveledged position to hide its existance)

      • My point was not that it's easier to do on Windows than on Linux (it's not), but that the average Linux user is a lot more likely to already have 'locked down' their system than the average Windows user, not to mention is more likely to hve the skills to remove it.

        Also, since Linux is a file based config OS, it's gonna be a damn sight easier to remove a rootkit than it would be with Win32. Having had experience (trying to) remove undesirable VXDs and so forth from Windows systems, if the driver in question is resident Windows itself tries very hard not to let you remove it, and there's no easy way to edit the registry without booting fully into the OS.
    • But a kernel level rootkit may not even require ports to be open, it could wait for malformed tcp replies, incoming icmp packets, or maybe even ACK`s - remember most firewalls are stateless, and will block syn`s but allow ACK`s or perhaps RST`s...
      Ofcourse at kernel level you could listen for any single packet of data, or even a non ip ethernet frame etc, and possibly establish a full outgoing tcp connection with whoever is in control of your machine.
  • by A_Non_Moose (413034) on Friday March 07, 2003 @05:26PM (#5462542) Homepage Journal
    quote:
    "The stealth driver in my mind is the scary concept," says Mertens. "You can hide an elephant with it."


    So the first thing they do is hide the \winnt folder?
    .
  • by Qrlx (258924) on Friday March 07, 2003 @05:29PM (#5462592) Homepage Journal
    But seriously, I'm asked to "Imagine what a stealthy rootkit could do!"

    Having lived thru Melissa and ILOVEYOU, I can't imagine it would get much worse than that. The way security is(n't) done in Windows pretty much obviates the need for a rootkit, almost by design you could say.

    People keep talking about the "next" Melissa, but I don't think there will be one -- for basically the same reason there won't be another 4 planes hijacked and crashed into buildings. Microsoft has learned from past mistakes, and Outlook is far far more secure "out of the box" than it once was.

    People have learned, too; for example if you buy a new Dell it comes with McAfee Security Center, which gives you antivirus and (hopefully) some basic firewall protection. It took a few good beatdowns, but Joe User is at least aware of the dangers out there. To a degree I think we can thank the spammers; people are less likely to open suspect attachments nowadays because they prolly think it's spam. I'll take the silver lining and be happy.

    I'd be far more worried about a rootkit/attack on the Internet itself (e.g. core routers, DNS) than the Next Big Windows Vulnerability. With the increasing trend towards Internet Everything, were I in the mood to break things, I would be hacking DNS and Cisco -- break the mesh and the nodes are useless. Conversely, clueful people weren't affected by SQL Slammer since why would you let your SQL Server talk to the Internet on port 1433 anyway?
    • " Outlook is far far more secure "out of the box" than it once was."

      New versions, Yes. Old versions like Outlook 97/2000 which are some of the most common email clients in the world are not. There is also no automatic feature built into Office 2K or below which can apply security updates. If your not savy enough(most aren't) to be able to find and use the Office update site your a sitting duck.

      Its a fact that most Windows users run Windows 98 and a version of Office before XP. Broadband is also more common then ever. It will be a few more years before MS Windows gives up its role as the biggest danger to the Internet and viruses like Melissa and ILoveYou are hardly a thing of the past.
  • by mrkitty (584915) on Friday March 07, 2003 @05:30PM (#5462606) Homepage

    http://www.chkrootkit.org [chkrootkit.org]
    • by Erris (531066) on Friday March 07, 2003 @06:03PM (#5463016) Homepage Journal
      ... the mysterious crashes were actually a lucky break -- they gave away the presence of an until-then unknown tool that can render an intruder nearly undetectable on a hacked system. Now dubbed "Slanret", "IERK, ..."

      Field Day!

      And here we thought that unstable interfaces for device drivers were a bug, they are a feature! This would be really useful if a BSoD only indicated intrusion, sadly it only indicates that your computer is turned on and what module it ran last. Hint to all you LEET HAXORS, make your names dumb like M$ does, rather than "0wned", "R000TED" or any varient of common four letter words like jerk.

      Who says the ierk was responsible for the crash? We know that Windows does that, but we don't know anything about the ierk? Applying the razon, it's best to accept that Windows is still BSoD.

      Oh the list of laughs to be had here go on and on. Who actually thought that it was impossible to hide applications and files on a system that's designed for DRM? Ha! those are features. Who would really trust an O$ by a company who's EULA says the company has the right to inspect and delete files at will and without notice? If they can read and delete, you bet they can write. The system is backdoored by design, of course people are going to take advantage of it.

  • Jon Littman wrote an interesting book about Kevin Mitnick entitled The Fugitive Game. In it he partly addresses the situation of an FBI informant and not-so-l33t hax0r, Kevin Poulsen [nerdworldnj.com]. 100 to 1 this is the same l33t hax0r. Way back in the day--1990--Poulsen was described as not very l33t:

    Their UNIX expertise was not high....I got the feeling these were guys not used to thinking in terms of multiuser systems, not being alert to the fact that "who"s and "ps"s casually invoked by someone else could expose them.

    Now I grant you that 13 years is a lot of time for someone to change and learn to abandon stupid sensational media tactics. But look at the substance of the linked slashdot article : "I wrote a rootkit for Windows, I'm cool, and I ran a script kiddie workshop [blackhat.com]so lots of people can do it! By the way, I screwed up the old code. But the new ones the evil hax0rs will make will be really bad. .. So hire me as a consultant!"...um, yeah, right.

  • by Anonymous Coward on Friday March 07, 2003 @05:36PM (#5462701)
    One of the annoying things about Windows, is that there doesn't seem to be any simple way to "clean boot" it off a floppy or CD.

    It used to be that I would scan someone's system for malware by booting DOS6.22 (or later, Win98 since it could support some newer,bigger filesystem) and run F-Prot. This eventually became less and less practical. The scanner didn't even fit on a floppy anymore, so I was doing thing like clean booting and making a RAM disk, and then unzipping several floppies onto the RAM disk just so I could run a scanner. But eventually people started using NTFS which my DOS/Win98 boot floppies could read anymore.

    I guess I didn't keep up, and I didn't know what the orthodox approach to safe scanning was anymore. Eventually we started telling customers to see someone else about their Windows problems; we just wanted to support our apps and that was it.

    Eventually I found out what the so-called "experts" we were referring people to were doing: they would boot the unclean, suspected system, and install some Windows-based antivirus program (McAffee, Norton, whatever), and then run it to scan the (possibly) infected system, while it was running in a (possibly) infected state. Holy shit, how stupid can you be? No wonder stuff doesn't get detected.

    People were getting huge bills for techs' time too. The amount of waste I saw was staggering, and these were small businesses, not big megacorps.

    I guess the only way to reliably scan a Windows system is take the hard disk out and mount it as a secondary drive in a known clean system? Beats me. Just about every other OS can be booted from removable media, but I don't know a way to do that with Windows. Oh well, somebody else's problem.

    Except there isn't a "somebody else." The customers call around to try to find someone to help them, and in a city of half a million people, no one can. They ask again a couple of weeks and a few thousand dollars later, more desperate. And I tell 'em the only thing I know will work for sure: Totally wipe the HD and reload your apps.

    • by j_kenpo (571930) on Friday March 07, 2003 @05:47PM (#5462821)
      Id have to agree with this. With the exception of the Emergency Recovery Console, in Win2k and WinXP, there isnt really a safe way that I can think of to clean out a infected Windows box the same way as the old Dos days (or even up to WinME). In Unix you could at least boot off a floppy or CD like Knoppix and mount the drive in some form of a safe manner. Ive heard that there is supposidly a way to do this with Windows, but since I have no real desire to go back to Windows nor do I support Windows, so I dont know the legitimacy of that statement nor have I checked. If a Win2k or winXP system is partitioned for FAT32, you could still boot off a floppy and run, but like you said, NTFS is a bitch. If theres some sort of corruption of the boot sector or fat table, mounting it secondary in another system would be suspect, and I have seen viruses that disable virus scanners (or at least attempt to) so installing one after the fact is only partially reliable, if at all. Anyone have any ideas on this?
    • by jd142 (129673) on Friday March 07, 2003 @05:51PM (#5462868) Homepage
      Boot from a Linux floppy/cdrom or Windows cd. Boot to console, mount your drives as ro and scan them. Then if you find something, boot into safe mode and remove the offending files.

      Pretty simple.
    • Safe Mode is used to avoid the rootkit.
      • by sludg-o (120354) on Friday March 07, 2003 @06:32PM (#5463304)
        How did this get modded insightful? If the root kit modifies core system binaries (which is exactly the M.O. of most root kits), then it would still get loaded in safe mode.
        • The article says, quote:

          Despite their increasingly sophisticated design, the current crop of Windows root kits are generally not completely undetectable, and Slanret is no exception. Because it relies on a device driver, booting in "safe mode" will disable its cloaking mechanism, rendering its files visible.

          Somebody read the article, read his comment, and said, "what great insight this man must have! Similar to my own exceptional insight. I must mod him up, which is in a way like modding myself up. I am so kewl. Mod, mod".
      • But he's talking more about viruses.

        One I remember from awhile back was stealth.c, which you couldn't detect once it got into memory. It intercepted calls to memory and didn't return anything related to it. It was stored on the boot sector of your HD, and if you loaded an OS from the HD, even in Safe Mode, you were SOL.
    • Create a bootable Linux CD with whatever you need on there. I happen to throw on McFee's UVSCAN Linux based scan software and go.

      The downside is everytime I need one I have to re-create/burn a CDR that is garbage as soon as another virus is found and the database is updated (pretty much daily).

      I personally like to make it VERY CLEAR what I am running and how I am doing what I am doing when I do bother to help yet another lost Windows user. My parting statement to many has become, "I told you to buy a Mac..."

      My going rate for such garbage services is $125/hr.
      I also happen to have many "clients" where I work on their Linux machines for ... free. Because I *ENJOY* it.

      Bill raped 'em, why can't I?
    • Boot Disk (Score:4, Interesting)

      by hendridm (302246) on Friday March 07, 2003 @06:46PM (#5463439) Homepage
      You could always create an NTFS Boot Disk [ntfs.com] to scan a suspect system. If you want write access, you'll need a boot disk capable of writing data [sysinternals.com] though. Haven't seen a free read/write solution yet...
    • Contrary to popular belief, it's possible to run Windows 9x from a cdrom

      Here-s the link: www.heise.de [heise.de]

      It seems the trick is to load the registry to a ramdisk, and subst the ramdisk drive letter. Rather elegant use of an old dos command.

      Also good for keeping people from loading/adding/deleting programs.

  • by terraformer (617565) <tpb@pervici.com> on Friday March 07, 2003 @05:38PM (#5462718) Journal
    According to the article, Windows NT backdoors have always been 'trivial'...

    And given this, I wonder how many windows machines are already compromised?
    I read this article a couple of days on bugtraq and they were speculating that with one known kit in existence, there are probably ten more they don't know about. They literally stumbled onto this one by accident.

    Imagine these sleeping beauties (well beasts) all just waiting for the signal...

  • Terminology (Score:4, Funny)

    by gmuslera (3436) on Friday March 07, 2003 @05:40PM (#5462745) Homepage Journal
    For what the article say, it is more a BSODkit than anything else.
  • by Anonymous Coward on Friday March 07, 2003 @05:46PM (#5462814)
    I'm a black hat and have had my hand in the creation in them at a few times. You've got to realise that you have to target a default installation of windows given a certain platform. Here's some of my tips of how we go about infecting Windows computers as so they are 'easier' for us to use..

    1: We use packers and unpackers to protect all of our payloads, along with standard de-ICEing as to make casual debuggers simply crash. Look at some of the cracking group trainers as to understand how we hide stuff.

    2: Sometimes, we put utilites on the machine (like grep, ps, kill) that normally arent on Windows machines, however the Internix package makes a garbage DOS shell verrry usable ;-)

    3: We hit many of the files, such as ntoskern, explorer, and others that are ran many times per session. What's better is if you can offload the code to a common library.

    4: If you target a Windows 2k or XP platform, make sure to install the payload inside a system file and its backup. If you dont, windows will overwrite your trjaned package with the known good one. With the bad in the cab, you'll be guaranteed a hole. Sometimes, however, the packages cause problems with windows updates. If that kind of thing happens, it usually causes a bluescreen.

    5: A smart cracker will program the trojaned executable to check a web page on the net (say geocities) and parse the html for commands to do. This way, you have no direct 'link' to the rooted system, and somebody else takes the rap. Using an anonymizing proxy is highly reccomended.

    I've had no experience in writing a kernel-level NT driver, but what I hear from my pals, it's a bitch to do right. I mostly do packages/integration with known software. You'd be amazed how many kid back hats think Netbus, Sub7 or Backoriface is the way you do such things. You just do NOT WANT TO TOUCH THIS CODE, as damn near every anti-virus software will alert the user. That equals a re-Ghost (which that's a good reason to infect the main ghost image...),

    I'll hang around a little while if there's any questions.

    Ja ne..
    • 4: If you target a Windows 2k or XP platform, make sure to install the payload inside a system file and its backup. If you dont, windows will overwrite your trjaned package with the known good one. With the bad in the cab, you'll be guaranteed a hole. Sometimes, however, the packages cause problems with windows updates. If that kind of thing happens, it usually causes a bluescreen.

      I had on a box that would not do windows update. The complaining dll had a very recent modification date. So I cracked it open in CYGWIN and diffed it against a copy off the Win2K cd (this dll had not changed from default because the luser -- not me -- had never run WindowsUpdate. D'oh.) Hrm. Then I extracted the DLL from the CABS on the drive and rebooted. Same problem. Diffed the CAB extracted file with the one on the CD. Guess what. This was my first experience with a win2k rootkit. I forget what it was called, but a rebuild was in order. Man was it slick. I've seen rootkits on linux, BSD and solaris, but damn was this smooth with the packing it into the CABS. I wish I knew what it was up to.
  • Why bother? (Score:5, Insightful)

    by Anonymous Coward on Friday March 07, 2003 @05:46PM (#5462817)
    Nobody bothered with NT rootkits for years because individual users had enough privileges that it wasn't worth the trouble. As long as you can write the registry as an ordinary user, you're in.

    The article confuses two issues - programs that acquire administrator privileges (trivial) and programs that run in kernel mode (possible, but why bother)? Which are they talking about?

    Once Palladium is deployed, attacks that reside below the operating system will be possible. Once the attack is in "secure storage", anti-virus tools won't be able to find it or remove it. Now that will be l33t.

  • by Anonymous Coward on Friday March 07, 2003 @05:47PM (#5462826)
    Windows root kits have been avalible for years. I don't even remember how long ago it was I gave up complaining about there use on the machines on campus. =)

    As far as a university machine goes, it's more than trival to use MS Office's VBA to control a machine with hand written code to edit the filesystem and even make simple shells even if the machine has had it's cmd.exe/command.com 'removed'...

    Perhaps this is just a way to force everyone to supporting signed drivers and letting MS control yet another aspect of the PC industry. There is little other reason to draw attention to the well known fact of widely avalible windows kits.
  • by JJAnon (180699) on Friday March 07, 2003 @05:48PM (#5462836)
    I don't think that cluster had bluescreened since it was put into production two years ago.
    .. which is proof that this was the first time he checked on the cluster since it was 'put in production'.
  • by mintech (93916) on Friday March 07, 2003 @06:17PM (#5463158)
    Theres no reason to run Windows as an Administrator except in unique circumstances. I still dont understand why people run as an administrator.

    We're all familiar with sudo for linux. There's an equivalent for Windows. Theres a program called "runas" and its included with Windows 2000 and XP.

    You can do runas /user:administrator cmd to get a dos prompt with Admin privs.. and then do whatever you want.

    You can read the docs on runas by going to http://support.microsoft.com/default.aspx?scid=kb; en-us;294676 [microsoft.com]
    • You can also right click an icon, select properties, and check the "run as another user" box. Kind of like the suid bit in linux, but it'll prompt for a password every time.

      Which is kind of a pain if you're trying to include runas in a script.
    • hey, be careful, actually knowing how w2k and xp work could get you banned from slashdot.
  • by SN74S181 (581549) on Friday March 07, 2003 @06:24PM (#5463230)
    Since Windows NT isn't a multiuser timesharing system, the power of 'root', in particular remotely, isn't that great. The remote login and remote administration tools for NT are patched on kludges.

    You can install Hummingbird Inetd or Interix, or use the built in but anaemic Telnet server that comes with W2K, but since NT's focus is not to be a symmetrical multi-user timesharing system, the default system most people think of as 'NT' isn't that fun to hack into.

    Now, I've supported many simultaneous users on an NT box running Interix, but that's the exception. I've wondered for awhile how well Apache would run in an Interix subsystem. But it's not interesting enough that I've tried it.
  • by CoyoteGuy (524946) on Friday March 07, 2003 @06:30PM (#5463278)
    Why install a rootkit when there are so many other, much easier vulnerabilities to exploit? I mean, come on... What haxx0r has time to write a rootkit, when they have oodles of options at their fingertips? It's the difference between a script kiddie and a real h@xx0r..

    If it were me, I would just find a buffer overflow, and have some fun..
  • by Sgs-Cruz (526085) on Friday March 07, 2003 @09:16PM (#5464477) Homepage Journal
    A simple windows r00tkit can be found here [nih.gov]. :)
  • by g4dget (579145) on Friday March 07, 2003 @10:24PM (#5464854)
    Is that like pouring a bucket of water into the ocean? Or bringing a boxed lunch to an all-you-can-eat buffet?
  • by shrikel (535309) <hlagfarj@NosPam.gmail.com> on Saturday March 08, 2003 @03:34AM (#5465907)
    "I'm absolutely, one hundred percent positive that there's probably ten more that we haven't seen publicly,"

To thine own self be true. (If not that, at least make some money.)

Working...