声明:转帖(http://linuxipsecvpn.cosoft.org.cn/resource-tommy/%CD%F8%C2%E7%B2%BF%B7%D6/%CD%F8%C2%E7%B0%B2%C8%AB/%A1%B6%CD%F8%C2%E7%B0%B2%C8%AB%C9%A8%C3%E8%B9%A4%BE%DFSATAN%CA%B9%D3%C3%CA%D6%B2%E1%A1%B7.htm),经过我的实际测试在RHEL4上仍然有问题,解决方法正在寻找中。这篇文章只能是一个参考了。
当今最流行的扫描工具之一:SATAN
在命令行上输入如下一些字符:
# satan
SATAN将调用一个浏览器来运行。在浏览器的SATAN初始界面上将出现一个图象。这便是赫赫有名的SATAN.
SATAN 介绍
SATAN 的英文名为 Security Administrator Tool For Analyzing Networks,翻译成中文为:安全管理员的网络分析工具。
SATAN 是一个分析网络的安全管理和测试、报告工具。它用来搜集网络上主机的许多信息,并可以识别且自动报告与网络相关的安全问题。
对所发现的每种问题类型,SATAN都提供对这个问题的解释以及它可能对系统和网络安全造成影响的程度,并且,通过所附的资料,它还解释如何处理这些问题。
SATAN 于1995年4月发布到Internet上,在此之前,还没有哪个安全应用程序引起如此之多的争论。发布前,美国全国的报纸杂志都发表有关这方面的文章;美国国内的新闻广播对它的即将发布进行了报道。
SATAN 是一个软件包,是为UNIX环境编写的。在发布的时候,它仅仅是一个基于XWindows系统的安全程序,具有友好的用户界面。它具有HTML接口,能通过当前系统中的浏览器,如Netscape,进行浏览和操作;能以各种方式选择目标;可以以表格方式显示结果;当发现漏洞时,会出现一些上下文敏感的指导显示。
SATAN 是为UNIX操作系统设计的,主要是用C和Perl语言编写,为了用户界面的友好性,还用了一些HTML技术。运行时,除了命令行方式,还可以通过浏览器来操作。它能在许多UNIX平台上运行,有时根本不需要改变代码,而在其他非UNIX平台上也只是略作移植即可。
在Linux系统中,应用于原系统的某些规则会引起使系统挂起的致命缺陷;在tcp-scan模块中实现的select()调用也会产生问题;如果用户同时扫描一个完整子网,则会引起反向fping爆炸,也即套接字缓存区溢出。在如下站点中不仅包含了用于Linux的、改进的SATAN可执行代码,还包含了diff文件(一个diff文件是指同某一个文件相近,但不相同的文件)。利用diff应用程序,可以比较两个文件,并输出结果文件的修改之处。这些信息可以在ftp.lod.com上得到,或者可以直接从Sun站点下载取得diff文件(sunsite.unc.edu)文件名为:satan-linux.1.1.1.diff.gz。
SATAN 的安装
SATAN 的安装和其他应用程序一样,不同平台上安装的SATAN目录可能略有不同,但一般都是在/satan-1.1.1里。或许用户需要修改几个配置文件。这些配置文件在./config目录下面:
paths.pl paths.sh satan.cf version.pl services
下面将列出系统使用的一个文件 – paths.pl。在这个文件中,需要告诉SATAN,所需要的Netscape在什么目录里,如果找不到浏览器,只能从命令行来使用这个工具。那么,它所有的简单,易用的优点就被大大地打了折扣。从这个文件中,可以看到许多熟悉的常用的命令。并且可以知道,SATAN也是使用这些命令来发现系统的漏洞的。通过对这些文件配置的了解,将在很大程度上打消人们队这一大名鼎鼎的工具的神秘感。事实上,完全可以使用这些系统提供的命令,自己动手来检查系统的安全隐患,只是远没有使用SATAN这一工具那么方便和全面。
Paths.pl文件
$FINGER= /usr/bin/finger
$FTP= /usr/bin/ftp
$RPCINFO= usr/bin/rpcinfo
$RUSERS= /usr/bin/rusers
$SHOWMOUNT= /usr/bin/showmlunt
$TPWHICH= usr/bin/ypwhich
$NSLOOKUP= usr/bin/NSLOOKUP
$XHOST= usr/bin/XLL/XHOST
$PING= /usr/sbin/ping
$MOSAIC= usr/local/netscapel/netscape
$TCP_SCAN= bin/tcp_scan
$UDP_SCAN= bin/udp_scan
$FPING= bin/fping
$NFS_CHK= bin/nfs-shk
$YP_CHK= bin/yp-chk
$SAFE_FINGER= bin/sys_socket
$MD5= bin/md5
$SYS_SOCKET= bin/boot
$BOOT= bin/boot
$GET_TARGETS= bin/get_targets
$TIMEOUT= bin/timeout
$SATAN_CF= config/satan.cf
$SERVICES= config/services
需要注意的是,SATAN比一般扫描工具需要更多的资源,尤其是内存和处理器功能方面要求更高。例如,当在一台IBM的RS600上运行SATAN时,另一个登录请求足足等待了几分钟。如果在运行SATAN时,速度很慢,可以尝试几种解决办法。最直接的办法就是扩大内存和提高处理器的能力,但是,如果这种办法不可行,那么还可以尝试下面两种方法:一是尽可能减少其他进程的运行;二是把一次扫描的主机的数量限制在100台一下。最好需要说明的一点是,对于没有强大的视屏支持或内存支援有限的主机,SATAN可以通过命令行来运行,这一点尤为重要。
SATAN的安装非常简单,为了能够运行SATAN,在前面已经说过,需要一个运行UNIX的系统,在得到了SATAN的软件包后,使用如下命令来解包:
compress -d <satan-X.X.tar.Z | tar xvf-
运行SATAN需要一个Perl 5.0以上的脚本解释程序。需要说明的是Perl 5 ALPHA版是不够的。在安装之前,要在系统中准备好这一软件。另外,还需要一个WWW浏览器(Netscape、Mosaic或Lynx)。
SATAN是一个功能非常强大的工具,它可以自动扫描一个子网。在安装时,要充分考虑机器的处理能力,当一次要搜集或观察数百台主机时,就需要一个有足够处理能力的CPU且至少有32MB的内存。
运行 reconfig 这个脚本程序它将填写一些配置种需要的perl 5执行路径,还包括WWW浏览器的路径。如果SATAN没有发现系统中的WWW浏览器所在的目录,那么用户还需要自己去编辑,config目录下的paths.pl文件,改变如下:
$MOSAIC= program_name
将它改为系统中浏览器的位置。要注意的是,不要改变引号和分号。此后就可以执行 make 命令,在执行时,它将会向用户询问系统的类型,该程序提供是许多常用的系统类型。当网络藏在一个防火墙后面时,还要将一些环境变量原来的值去掉,这些环境变量是$http_proxy、$file_proxy或$socks_ns等。然后,改变当前使用的浏览器的配置信息,使它不使用SOCKS主机或者代理程序。
SATAN 的使用
做完这一切之后,就可以运行SATAN脚本了。当运行时不带参数,它就会自动运行WWW浏览器。也可以在命令行运行它,后面跟一个想要扫描的主机名。再次要提醒的是,如果要收集信息,必须是以超级用户的身份运行它,普通用户则不能收集这些信息。用户可以同时运行多个SATAN进程,但每个进程必须使用它自己的那个数据库。数据库可以在命令行通过-d参数指定。可以对一个IP地址块,包括256个地址(satan -d x.x.x x.x.x),使用一个数据库。当数据收集完毕,可以使用浏览器来合并数据。在此之后,可以使用浏览器的打印功能打印出结果。大多数文档都可以通过浏览器来阅读。SATAN借助于浏览器,使其使用非常方便,任何使用过浏览器的用户都会驾轻就熟的使用它。
进入SATAN的开始界面后,将出现几个功能项:
SATAN Data Management (SATAN 数据管理)
SATAN Target selection (SATAN 目标选择)
SATAN Reporting & Data Analysis (SATAN 报告和数据分析)
SATAN Configuration Management (SATAN 配置管理)
SATAN Documentation (SATAN 在线文档)
SATAN Troubleshooting (SATAN 疑难问题解答)
就像面对平常的Netscape Nangator 或者 Microsoft Internet Explorer中的超文本链接一样,可以单击任何一个链接。不同的是,此时,所有的文档都是取自本机的一些目录下面,而不是来自某个WWW服务器。当遇到问题时,随时都可以调出在线文档,来寻找问题的解答。
SATAN用于扫描远程主机的许多已知漏洞,下面是它扫描的主要的一些系统漏洞:
* FTPD 脆弱性及FTP目录是否可写
* NFS脆弱性
* NIS脆弱性
* RSH脆弱性
* sendmil服务器脆弱性
具体为:
* 向任何主机调用的NFS文件系统
* NIS口令文件可被任何主机访问
* 旧版本(在8.6.10前)的sendmail
* 从任何主机上的rexd访问
* X 服务器访问控制无效
* 借助FTPD的对任意文件的访问
* 可写匿名FTP根目录
要再次强调的是,这些都是已知的漏洞,SATAN并不能发现新的安全漏洞,也就是说,最终无法通过手工完成的事,SATAN也办不到。但是,SATAN可以自动执行这些已知漏洞的检测,而且能以便于使用的方式提供信息。关于这一工具,最后要说的是,尽管SATAN 已经是名满天下,但是,还是有许多系统,包括美国军方的一些网络,被一些年轻的黑客使用这种工具侵入到系统中。因此,国内的网络用户和安全管理员们决不能因为SATAN扫描的是一些众所周知的陈旧的系统缺陷而掉以轻心,以为软件开发商已经修补了这些安全隐患或自己的系统的配置是安全正确的。

本文还暂无回复