Slashdot Mirror


Remote 'Root' Exploit in IIS 5.0

eEye Digital Security was doing some testing that apparently Microsoft hadn't done on its own webserver (IIS 5.0) running on its latest OS (Windows 2000, all versions). "Within a matter of minutes," they say, "a debugger kicked in on inetinfo.exe because of a 'buffer overflow error'" -- and two weeks later, we got simultaneous announcements from Microsoft and eEye. This is a remote SYSTEM-level exploit in a popular webserver, in the wild, i.e., Danger Will Robinson. eEye says about a million servers will need to be patched; it may be more. Go see Microsoft's writeup and patch. See also eEye's droll and informative writeup, which, now that an exploit is confirmed to be in the wild today, has added some source code.

20 of 184 comments (clear)

  1. Bad news about MS, let the games begin by Anonymous Coward · · Score: 4
    Do the /. editors knock each other down on the way to post bad news about Microsoft? Seriously, do you guys have your own 'Frist (Anti-MS) Post thing going between you? Relevant stories get rejected all the time, but you guys must hit 'refresh' ad nauseum until something appears in the inbox with bad news about Microsoft. After that, all bets are off, whoever can hack together a clever title, story, and work in a few extra jabs at Gates & Co., and YOU ARE THE FRIST POST MASTAH! Why not revamp the stories to reflect your true inter-editor competition? Something like:

    CmdrSprk writes: Another MS Bug FA-MSP Editor Biachezzzz!!!!! I 0wn3z j00! Sporks rule!

  2. No need to worry! by Anonymous Coward · · Score: 5
    From Microsoft:

    This could enable a remote attacker to conduct a buffer overrun attack and cause code of her choice to run on the server. Such code would run in the Local System security context. This would give the attacker complete control of the server, and would enable her to take virtually any action she chose.

    Only females can exploit this hole!*

    *Not to be taken out of context

  3. Re:So.... by Anonymous Coward · · Score: 5

    actually, it's not quite so easy. i wrote the exploit, and inititally looked at creating a fix as the initial exploit and ran into the following problems: 1. deleting the file: if you delete the printer dll, it is replaced by the copy in dllcache. if you delete the one in dllcace, it gets replaced by the original. if you delete both at the same time, it then asks for the original install media. self healing files are cool until they reintroduce the problems. 2. removing the extension: there isn't a really easy way to deal with the metabase(the registry like structure used in dealing with iis) using asm 3. size: writing an exploit with around 400 bytes, taking into effect that you have to load addresses and data and have some boot strap code, not to mention that you have to split your code into 2 segments because the buffer overflows right in the middle. if anyone has questions as to why, or how, let me know. i'd be more than happy to explain both to serious inquiries. ryan permeh, ryan@eeye.com

  4. Re:Read Closer. by nathanh · · Score: 4
    A "real" admin would get on the various security lists, go through the MS checklists, apply the high-security template, and download the scripts that Microsoft used to help secure their own W2K webservers.

    No, the install should simply be secure by default. I would apply the same standard to Linux distributions, and they often fail the test. Microsoft isn't alone here but I don't think this makes it "right". It just makes it common.

  5. Re:Um, this is old news... by jamiemccarthy · · Score: 5
    "Debian sendfile root exploit (updated package available)"

    That's a local (not remote) root exploit in a not-commonly-installed tool.

    "Bugzilla shell exploit (updated info available)"

    That's a remote unprivileged-user (not root) exploit in a not-commonly-installed application.

    "Iplanet calendar server exposes netscape admin password"

    That's a local (not remote) non-root exploit in a not-commonly-installed application.

    "DoS against Novell Border Manager"

    That's, um, a DoS against Novell Border Manager.

    "But it's not news unless it's Microsoft, eh, folks?"

    I know it's fun and easy to bash Slashdot for being anti-Microsoft, especially when we report security news, but we don't ignore open-source problems and we only report vulnerabilities which are of pressing and widespread concern.

    Jamie McCarthy

    --

    Jamie McCarthy
    jamie.mccarthy.vg

  6. Re:What's the problem? by sharkey · · Score: 5

    What if it's crawling or limping, as would be more likely than "running?"

    --

    --

    --
    "Outlook not so good." That magic 8-ball knows everything! I'll ask about Exchange Server next.
  7. Buffer Overflows by moeller · · Score: 5

    The vast majority of security vulnerabilities are buffer overflows. This latest vulnerability extends this status quo. There are technologies out there that prevent this, however, almost all of these technologies slow down the system in some way or another. Examples include languages that allow dynamically sized arrays and other preventative measures.

    CPU speed is growing such that it would appear that we could take a speed hit for increased security. Is it coming down to the fact that various organizations would rather market a fast webserver at the expense of a secure one? The $64,000 question is why the industry has not moved towards safer technologies that prevent these security holes.

    Not that Microsoft is incredibly innovative on the security front, but they're hardly the only culprit. Many others rely on unsafe languages and techniques that allow these vulnerabilities to leak through.

    When will it end? Is there any incentive to end?

  8. bottom line by joq · · Score: 4
    Lets get real for a second here. Anyone running printer services over the Internet on a server is an utter moron for one. Secondly shame on Microsoft for allowing by default just about everything under the sun to run, as opposed to other OS's which you'd have to configure a service to run.

    Thats the most common problem with server security, is the lack of knowledge of some of the administrators setting them up. They don't truly know what is running either via way of moronically not being intuitive enough to know what ports are open for what services and why, or just not having a clue altogether.


    Ryan Permeh, resident shellcode ninja of eEye Digital Security, has created an example exploit to be used as a "proof-of-concept".

    Funny how many would whore out including the staff of eEye. Instead or placing a nicely written morally sound write up, they overhype the issue to promote their product.

    Lets not forget, what goes around comes around as eEye has seen in the past. I've purchased programs via my company from eEye, and they're not all that, nor are their advisories. Someone should teach those guys humility.

    As for Microsoft, its just another one of their flaws, so I don't see what the big deal is.

    removing the dot in dot com


  9. Re:Um, this is old news... by blakestah · · Score: 5

    As many people have pointed out, anyone reasonably experienced, and any "real" website, isn't vulnerable to this if they followed the best practice of deleting all app mappings that aren't in use. It's like the blank SQL sa password all over again. Easy to get worked up about, pretty much a nonissue for anyone who even halfway knows what they're doing.

    Right. And millions of stolen credit card numbers as a result is only proof of stupid admins, not stupid software.

    Software has an obligation to setup secure by default, and insecure by the expressed will of the admin. Apparently with IIS and/or MSSQL this little bit of advice is forgotten.

    You can go on and on about how anyone who bothered to read the docs would not setup the server in a vulnerable way, but this ignores an INCREDIBLY important aspect of human nature. That default computer usage should be reasonable is assumed by default. 80+% of all web users NEVER change their home page. In a simliar vein, most web admins simply use the default install, irrespective of the potential holes pr default passwords.

    The default install has to work securely, plain and simple. For IIS or MSSQL, there are obvious reasons that your customers' business is not safe if you used the default install.

  10. Re:Apache can run as 'nobody' Why does IIS need ro by bmajik · · Score: 4

    Because unlike apache on unix, IIS has a built-in facility to let "webs" and "subwebs" take on different user priviledges.. giving not only a sort of "run-as" functionality to web apps easily, but also leveraging the NT security model for isolation between separate websites and apps on the same webserver.

    To do this with apache, well, you're talking about extensions and helpers that break parts of apache and are security risks in their own right... "suexec" comes to mind... and apache still needs to run as root to let any of these work. Furthermore, does suexec work with php ? mod_perl ?.. or is it only a cgi-bin wrapper (i.e. killing apaches performance as a dynamic content server)

    Fwiw, there may be better solutions than the old suexec on apache by now...

    it is possible that via perhaps Impersonation, IIS could run as non-system and still have separate users and app protection etc, but thats tricky to program. There may be other reasons for IIS to run as system; what i've written is just a possibility.

    --
    My opinions are my own, and do not necessarily represent those of my employer.
  11. One of the better quotes by Mr+Krinkle · · Score: 5

    "However, this couldn't be used to conduct an effective denial of service attack, as the IIS 5.0 service automatically restarts itself after a failure. " If it takes me like one packet to shutdown the service(Hence the restart). I can generate lets say 4 packets per minute? (I really do have a better connection but) If I can not keep an IIS server thoroughly enough pissed with a small attack to prevent users Im confused. Not that I would but I just refuse to believe that while IIS is automatically restarting itself users would not be denied service. Oh well two cents. minus a dollar.

    --
    I am 31337 or something.
  12. Buffer Overflows are not the vast majority by The+Pim · · Score: 4
    The vast majority of security vulnerabilities are buffer overflows.

    I don't have numbers (probably only large espionage organizations do), but I'm willing to bet that's not true.

    Buffer overruns undeniably get a lot of coverage on bugtraq--if you casually read the list, you'll be forgiven for thinking that buffer overruns are the overwhelming bane of computer security. But there are two biases to this observation:

    1. Buffer overruns get more talk than vulnerability reports. Go to the vulnerability database at SecurityFocus and browse the recent reports. On the first page, there are 28 vulnerabilities, of which only three explicitly mention buffer overruns. Even assuming that this is an unusually low number, and that a few buffer overruns aren't labeled as overruns, and allowing that buffer overruns tend to be more serious than the average vulnerability, this is hardly a preponderance.

      I frankly think the reason the discussion on bugtraq seems dominated by buffer overruns is that the community enjoys, and is comfortable, discussing buffer overruns. Even though the same religious issues (bounded arrays, language choice, non-executable stack, stack-guarding libraries) are rehashed over and over, people never get tired of them. Buffer overruns have a cherished place in security folklore. This is kinda nice in that it gives the community a common ground, but dangerous because it leads people to overlook the importance of other program flaws that can result vulnerabilities.

    2. bugtraq report statistics probably over-represent buffer overruns. This is related to the above discussion--buffer overruns are popular and well-worn ground. If you report one, everyone will understand it and you'll win sure ego points. So if you're going to search for vulnerabilities, you'll probably search for buffer overruns.

      Further, buffer overruns are plain easy to find. If you have source code, a few greps often take you right to the hole. Even if you don't, tools like fuzz do pretty well (many bugtraq reports indicate that tools like this were used to find the overrun). Plus, contrary to what you might think, buffer overrun exploits are ususally easy to write, so don't think that turns of any would-be security gurus. Other classes of vulnerability usually require more analysis of program logic to find.

    In short, even if we stop using languages with unsafe pointers tomorrow, our security woes will continue in full force.
    --

    The evaluation of an action as 'practical' . . . depends on what it is that one wishes to practice.
  13. So.... by Chester+K · · Score: 4

    Does anyone have a program that will exploit the hole and run code to automatically remove the .printer ISAPI mapping, then crash IIS so it will automatically restart with the new, safer configuration?

    That would be a White Hat job.

    --

    NO CARRIER
  14. Stop, wait, don't flame. by proxima · · Score: 5

    Ok, so there's a major security flaw with Windows 2000 server computers running IIS 5.0 because this ISAPI extension is installed by default. A patch is already available, and for those who don't want to patch (why the hell not?), they can simply remove the extension.

    Yes, this seems to be a really nasty hole, but it doesn't appear as if it's been exploited (yet, of course). Microsoft did release a patch and didn't try to play down its importance (so it seems to me). Those of us in the *nix community have had our share of root exploits in various daemons, so they crop up in even our most favorite software.

    There is no reason to be blindly insulting MS or promoting the secureness of Open Source programs. Large, complex programs are subject to buffer overruns.

    If you have a Win 2000 server or know someone that does, just get the patch. Simple as that.

    --
    "The universe seems neither benign nor hostile, merely indifferent." --Carl Sagan
  15. Microsoft Announces New "RemoteRoot" Feature by tenzig_112 · · Score: 5
    Remote web server administration is a real pain. With all the various firewall security packages out there, it can make a weary IT manager even wearier.

    Let Microsoft take you away from all that. With our new RemoteRoot feature for IIS on Windows2000, users can log in as root from remote sites without all the muckety muck.

    Forgot your password? No problem. RemoteRoot makes getting in easy.

    Microsoft has partnered with the company responsible for Zero Click technology to bring you this wonderful new feature. You can read more about it on their web site.

  16. What's the problem? by curtS · · Score: 5

    The MS writeup clearly states "Note: The vulnerability is only exposed if IIS 5.0 is running."

  17. Read Closer. by rabtech · · Score: 5
    From the Microsoft Bulletin:

    Servers on which the mapping for the Internet Printing ISAPI extension has been removed are not at risk from this vulnerability. The process for removing the mapping is discussed in the IIS 5.0 Security Checklist. The High Security template provided in the checklist removes the mapping, as does the Windows 2000 Internet Security Tool unless the user explicitly chose to retain Internet Printing


    So in effect, if the admin who setup the webserver is in ANY way competent, he should have already been over the checklist and applied the template, both of which discuss removing this extension. If he's lazy and only used the SecTool, that would still do the job.



    -------
    -- russ

    "You want people to think logically? ACK! Turn in your UID, you traitor!"
    --
    Natural != (nontoxic || beneficial)
    1. Re:Read Closer. by rabtech · · Score: 5

      "If the person who setup the webserver was in ANY way competent, do you think they would be using IIS?"

      Better go tell Dell, Microsoft, eBay, NASDAQ, Intel, etc. that they don't have a clue.

      Setting up IIS securely takes work, just as doing so on a Linux box does. The problem is that many so-called "WinNT/2K Admins" are clueless. They click Install, and see that they can get to their web page. They then assume everything is OK.

      A "real" admin would get on the various security lists, go through the MS checklists, apply the high-security template, and download the scripts that Microsoft used to help secure their own W2K webservers. The admin would also stop by the MS security site at LEAST once per month, if not more. They even have a security Tool that can baby-step you through the configuration if the registry scares you.

      Don't blame Ford when you had your keys to a 3 yr old and they wreck the car....

      Of course in this particular case, Microsoft should have performed better testing, but still...

      -------
      -- russ

      "You want people to think logically? ACK! Turn in your UID, you traitor!"

      --
      Natural != (nontoxic || beneficial)
  18. Re:interesting by hammock · · Score: 4

    Would a r00t exploit in the latest linux kernel make slashdots front page? I've often wondered this.

    You sir are an idiot. Please click the links at your leisure.
    Security Flaw with Linux 2.4 Kernel and IPTables
    New Linux Worm
    Linux 2.1.* Security Hole
    *BSD procfs vulnerability Hey a BSD one!!
    Linux 2.2 DoS Attack
    IP Frag Exploit in Linux Kernel
    New Linux Security Holes
    Cracking All The Live Long Day & RH6/7


    "Why didn't I join Microsoft? [LAUGHTER]"

  19. Re:Why use IIS? by geomcbay · · Score: 5
    IIS is generally considered to be quite a bit faster than the standard Apache distribution -- which isn't that surprising since Apache has never really been about raw speed.

    IIS is also far easier to install and maintain, it uses Microsoft's standard MMC console admin interface..Of course, there's two sides to the ease-of-admin issue (many will argue it invites security risk due to low-clue admins being able to do the job, half-assedly).

    Probably the most important feature, though, is Active Server Pages functionality. The ability to write parsed HTML code in any of the languages supported by Microsoft's Active Scripting (JScript, VBScript, Perl, Python, etc), with the added bonus of access to pre-built COM objects.

    It is quite nice. Personally, I prefer PHP for most web-app development..but the wide variety of language choice and the COM integration are pretty cool if you don't mind locking your box to Microsoft technology.