|
楼主 |
发表于 2004-3-8 03:45:03
|
显示全部楼层
网络扫描器简介
这是一个交大硕士整理的一片简介性文章,其中本人推荐端口扫描器nmap和漏洞扫描器nessus。
扫描器
扫描器是一种通过收集系统的信息来自动监测远程或本地主机安全性弱点的程序,通过使用扫描器,可以发现远程服务器的各种TCP端口的分配及提供的服务和它们的软件版本。这就能让黑客或管理员间接或直接的了解到远程主机存在的安全问题。
扫描器通过选用远程TCP/IP不同端口的服务,并纪录目标给予的回答,可以搜集到很多关于目标主机的各种有用的信息。需要强调的是,扫描器并不是直接的攻击网络漏洞的工具,他仅仅能帮助黑客发现目标机的某些内在的弱点。一个好的扫描器能对它的得到的数据进行分析,帮助攻击者查找目标主机的漏洞,但它不会提供进入一个系统的详细步骤。
扫描器有三项功能:1。发现一个主机或网络;2。一旦发现一台主机,可以发现有什么服务程序正运行在这台主机上;3。通过测试这些服务,发现漏洞。
编写扫描器程序必须要有很多TCP/IP程序编写和C,Perl或Shell语言的知识,并且需要一定的网络编程能力。早期的扫描器都是在UNIX系统下的,后来随着Windows的发展,越来越多的扫描器已经移植到了Windows中。但我们还是推荐是用Unix/Linux下的扫描器,因为在相同的硬件条件下,Unix/Linux扫描器的速度要比Windows扫描器快得多。
按照扫描的目的来分类,可以分为端口扫描器和漏洞扫描器。端口扫描器只是单纯的用来扫描目标主机开放的服务端口以及与端口相关的信息。常见的端口扫描器友NMAP,PROTSCAN等,这类扫描器并不能给出直接可以利用的漏洞,而是给处于突破系统相关的信息,这些信息对于普通人来说也许是极为平常的,丝毫不能对安全造成威胁,但一旦到了黑客的手里,他们就成为突破系统所必需的关键信息。
与端口扫描器相比,漏洞扫描器更为直接,他检查扫描目标中可能包含的大量已知的漏洞,如果发现潜在的漏洞可能性,就报告给扫描者。这种扫描器的威胁行极大,因为黑客可以利用扫描到的结果直接进行攻击。当然,它也不能告诉你如何利用这些被发现的漏洞,这还需要你根据自己的经验和具体的情况来进行。这种扫描器种类极多,最著名的有ISS,NESSUS,SATAN等。
许多初学者认为,既然漏洞扫描器可以直接给出漏洞,那它的作用一定比端口扫描器大的多,其实不然。漏洞扫描器虽然给出潜在的漏洞,但这些漏洞一般用手工方法同样可以检测到,使用漏洞扫描器只是为了提高效率。而端口扫描器则给出系统最基本的信息,一个有经验的攻击者或管理员只要看到端口扫描信息,就可以马上判断出哪些潜在的漏洞,根本不需要再使用漏洞扫描器进行扫描了。
§1端口扫描器
Nmap
一:功能简介
NMap是Linux下的网络扫描和嗅探工具包。其基本功能有三个,一是探测一组主机是否在线;其次是扫描主机端口,嗅探所提供的网络服务;还可以推断主机所用的操作系统 。Nmap可用于扫描仅有两个节点的LAN,直至500个节点以上的网络。Nmap 还允许用户定制扫描技巧。通常,一个简单的使用ICMP协议的ping操作可以满足一般需求;也可以深入探测UDP或者TCP端口,直至主机所使用的操作系统;还可以将所有探测结果记录到各种格式的日志中,供进一步分析操作。
二:使用说明
1、各种扫描模式与参数
首先输入要探测的主机的IP地址作为参数。假如一个LAN 中有两个节点:192.168.0.1和192.168.0.2可以在命令行中输入:nmap 192.168.0.2来扫描第二个节点。
使用一些命令选项开关,就可以实现较高级的功能。
-sS选项可以进行更加隐蔽的扫描,并防止被目标主机检测到。 但此方式需要用户拥有root权限-sF -sX -sN则可以进行一些超常的扫描。假如目标主机安装了过滤和日志软件来检测同步空闲字符SYN, 那么-sS的隐蔽作用就失效了,此时可以采用-sF(隐蔽FIN), -sX(Xmas Tree)以及-sN(Null)方式的扫描。这里需要注意的是由于微软的坚 持和独特,对于运行Windows 95/98或者NT的机器FIN,Xmas或者Null 的扫描结果将都是端口关闭,由此也是推断目标主机可能运行Windows 操作系统的一种方法。以上命令都需要有root权限。
-sU选项是监听目标主机的UDP而不是默认的TCP端口。尽管在Linux 机器上有时慢一些,但比Window系统快得多。
2、操作系统探测
-O选项用来推断目标主机的操作系统,可以与上述的命令参数联合使用或者单独调用。Nmap利用TCP/IP“指纹”技术来推测目标主机的操作系统及其版本。
3、更进一步的应用
除了一次只扫描一个目标主机,你也可以同时扫描一个主机群,比如:
nmap -sT -O 202.96.1.1-50就可以同时扫描并探测IP地址在202.96.1.1 到202.96.1.50之间的每一台主机。当然这需要更多的时间,耗费更多的系统资源和网络带宽。输出结果也可能很长。所以,可以使用下面命令将结果重定向输送到一个文件中:
nmap -sT -O -oN test.txt 202.96.1.1-50
另外的一些命令参数选项包括:
-I 进行TCP反向用户认证扫描,可以透露扫描用户信息
-iR 进行随机主机扫描
-p 扫描特定的端口范围
-v 长数据显示,-v -v 是最长数据显示
-h 快捷帮助
4、nmap的图形用户界面GUI,比如:
NmapFE: GTK界面,Kmap: Qt/KDE前端,KNmap: KDE前端。
三:版本资料及发布更新情况
nmap - 网络嗅测器(the Network MAPper)
作者: Fyodor
需要运行: flex, bison
主页: http://www.insecure.org/nmap
当前版本: 2.53
支持的平台: Linux, FreeBSD, NetBSD, OpenBSD, Solaris, IRIX, BSDI, SunOS, HP-UX, AIX, Digital UNIX, Cray UNICOS 以及 Windows NT.
Superscan
一:功能简介
superscan的名气比起nmap来,可能要差一点,但是作为一个Windows系统下的扫描器,它的速度飞快,而且也比较稳定,很少会发生在大量扫描中没有相应的现象,最关键的是完全图形化界面,非常容易使用。这些优点足以使很多人选择她。
二:系统说明
windows98,2000
三.安装及使用说明
在windows双击安装程序就可以轻松完成安装过程,至于使用,由于是图形化的界面所以使用起来相当简单。
IP: 填写扫描起始,停止的IP地址。
端口列表设置:按这个按钮以后可以进入设置界面,可以设置想要扫描的端口,也可以载入现成的端口列表,并加以修改。
扫描类型: 包括一些扫描时的选项,如需不需要扫描不能ping通的机器,是扫描全部列表中的端口,还是选择选中的端口,等等。
在屏幕的下半段则是扫描结果,可以得到主机的信息,比如安装的系统,以及打开的端口,运行的服务等等。
四:版本资料及发布更新情况
由于Superscan是windows下的程序,好处是安装和使用比较方便,坏处就是没有源码,而且更新相对来说比较慢,目前的版本是3.0。不过作为一个以简单实用为目标的端口扫描程序来说,它的任务完成的相当好。
§2 漏洞扫描器
Nessus
一:功能简介
Nessus是一个经典的漏洞扫描器,并且其开发者的不断改进,目前在同类软件中稳稳居于老大的位置。
Nessus基于客户机/服务器模式,在linux下运行一个服务器软件后,可以通过客户端程序来访问,而在linux和windows平台下都有专门的客户端程序,并且都是图形化的,使用起来相当简便,它还对扫描出的漏洞给出详细的利用方法和补救方法,在其中可以放入以c语言编写的插件,所以可以不断更新,跟上形势。因此,Nessus是攻击者和网络管理员都应该学会使用的漏洞检查利器。
二:系统说明
服务端:linux
客户端:linux/windows
三:使用说明
⑴安装
原来的nessus的安装比较麻烦,需要先下载四个源文件,然后再自己编译,而现在的1.0.9版则提供了一种简单的安装方式,只要下载一个名为nessus-installer.sh的文件,然后运行sh nessus-installer.sh就可以自动完成安装过程。
而假如要在windows下运行客户端程序,也只需要下载客户端,不需要安装,直接运行bin目录下的nessus.exe就可以了。
(2)使用
准备工作:
1、由于Nessus也是有Server和Client,同时它有自己的一些安全策略,所以第一次使用时要先配 置一个帐号,你可以用命令:/usr/local/sbin/nessus-adduser 来建立一个名为username,密码是password的帐号。
2、你还可以进入/usr/local/etc/nessusd.conf对Nessusd做一些其它选项的配置。运行/usr/local/sbin/nessusd -D 便打开了服务器的进程,开的是默认的3001端口。
开始运行:
现在可以运行nessus客户端了,只要键入 /usr/local/bin/nessus,而在windows平台下也只要双击nessus.exe就行了。不同平台下的界面大同小异。
第一次运行它会提示你 输入一个密码,这是client的密码,完成后会弹出一个图形化的登陆界面,简单介绍一下重要的选项:
nessus host:就是server所在的主机,看你在哪台机上运行的nessusd -D就填什么。
port :要看运行nessusd时有无附带端口参数,如果没有,便是3001
encyrption :也没必要动它
login :填上运行nessus-add的注册名 然后按log on now!,如果一切无误的话,就可以在十来秒后看到connected 的字样了,当然 第一次登陆它会问你在SERVER上的密码,只需确认一次就够了,下回启动则不再询问。
Plugins:选择所需要的插件。
Target selection:就是要扫描的主机。
查看结果:
扫描完毕Nessus会将结果文件保存为nsr后缀的文件,用Nessus的load report可以打开文件,可以发现端口前面的圆点标注有红有黑——红的漏洞风险比较高——仔细看看它的输出吧,从里面还能学到一些网络安全设置的知识——它对每个安全漏洞都有简单的描述.
四:版本资料及发布更新情况
Nessus是由Renaud Derasion编写的,可以在www.nessus.org下载,现在的最新版本是1.0.9版,不光有linux下的版本,而且还提供了win32下的客户端下载,甚至还有java编写的客户端。如果想在linux下运行图形化的客户端,还需要到ftp://ftp.gimp.org/pub/gtk/v1.2去下载GTK,不过由于一般redhat的发行版中都会自带,所以如果你是用的redhat,就不需要做这一步。
X-Scan
一:功能简介
采用多线程方式对指定IP地址段(或单机)进行安全漏洞扫描,支持插件功能,提供了图形界面和命令行两种操作方式,扫描内容包括:远程操作系统类型及版本、标准端口状态及端口banner信息、CGI漏洞、RPC漏洞、SQL-SERVER默认帐户、FTP弱口令,NT主机共享信息、用户信息、组信息、NT主机弱口令用户等。扫描结果保存在/log/目录中,index_*.htm为扫描结果索引文件。对于一些已知漏洞,给出了相应的漏洞描述、利用程序及解决方案。
二:系统要求
Windows 98/NT/2000
三:使用说明
⑴命令行方式:xscan [起始地址]<-[终止地址]> [扫描选项]
其中的[扫描选项]含义如下:
-os 识别远程操作系统类型及版本
-port 扫描标准端口(端口列表可通过\dat\config.ini文件定制);
-banner 获取开放端口的banner信息,需要与-p参数合用;
-cgi [变形方案] 扫描CGI漏洞,通过设置"变形方案"可对HTTP请求进行编码或变形;
-iis 扫描IIS漏洞(包括unicode漏洞、IIS CGI文件名二次解码漏洞、"IIS 5.0 remote .printer overflow"漏洞、IIS ".ida/.idq" 漏洞)
-rpc 扫描RPC漏洞;
-sql 扫描SQL-SERVER默认帐户;
-ftp 尝试FTP默认用户登录,用户名及口令可以通过\dat\config.ini文件定制;
-netbios 获取NetBios信息(若远程主机操作系统为Windows98/NT4/2000);
-ntpass 尝试弱口令用户连接(若远程主机操作系统为Windows NT4/2000),用户名及口令可以通过\dat目录中的config.ini、nt_user.dic、nt_pass.dic文件定制;
-all 扫描以上全部内容;
-v 显示详细扫描进度;
-d 禁止扫描前PING被扫主机。
-plugin 使用插件;
-t [线程数量] 设置线程数量,预设值为20,最大值为50;
-proxy [代理服务器:端口] 通过代理服务器扫描漏洞,目前只适用于"-cgi"及"-iis"选项;
* -cgi选项中"变形方案"含义:
1.用"HEAD"替换"GET"
2.用"OST"替换"GET"
3.用"GET / HTTP/1.0\r\nHeader:" 替换 "GET"
4.用"GET /index.htm?param=" 替换 "GET"
5.用"GET %00 " 替换 "GET"
6.多个"/"或"\"
7."/"与"\"互换
8.用[TAB]替换[空格]
注:各变形方案若不冲突则可以同时使用,如"-cgi 1,6,8"表示同时使用第1、6、8号方案对HTTP请求进行变形。
⑵图形GUI方式:图形化界面,更容易操作。
四:版本资料及发布更新情况
X-Scan是一个完全免费软件,由冰河的作者glacier和安全焦点(xfocus)成员集体开发的。也有其他不少组织或成员参与资料的整理和提供工作,如uid0小组全体成员、前DarkSun部分成员等。
X-Scan v1.0(beta) -- 发布日期:07/12/2001,新增对远程操作系统类型及版本识别功能;新增对远程主机地理位置查询功能;在"-iis"选项中,新增对IIS ".ida/.idq"漏洞的扫描,同时更新漏洞描述;在"-port"参数中,允许指定扫描的端口范围(通过修改"dat\config.ini"文件中的"[PORT-LIST]\port=");在"-ntpass"参数中,允许用户在编辑密码字典时通过"%"通配所有用户名;更新CGI漏洞列表,并对CGI漏洞进行分类,以便根据远程主机系统类型扫描特定CGI漏洞,加快扫描速度。
X-Scanner v0.61 -- 发布日期:05/17/2001,在"-iis"选项中新增对IIS CGI文件名二次解码漏洞的检测。
X-Scanner v0.6 -- 发布日期:05/15/2001,新增"-iis"参数,专门用于扫描IIS服务器的"unicode"及"remote .printer overflow"漏洞;更新漏洞描述;调整CGI扫描的超时时间,尽量避免因超时导致的“扫描未完成”情况出现;为避免"RedV"插件被恶意利用,将自动更换主页功能改为自动向"C:\"目录上传包含警告信息的文本文件。
X-Scanner v0.5 -- 发布日期:04/30/2001,修改了命令行参数,使参数含义更加直观;扩充CGI漏洞数据库;对NT弱口令扫描功能进行扩充--允许用户使用用户名及密码字典;增加插件功能,并公布插件接口。
X-Scanner v0.42b -- 发布日期:03/07/2001,修正了"-b"选项在特定情况导致系统overflow的BUG。
X-Scanner v0.42 -- 发布日期:03/02/2001,允许用户对SQL-SERVER帐户进行扩充,而不局限于扫描"sa"空口令。
X-Scanner v0.41 -- 发布日期:02/19/2001,修正了以前版本中对FTP弱口令检测的BUG;重新优化代码,将xscan.exe与xscan98合二为一。
X-Scanner v0.4 -- 发布日期:02/15/2001,加入对SQL-SERVER默认"sa"帐户的扫描;在充分认识了某些人的惰性之后,临时制作了傻瓜式图形界面(一切操作按序号点击即可)。
X-Scanner v0.31 --发布日期:01/17/2001,对端口扫描方式和输出文件的格式做了细微调整;对Unicode解码漏洞进行了扩充;提供了for win98的版本和一个简单的CGI列表维护工具。
X-Scanner v0.3 -- 发布日期:12/27/2000,加入线程超时限制;增加代理功能;扩充CGI漏洞数据库,加入对Unicode解码等漏洞的检测及描述;修正内存泄露问题。内部测试版。
X-Scanner v0.2 -- 发布日期:12/12/2000,内部测试版。
SATAN
一:功能简介
SATAN是当之无愧的漏洞扫描之祖,于1995年4月发布到Internet上。在此之前,还没有哪个安全应用程序会引起如此之多的争论。全美国的报纸杂志都发表有关这方面的文章,美国国内的新闻广播对它的即将发表进行了提前报道。有关这个应用程序的谣言也随之而起,直到它最终发布到Internet上。
SATAN是一个分析网络的安全管理和测试,报告工具。用它可收集网络上的主机的许多信息,并可以识别组的报告与网络相关的安全问题。对所发现的每种问题类型,SATAN都提供对这个问题的解释以及它可能对系统和网络安全造成的影响的程度。通过所附的资料,它还解释如何处理这些问题。
SATAN用于扫描目标主机的许多已知安全漏洞。SATAN用于扫描目标主机的许多已知安全漏洞。下面是SATAN扫描到的一些系统漏洞。
FTPD脆弱性及ftp目录是否可写
NFS脆弱性
NIS脆弱性
RSH脆弱性
Sendmail服务器脆弱性
具体扫描的内容为:
向任何主机调出的NFS文件系统
NIS口令文件可被任何主机访问
老(在8.6.10前)版本Sendmail
从任何主机上的REXD访问
X服务器访问控制无效
借助TFTP的对任意文件的访问
可写匿名FTP根目录
SATAN功能强大,能自动地扫描整个子网,且操作方便,很适合于管理交大规模的网络的管理员使用。在构筑或重新配置完网络之后,使用SATAN来检查一下整个网络是否存在安全漏洞先得非常必要。
二.系统说明
linux,unix下
三.使用说明
在linux下解压缩并编译,注意使用这个工具需要安装一套perl5.0以上的脚本解释程序,另外,需要一个浏览器。当安装完毕后,使用它便像通常的浏览器的操作一样。因为SATAN在运行时,自动启动一份浏览器。在界面中,还有帮助文档。通过它,用户可以很快学会SATAN的使用。
四:版本资料及发布更新情况
由于SATAN的开发工作相比nessus来说相当缓慢,甚至可以说是停滞不前,所以越来越多的人用nessus来代替SATAN。
|
|