Net-Worm.Win32.IISWorm

Class Net-Worm
Platform Win32
Description

Technical Details

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.

Details

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:

wwwroot

www root

inetpubwwwroot

inetpubwww root

websharewwwroot

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.