Problem Solving:Windows NT/2000
DoS Attack
the password has been changed this
KnownDLLs list and patches it so that
error allows anyone to log into that
calls to the NT system DLL are instead
An attack on NT which sends either
account from any computer which
diverted to the malicious version now
the
Local
Security
Authority
uses the NT hash for authentication
in memory. As system DLLs run with
(LSASS.EXE) or the Spooler Service
(Windows 95, 98 and NT) using a
an elevated security context the mali
(SPOOLSS.EXE) to 100% utilisation of
blank password a clear security vio
cious DLL could more or less do any
the processor is possible by opening
lation.
thing its writer wished, such as gaining
multiple named pipe connections to
To close this loophole obtain and
Administrator access to the worksta
these services and sending random
install msv1 fix. Details are in KB arti
tion. This access can then be used to do
data to them. The RPC (Remote Proce
cle Q214840. The problem was fixed in
whatever the attacker wanted, includ
dure Call) service will detect that the
SP5.
ing installing Trojan horses, pass
RPC requests are invalid, but in trying
word capturing utilities or network
to send a response to the invalid caller
KnownDLLs Exploit
sniffers to capture sensitive network
and close the connection will go into a
traffic.
loop, using 100% of the CPU time, and
This exploit potentially allows an
The hotfix to correct the problem
additionally leaking memory. The af
unprivileged user to gain local admin
patches
the
Session
Manager
fected computer will therefore slow to
istrator privileges on an NT computer.
(SMSS.EXE) to increase the levels of
a halt and may eventually hang.
The attack would require the attacker
protection possible on the base system
To prevent Denial of Service (DoS)
to write a program which manipulates
objects. Note that, as with some other
from such an attack you should obtain
NT system files in memory. While this
hotfixes, simply applying the patch
and install nprpc fix. Details are in Mi
may seem unlikely in the vast majority
does not itself fix the problem, it
crosoft
Knowledge
Base
article
of enterprises, it is always possible for
merely makes it possible for the prob
Q195733. The fix itself was incorpo
a single malicious individual to write
lem to be fixed. Once you have applied
rated into SP5.
a program that exploits this vulner
Smss fix, you must add a registry
ability in a way that end users can use
subkey
of
ProtectionMode
to
Password Changes
easily and then distribute it via the
HKEY_LOCAL_MACHINE\Sytem
Internet.
\CurrentControlSet\Control\Session
This is a serious vulnerability affect
The way it works is by using a loop
Manager and set its value to be a
ing networks that have what Microsoft
hole in the protection of NT system
REG_DWORD of 0x1. Once you have
refers to as downlevel clients such as
objects, which are the means by which
done this and rebooted, the computer
Windows for Workgroups, OS/2 or an
NT controls access to processes and
will be protected from this attack.
Apple Macintosh. It was introduced
resources. When a system DLL (Dy
More details are in KB article
by the changes made to logon valida
namic Link Library) is required by two
Q218473, and the fix was first posted
tion in Service Pack 4.
or more processes, NT economises on
in Service Pack 5.
The client software on Windows for
the use of memory by loading a single
Workgroups and the Microsoft UAM
copy of the DLL into memory and
MaxRequestThreads
(User Authentication Module) for
mapping a copy into the process space
Macintosh uses the older, less secure
of the calling process. When a process
Exceeding the MaxRequestThreads
LAN Manager hash of the password.
calls a function in such a DLL, NT re
number may crash NT. This is another
When a user changes his or her pass
fers to a system object called the
Denial of Service attack, this time tar
word from an older system such as the
KnownDLLs list, which gives the loca
geting the Client Server Runtime Sub
ones mentioned above, NT Server will
tion in memory of the DLL called.
system (CSRSS). NT's architecture is
store the LAN Manager hash in the
System DLLs can't be modified in
based around a client server model,
SAM (Security Accounts Manager) da
memory, as NT's security system pre
where every time a user process
tabase, and set the stronger NT hash
vents it. However, the security protec
wishes the operating system to do
form of the password to NULL. Once
tion on base system objects, of which
something on its behalf it must issue a
the KnownDLLs list is one, is lax and
request, as a client, to the OS and await
allows all users read and write access
the result of its request. In this way,
getadmin\hotfix.exe z m
to the KnownDLLs list. An attacker
unprivileged user processes can use
simp tcp\hotfix.exe z m
would therefore first write a malicious
facilities that only privileged processes
tear\hotfix.exe z m
program as a DLL and give it the name
have access to.
srv\hotfix.exe z m
of an NT system DLL. They would also
The Client Server Runtime System
y2k\hotfix.exe z m
need to write another program which
is the process that manages these re
euro\hotfix.exe z m
manipulates the KnownDLLS list.
quests. This attack depends again on
lsa2\hotfix.exe z m
He or she would then go to a com
malicious code being executed at the
puter running NT and run the pro
computer code that makes a request
gram, loading the malicious DLL.
to a system process that requires user
Figure 1 Example batch file used
Then they would run the second pro
input, but never supplies that input.
to install hotfixes.
gram, which accesses the unprotected
The thread that CSRSS.EXE creates to
File: P1718.2
Issue 118 (May 2000) page 4
PC Network Advisor
< Next page >
New! The best sites for quality inkjet printer cartridges and the best sites for cheap inkjet cartridges