Security hole in Windows NT 4 Server and Microsoft IIS allows any Internet user (IUSR_COMPUTER) to change any users password, including the administrator password. Root compromise. No fix yet.
b9bc1d482dfd500af3712ba8c0d5b923354b7d8747117294b47200c8a254dee8
Internet User Bug Security Hole
-kon.
I've recently found a bug in NT 4 Server w/ IIS that allows the internet user (IUSR_COMPUTER)
to change any user's password, including the administrators, leading to total server
compromise.
How it's done:
The attacker must have access to the NT Server's web directory, along with an executable
directory. This could be accomplished via brute forcing a netbios share, ftp, cold fusion,
or other protocol/exploit to obtain a user's password. Checking access to the web
directory, the attacker would upload nc.exe (http://www.l0pht.com/~weld/netcat/) and
cmd.exe to the executable directory (let's say cgi-bin, scripts, iisadmpwd, etc
directories). By entering the following command into the web browser:
http://www.ntboxsomewhere.com/cgi-bin/cmd.exe?/c cgi-bin\nc.exe -L -p 10000 -t -e cmd.exe
They will have spawned a remote DOS shell on the Server on port 10000 (substitute '%20'
for spaces if needed). The attacker then telnet's to 'www.server.com' at port 10000 and
is dropped to a DOS shell spawned in the cgi-bin directory:
Microsoft(R) Windows NT(TM)
(C) Copyright 1985-1996 Microsoft Corp.
C:\InetPub\wwwroot\cgi-bin>
When telnetting to this port, you are the user that spawned the shell, the IUSR_COMPUTER
account. The next thing to try is the 'net' commands. This bug only works if 'net server
stop' has been enacted by an administrator or other person with authority to do so. Here's
the bug: type 'net start server' and the IUSR_COMPUTER can start the server. Incidentally,
the IUSR_COMPUTER can also type 'net user administrator newpass' and will successfully
change the administrator's password.
If netlogon service didn't start with 'net start server', the attacker can now type
'net start netlogon', and will now be able to map any drive to their computer. If need be,
the IUSR_COMPUTER can also share drives now, including 'ADMIN$', 'C$', etc.
After setting the administrator's new password and netlogon service, the next chain of
events would be to administrate the remote computer's IIS using Internet Service Manager,
and simply change the IUSR_COMPUTER's account to 'administrator' and type in the new
password.
Next, spawn a new remote DOS shell via the web browser, as this process is now started via
the web user 'administrator'. The old shell was spawned under the IUSR_COMPUTER. While the
attacker compromises security in this way, he can not use the the IUSR_COMPUTER account
to 'net use \\ip_address\ipc$ /user:user password' from that box. Thus, the need for the
account with such priveleges.
Now, instead of just compromising the remote computer, the attacker can now use that
computer to attack other NT boxes. Include the use of various console DOS exploits, plus
ntreskit programs such as tlist.exe, kill.exe, netsvc.exe, etc, etc, their attack could go
relatively unnoticed.
I have not tried this with just uploading cmd.exe and net.exe and running the commands
thru the browser yet, minus the use of netcat.
Bug tested and works on all i've tried:
NT 4 Server + sp1, sp2, sp3, sp4 and IIS 2.0 + 3.0 + 4.0
I have not yet tried it with any combination not listed above.
I do not know of any patches/fixes for this.
Special thanks to: Weld Pond (http://www.l0pht.com/~weld)
Comments, flames, bitches, beer, pizza, and porno to konceptor@hotmail.com
6/10/99