Christmas Tree EXEC

Christmas Tree EXEC was the first widely disruptive computer worm, which paralyzed several international computer networks in December 1987. The virus ran on the IBM VM/CMS operating system.

Written by a student at the Clausthal University of Technology in the REXX scripting language, it drew a crude Christmas tree as text graphics, then sent itself to each entry in the target's email contacts file. In this way it spread onto the European Academic Research Network (EARN), BITNET, and IBM's worldwide VNET. On all of these systems it caused massive disruption.

The core mechanism of the ILOVEYOU worm of 2000 was essentially the same as Christmas Tree, although it ran on PCs rather than mainframes, was spread over a different network, and was scripted using VBScript rather than REXX.

Operation
The program displays this message, and then forwards itself to mailbox addresses contained in the user's address file. *               *               ***              *****             *******            *********          *************                A             ******* ***********               VERY ***************      *******************            HAPPY ***********        ***************            CHRISTMAS *******************    ***********************         AND MY         *************** *******************        BEST WISHES ***********************  ***************************     FOR THE NEXT ******            ******                    YEAR ******

Details
The name was actually "CHRISTMA EXEC" because on IBM VM systems of the time, a file was identified by an eight character file name and an eight character file type. The customary file type for a REXX program is "EXEC" and command shells assume that file type by default. In text, the file name and file type were often written together as two words. The name of this worm is sometimes written as the more natural "CHRISTMAS EXEC" by mistake.

The worm would read the user's contact list (the CMS NAMES file), and transmit the worm to every address in it using the SENDFILE program (On these networks, one could send files per se, in addition to email; there was in fact no way to attach a file to an email). Users who received the program could see from the EXEC file type that it was an executable program, and with no history of malicious worms then existing, users would often receive the program and run it just out of curiosity. Some users would read the REXX code first and see comments at the top telling them it is a fun Christmas card for them to run. The text there went so far as to discourage the reader from trying to read the code, saying it would be more fun just to run it and see what it does.

Some versions of the worm had concealed code. The actual executable part of the worm was contained in several overly long lines (more than 80 characters) that were not visible unless the user scrolled the screen to the right. The IBM 3279 color terminal would display the Christmas tree with some blinking colored characters (asterisks) to represent tree lights.