-----BEGIN PGP SIGNED MESSAGE----- __________________________________________________________ The U.S. Department of Energy Computer Incident Advisory Capability ___ __ __ _ ___ / | /_\ / \___ __|__ / \ \___ __________________________________________________________ INFORMATION BULLETIN HTML Viruses December 8, 1998 17:00 GMT Number J-018 ______________________________________________________________________________ PROBLEM: A new class of computer viruses known to infect web pages. PLATFORM: Windows NT servers running the Internet Information (IIS) or any Windows system running the Windows Scripting Host. DAMAGE: Executing an infected web page stored locally can infect other web pages or damage files on the local system. SOLUTION: Remove the Scripting Runtime Library if you do not need it. If you do need the Scripting Run-time Library, keep your antivirus software up-to-date, take care what web pages you download and view locally, and beware if you get a Security Alert indicating that "An Active-X control on this page may be unsafe...". ______________________________________________________________________________ VULNERABILITY The risk of being infected or damaged by this class of virus is ASSESSMENT: low because a local copy of the infected page must be viewed to infect other pages and the scripting run-time library must be installed for the virus to access the machine's file system. ______________________________________________________________________________ HTML Viruses Introduction ============ A new class of viruses has recently appeared that utilize the VBScript scripting language to infect web pages. While these viruses are causing a lot of worry, they are not as dangerous, as some would have you believe, for two reasons: 1. In order for the virus to infect other pages, it must be run from a local copy of the infected web page. That is, instead of viewing a web page on a web server, you must first download it to your machine and then view the local copy. This is necessary for the virus to get a copy of itself to attach to another web page. 2. The Scripting Run-time Library must be installed on your system. The Scripting Run-time Library contains the File System Object which is what VBScript uses to access the local file system. Without that object, a VBScript script cannot access files on the local system. The Scripting Run-time Library is currently shipped with the Internet Information Server (IIS) module of the Windows NT 4 Server operating system and the Windows Scripting Host. Virus Operation =============== The VBScript scripting language was developed by Microsoft as a competitor to JavaScript for automating web pages. The language is a variant of the Visual Basic for Applications computer language that is built into several Microsoft applications. Because VBScript was designed to run on the web client, the language was intentionally handicapped to make it impossible to damage a person's system using a script. Thus, VBScript has no commands for accessing memory or the file system. JavaScript is handicapped in much the same way. Newer uses of VBScript include Active Server Pages and the Windows Scripting Host. Active server pages are a part of the IIS which allow web pages to be generated on the fly on a web server. This capability is especially useful when a web page is to include content from a database. Because this package runs server programs on the server, it does not need the protections that VBScript on a client's machine does. The Scripting Run-time Library containing the File System Object is included with Active Server Pages to give VBScript running on the server the ability to access files on the server's file system. The HTML class of viruses make use of the fact that the scripting engine on a server can access the file system and can only operate on a system that has the File System Object installed. They need access to the file system to replicate and to attack a computer (delete or change files). The scripting run-time library is normally only installed on Windows NT 4 Servers running the IIS. It is not normally installed on Windows NT 4 workstations because it is not normally needed; but it can be installed as part of the Windows Scripting Host. How Do I Find Out If I Am Vulnerable? ===================================== To see if you are vulnerable to the html virus, copy the following web page into a file named fstest.htm and open it with Internet Explorer. If Internet Explorer displays an "Internet Explorer Script Error" dialog box with the error "Active-X component can't create object: 'CreateObject'", the Scripting Run-time Library is not installed and you are not vulnerable. If Internet Explorer puts up a Security Alert indicating that "An Active-X control on this page may be unsafe...", the Scripting Run-time Library is installed and you are vulnerable. If you click Yes, the code runs and lists all the files in your root file system on the web page. - --------cut here--------
This web page will list the files in your root directory if the Scripting Run-time Library is installed and registered. If it is not installed and registered, this web page generates a script error.
Files In The Root Directory (\)
- -------Cut Here------
The script operates by creating a file system object, selecting the root
directory, getting the list of files in the root directory, and then printing
them in the body of the web page.
Another way to check for the vulnerability is to see if the scripting run-time
library is on your system. On a Windows NT 4 system, look for the file:
$WINDIR\system32\scrrun.dll
where $WINDIR is typically c:\winnt If this file exists on your system, your
system may be vulnerable to the html virus. Note that the library must be both
on your system and registered in the registry to be used by a script or html
virus.
Protecting Against the HTML Virus
=================================
If you are not using Active Server Pages or the Windows Scripting Host, you do
not need the Scripting Run-time Library. If you are using active server pages,
but are not accessing local files, you also do not need the Scripting Run-time
Library. You can remove the Scripting Run-time Library and protect a system by
moving the file:
$WINDIR\System32\scrrun.dll
onto a floppy disk. Save this copy in case you need to reinstall it at a
future date (see below).
If you need the Scripting Run-Time Library, you will have to be careful what
you load onto your system.
1. Have up-to-date antivirus software running.
2. Be careful running web pages that you have downloaded to your computer.
3. If you get the Security Alert about running an unsafe Active-X control
on the current page, do not click Yes to go ahead and run the control.
Open the page with a text editor first to see what is causing the alert.
Reinstalling The Scripting Run-Time Library At A Later Date
===========================================================
If after removing the scrrun.dll library file you find that you need to
restore the Scripting Run-time Library, you must:
1. Copy the file back into the $WINDIR\system32 directory.
2. Register the library by typing the following command in a DOS window.
$WINDIR\system32\regsvr32.exe $WINDIR\system32\scrrun.dll
______________________________________________________________________________
CIAC, the Computer Incident Advisory Capability, is the computer
security incident response team for the U.S. Department of Energy
(DOE) and the emergency backup response team for the National
Institutes of Health (NIH). CIAC is located at the Lawrence Livermore
National Laboratory in Livermore, California. CIAC is also a founding
member of FIRST, the Forum of Incident Response and Security Teams, a
global organization established to foster cooperation and coordination
among computer security teams worldwide.
CIAC services are available to DOE, DOE contractors, and the NIH. CIAC
can be contacted at:
Voice: +1 925-422-8193
FAX: +1 925-423-8002
STU-III: +1 925-423-2604
E-mail: ciac@llnl.gov
For emergencies and off-hour assistance, DOE, DOE contractor sites,
and the NIH may contact CIAC 24-hours a day. During off hours (5PM -
8AM PST), call the CIAC voice number 925-422-8193 and leave a message,
or call 800-759-7243 (800-SKY-PAGE) to send a Sky Page. CIAC has two
Sky Page PIN numbers, the primary PIN number, 8550070, is for the CIAC
duty person, and the secondary PIN number, 8550074 is for the CIAC
Project Leader.
Previous CIAC notices, anti-virus software, and other information are
available from the CIAC Computer Security Archive.
World Wide Web: http://www.ciac.org/
(or http://ciac.llnl.gov -- they're the same machine)
Anonymous FTP: ftp.ciac.org
(or ciac.llnl.gov -- they're the same machine)
Modem access: +1 (925) 423-4753 (28.8K baud)
+1 (925) 423-3331 (28.8K baud)
CIAC has several self-subscribing mailing lists for electronic
publications:
1. CIAC-BULLETIN for Advisories, highest priority - time critical
information and Bulletins, important computer security information;
2. SPI-ANNOUNCE for official news about Security Profile Inspector
(SPI) software updates, new features, distribution and
availability;
3. SPI-NOTES, for discussion of problems and solutions regarding the
use of SPI products.
Our mailing lists are managed by a public domain software package
called Majordomo, which ignores E-mail header subject lines. To
subscribe (add yourself) to one of our mailing lists, send the
following request as the E-mail message body, substituting
ciac-bulletin, spi-announce OR spi-notes for list-name:
E-mail to ciac-listproc@llnl.gov or majordomo@tholia.llnl.gov:
subscribe list-name
e.g., subscribe ciac-bulletin
You will receive an acknowledgment email immediately with a confirmation
that you will need to mail back to the addresses above, as per the
instructions in the email. This is a partial protection to make sure
you are really the one who asked to be signed up for the list in question.
If you include the word 'help' in the body of an email to the above address,
it will also send back an information file on how to subscribe/unsubscribe,
get past issues of CIAC bulletins via email, etc.
PLEASE NOTE: Many users outside of the DOE, ESnet, and NIH computing
communities receive CIAC bulletins. If you are not part of these
communities, please contact your agency's response team to report
incidents. Your agency's team will coordinate with CIAC. The Forum of
Incident Response and Security Teams (FIRST) is a world-wide
organization. A list of FIRST member organizations and their
constituencies can be obtained via WWW at http://www.first.org/.
This document was prepared as an account of work sponsored by an
agency of the United States Government. Neither the United States
Government nor the University of California nor any of their
employees, makes any warranty, express or implied, or assumes any
legal liability or responsibility for the accuracy, completeness, or
usefulness of any information, apparatus, product, or process
disclosed, or represents that its use would not infringe privately
owned rights. Reference herein to any specific commercial products,
process, or service by trade name, trademark, manufacturer, or
otherwise, does not necessarily constitute or imply its endorsement,
recommendation or favoring by the United States Government or the
University of California. The views and opinions of authors expressed
herein do not necessarily state or reflect those of the United States
Government or the University of California, and shall not be used for
advertising or product endorsement purposes.
LAST 10 CIAC BULLETINS ISSUED (Previous bulletins available from CIAC)
J-008: FreeBSD TCP RST Denial of Service Vulnerability
J-009: Cisco IOS Command History Release at Login Prompt
J-010: SGI Buffer Overflow Vulnerabilities ( xterm(1), Xaw library)
J-011: Microsoft IE 4.01 Untrusted Scripted Paste (Cuartango Vul.)
J-012: SGI IRIX routed(1M) Vulnerability
J-013: SGI IRIX autofsd Vulnerability
J-014: IBM AIX automountd Vulnerability
J-015: HP SharedX Denial-of-Service Vulnerability
J-016: Cisco IOS DFS Access List Leakage Vulnerabilities
J-017: HP-UX vacation Security Vulnerability
-----BEGIN PGP SIGNATURE-----
Version: 4.0 Business Edition
iQCVAwUBNm22ZbnzJzdsy3QZAQHqNQQAivBp/vISwH0mEDm3qZ0ECW33CMAS/D3f
ChIZaxqdssXOfcyaiAEdcd6brUxMrKdV5TGpt/oO/Mw/Vzagh7cAw4FOTNwrV2Yx
5B83RQeTGNYjIpOkMrXFG7Kvx98mVj812Zk/95LhxehseB9B+TxcOO+5AGPAQcWe
ZNip2YpodTE=
=KbVt
-----END PGP SIGNATURE-----