This is the first known worm intending to target Web sites by infecting
Internet Information Servers (ISS). The worm realizes its method of
spreading from one Web site to other Web sites by sending and executing its EXE
file. The name of the worm file is constant – IISWORM.EXE.
The worm infects only machines with an installed IIS package and Web-site
contents. The worm application being run on a such machine locates and
infects remote Web sites (remote machines with installed IIS package): it
enters them, and by using a trick, sends its copy to there, and spawns that
copy in there. As a result, the worm infects all Web servers that can be
accessed from the currently infected machine, and other infected servers spread
the worm copy further etc.
A similar way of infection was used by the famous “Morris virus” (a.k.a. “Internet
worm”) that hit USA networks back in 1988. That worm infected several
thousand machines and paralyzed many networks because of unlimited
copies sent. Fortunately, the “IISWorm” has a lethal bug and cannot repeat
that story. The worm seems to be able to spread its copy to the first IIS
machine, but fails to spread itself further.
The worm code contains only spreading routines, not trigger ones. The
worm does not manifest itself in any way.
The worm itself is a Win32 application about 80K in length, written in Borland
C++. It is executed as a standard Windows application, opens a connection
and uses an HTTP-packets format to spread itself.
To locate victim servers, the worm looks for Web-site addresses in all
*.HTM* files in the INetpub directories:
By using Web-site addresses, the worm connects them and sends a bomb
package to there. This package exploits a vulnerability in IIS software – the
package is constructed so that its data overlaps a data buffer on a remote
IIS, and a block of the package is executed as code in there (at a remote
IIS). This piece of code opens a connection to its “parent” machine, gets the
complete copy of the worm (the IISWORM.EXE file), creates it on a disk and
spawns. As a result, the remote IIS machine is infected and the worm is
active in it and continues spreading.
During tests in the lab, there were some mistakes found in the worm code that
prevent the worm from spreading. The worm seems also to be dependent on the
IIS and WinNT ServicePack versions.