CodeRed

**CodeRed** is a worm and Targeting Software that caused possible billions of dollars of damage in the summer of 2001. It contains the text string "Hacked by Chinese!", which is displayed on web pages that the worm defaces. It is also one of the few worms able to run entirely in memory, leaving no files on the hard drive or any other permanent storage (although some variants do).

## Behavior

Codered arrives at a server as a GET /default.ida request on TCP port 80. The request contains code that exploits a known buffer overflow vulnerability in the indexing software in Microsoft's Internet Information Server

(IIS), allowing the worm to run code from within the IIS server (described by Microsoft Here). The worm runs entirely in memory, and cannot be found on the disk. It is about 3,569 bytes long.

The signature of Codered will appear in access logs as:

```
  GET
  /default.ida?NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
  NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
  NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN%u9090%u6858%ucbd3%u7801%u9090
  %u6858%ucbd3%u7801%u9090%u6858%ucbd3%u7801%u9090%u9090%u8190%u00c3%u0003%u8b00%u531b%u53f
  f%u0078%u0000%u00=a  HTTP/1.0

```

Using the CreateThread API, the worm will try to create 100 threads or copies of itself, but due to a bug in its code it may actually create many more. Infected computers are likely to have high CPU loads because of this. Each of the threads checks for the file, C:\Notworm. If this file exists, the worm does not run and the thread goes into an infinite sleep state. It is uncertain what the exact significance of the Notworm file is. There is some speculation that this file may have only existed on one or more of the creator's computers in order to prevent it from infecting them.

If the date is between the 20th and 28th of the month, the worm will send junk data to port 80 of 198.137.240.91, then the IP address of whitehouse.gov (it was changed because of the worm). After the 28th, it goes into an infinite sleep mode and cannot be awakened unless deliberately executed.

The 100th thread of the worm will check the language of the local page of the server. If the language is US English, it will change the page.

If the date is before the 20th of the month, the next 99 threads attempt to exploit more computers by targeting random IP addresses. To avoid looping back to infect the source computer, the worm will not make HTTP

requests to the IP addresses 127.\*.\*.\* . If the default language of the computer is American English, further threads cause Web pages to appear defaced. First, the thread sleeps for two hours, and then hooks a function which responds to the HTTP requests. Instead of returning the correct Web page, the worm returns its own HTML code.

This hook lasts for 10 hours and is then removed. However, re-infection or other threads can rehook the function.

The worm attempts to connect to TCP port 80 on a randomly chosen host assuming that a web server will be found. Upon a successful connection to port 80, the attacking host sends a crafted HTTP GET request to the victim, attempting to exploit the buffer overflow in the Indexing Service.

The original CodeRed worm stopped propagating on 2001.07.28, going into "Infinite Sleep Mode". It is believed that the worm will not "awaken" and will not spread again, unless deliberately executed.

## Variants

### Codered.II

This variant is very similar to the original with only two major differences. The signature of Codered.II replaces the multiple N's with X's. This variant also drops a trojan called VirtualRoot, which can give a cracker access and control to the server.

### Codeblue

Codeblue uses the "Web Server Folder Traversal" Vulnerability (described by Microsoft here to infect new machines. This variant targets random IP addresses and sends an FTP get request to the target machine. The request causes the target machine to download the file HTTPEXT.DLL to an IIS folder with privileges to execute certain commands on the server (scripts, msadc, iisadmin, \_vti\_bin, iissamples, iishelp, webpub). The worm on the infecting machine executes the DLL file with a URL request, causing the DLL to drop the file SVCHOST.EXE into C:\ (the hard drive on most systems, not in any folders). This makes Codeblue different from Codered, as it is written to the hard drive.

***Note:** There is a legitimate SVCHOST.EXE file in the Windows system folder, do not mistake it for Codeblue, as it is an important system file. Codeblue will be located at C:\ (just the hard drive and not in any folders.*

The worm creates a local machine registry key with a subdirectory "Domain Manager" and adds the value

"c:\svchost.exe" so that the worm runs when the machine is started. SVCHOST.EXE drops a VBS file, D.VBS, which removes the IIS service mappings .IDA, .IDQ, and .PRINTER.

If the time is 10.00 to 11.00AM, the worm will start a denial of service attack against http:/www.nhfocus.com.cn, a Chinese security website.

### Codegreen

This is a nematode worm or anti-worm. This worm has (or will have) its own entry.

## Effects

Code Red infected between 1 and 2 million computers and resulted in an estimated $2.75 billion in clean-up costs and lost productivity. This is out of a possible 6 million, as that is the number of IIS servers in existence at the time. It was the most costly malware of 2001.

## Origin

eEye believed that the worm originated in Makati City, Philippines (the same origin as the VBS/Loveletter worm). The defaced web pages strongly suggest that it might come from China.

Some antivirus people accused Wintermute of the virus coding group 29A of creating CodeRed. Wintermute did code a virus named RedCode, which was probably mistaken for CodeRed.

It is also known that this viruses name originated from the drink: *Mountain Dew: Code Red*

## Other Facts

Code Red was deemed by the FBI to be so dangerous that it could bring down the entire Internet due to the increased traffic from the scans.

The phrase "Hacked by Chinese", in the payload of the original Codered, became a cliché to indicate an online defeat.