John Fisher CIAC Team ciac@llnl.gov
Released on April 5, SATAN is the joint work of Dan Farmer, author of COPS (Computer Oracle and Password System), and Wietse Venema, from the Eindhoven University of Technology in the Netherlands. This project is a private effort on their part, and the final product is to be freely available to anyone on the Internet.
SATAN is guaranteed to have a large impact on Internet security. It is being promoted as a security tool for system administrators, not an attack tool for crackers. Unfortunately, it can be utilized in either manner. It is up to system administrators to decide what its impact will be. The safety of any particular system is dependent on who utilizes SATAN first.
Searching for system vulnerabilities is not a new idea. COPS will report many common vulnerabilities on a single system, by analyzing the system it resides on. Tools which probe for vulnerabilities on remote systems are not a new idea either. The Internet Security Scanner (ISS), written by Christopher Klaus, has been available in both public and commerical versions for several years. While it certainly simplified probing of remote systems, the public version was not particularly powerful. It lacked a user interface, and provided a limited set of attacks. In contrast, SATAN is considerably more powerful, and utilizes a World Wide Web (WWW) client to provide a friendly, point and click interface. Extensive information is provided that explains what vulnerabilities are being identified, and how those vulnerabilities can be removed.
Through Target Selection, the user can enter a machine or a domain of machines to attack, and the extent of the attack (Light, Normal, Heavy). A Light attack will simply report what hosts are available, and what Remote Procedure Call (RPC) services they offer. A Normal attack will probe the targets by establishing finger, telnet, FTP, WWW, gopher, and SMTP connections. These will be used to establish what the operating system is, and what vulnerabilities may be available. A Heavy attack will additionally search for several other known vulnerabilities, such as writable anonymous ftp directories or trusted hosts.
Once the targets and extent of probing are established, a simple mouse click will begin the analysis. When finished, the user finds the results in the Reporting & Data Analysis link.
SATAN is highly customizable and extendible. Through configuration files, numerous default values can be modified. New probes to be performed on each host may be added by writing a program (or script) with the proper input and output, and naming it with an extension of ".satan." This will allow users to write their own attacks tools, and add them to SATAN in a plug-and-play manner.
Of course, the configuration problems should be addressed immediately, once uncovered. The more serious vulnerabilities may be addressed by stopping the vulnerable service, or placing a firewall around the vulnerable set of hosts.
Below is a summary of vulnerabilities that SATAN exploits, chiefly borrowed from the SATAN documentation itself. By effectively addressing these vulnerabilities, system administrators can prevent most attacks.
This is not an easy problem to fix. Of course, make sure that all NFS security patches have been installed. The best bet is to find a new implementation of NFS, one which supports DES encryption, and utilizes AUTH_DES authorization. A partial solution is to configure NFS so that requests are only accepted from privileged system programs (making spoofing more difficult). Then, a user must at least be root on a remote system in order to send NFS requests.
Several steps can be taken to avoid this vulnerability. First, a portmapper should be used which does not forward mount requests, if the host is a BSD system. Wietse Venema has written a more secure portmapper. For System V based systems, a similar tool has been written by Venema which is a replacement for rpcbind.
Second, more caution should be used when exporting file systems. File systems should be exported as read-only when possible, and an export list should not include the exporting server.
The best solution is to update NIS to provide some more complete access control mechanisms. Unfortunately, not all vendors are providing this yet. A portmapper with tighter access control mechanisms may work as well. Several patches for NIS running on SunOS are discussed in CIAC Bulletin C-25.
A strongly enforced policy for good passwords is probably as important as a secure NIS. Several passwd alternatives are available which require the user to enter more complex passwords, such as npasswd.
#rexd/1 stream rcp/tcp wait root /usr/etc/rexd rexd
The package logdaemon provides replacements for rlogind, rshd, etc. They provide better handling of the hosts.equiv and .rhosts files, such as the rejection of wildcards. The package can be found at .
%/usr/etc/showmount -e hostname export list for hostname: /usr hosta:hostb:hostc /usr/local (everyone)The above output indicates that this NFS server is exporting two partitions: /usr, which can be mounted by hosta, hostb, and hostc; and /usr/local which can be mounted by anyone. In this case, access to the /usr/local partition should be restricted.
Whenever possible, file systems should be exported read-only. Regardless of the export privileges, a limited set of hosts should be explicitly defined in the /etc/exports file. A sample file might be as follows:
/usr -ro,access=hosta.domain:hostb.domain /usr/local -access=hosta.domainHere, /usr is available for read-only access by hosta and hostb. /usr/local is available for read/write access, but only by hosta. Consult the system manual entry for "exports" or "NFS" for more information.
To avoid these problems, all "xhost +" commands should be removed from the .Xsession file, each user's .Xsession file, and any application program or shell script that may contain it. The ability to access a particular X server remotely should always be granted on a limited basis. The xhost program should really be avoided entirely. Instead, the xauth program should be used, using either MIT-MAGIC-COOKIE or SUN-DES authentication. See the xauth man pages for more details.
The best way to avoid this problem is to have all system files and directories under the anonymous FTP home directory owned and writable solely by root. Making "/bin/false" the shell will have the additional effect of disallowing shell sessions with the ftp account.
For more information on securing anonymous FTP and other information servers, see the CIAC Document CIAC-2308 R.2
The above information is fairly limited in details. The best source for understanding the vulnerabilities exploited by SATAN is SATAN itself. Every system administrator should read through the documentation it provides, and understand how to cover the holes it exploits.
CIAC has recently written a program to defend against SATAN and other similar tools. The program, called Courtney, monitors the connections to the ports probed by SATAN. When an attack by SATAN takes place, the offending host will be reported. Verify that the MD5 checksum of the compressed tar file (of Courtney 1.2) has a value of 3257009164eaf10d1e3ae4a7de102f03.
CIAC offers several powerful tools to DOE and DOE contractors for inspecting UNIX based systems, and offering additional protection against SATAN. The Security Profile Inspector (SPI) provides a powerful suite of security inspections, using a straightforward menu-based interface. The Network Intrusion Detector (NID) provides a suite of security tools for detecting and analyzing network intrusion.
Voice: 510-422-8193 FAX: 510-423-8002 STU-III: 510-423-2604 E-mail: ciac@llnl.govFor DOE and DOE contract site emergencies only, call 1-800-SKYPAGE (1-800-759-7243) and enter PIN number 8550070 (primary) or 8550074 (secondary).
Previous CIAC notices, anti-virus software, and other information are available via WWW and anonymous FTP.
CIAC has several self-subscribing mailing lists for electronic publications:
subscribe list-name LastName, FirstName PhoneNumberas the E-mail message body, substituting CIAC-BULLETIN, CIAC-NOTES, SPI- ANNOUNCE or SPI-NOTES for list-name and valid information for LastName FirstName and PhoneNumber. Send to: ciac-listproc@llnl.gov (not to: ciac@llnl.gov) e.g.,
subscribe ciac-notes O'Hara, Scarlett W. 404-555-1212 x36 subscribe ciac-bulletin O'Hara, Scarlett W. 404-555-1212 x36You will receive an acknowledgment containing address, initial PIN, and information on how to change either of them, cancel your subscription, or get help. To subscribe an address which is a distribution list, first subscribe the person responsible for your distribution list. You will receive an acknowledgment (as described above). Change the address to the distribution list by sending a second E-mail request. As the body of this message, send the following request, substituting valid information for list-name, PIN, and address of the distribution list:.
Send E-mail to ciac-listproc@llnl.gov:
set list-name address PIN distribution_list_addresse.g.,
set ciac-notes address 001860 rE-mailer@tara.georgia.orbTo be removed from this mailing list, send the following request:
unsubscribe list-nameFor more information, send the following request:
helpIf you have any questions about this list, you may contact the list's owner: listmanager@cheetah.llnl.gov.