漏洞扫描原理及X-Scan使用

漏洞扫描原理

扫描器的原理大致相同都是通过发送对应的验证数据到目标具体服务进行验证。当收到目标返回的响应与存在漏洞的响应一致时,就表明存在漏洞。

漏洞扫描是一种计算机安全技术,用于检测和识别潜在的计算机系统漏洞。它是通过自动执行一系列检测步骤来实现的,这些步骤可以包括对系统配置、软件、网络设置、网站代码等的检查。

在漏洞扫描过程中,扫描工具会尝试使用各种方法来确定系统是否存在漏洞。这些方法可以包括模拟攻击、发送特定的数据包或请求、运行预定义的脚本等。如果扫描工具发现了漏洞,它会通过报告或其他方式告知用户。

漏洞扫描是一种非常有用的安全工具,因为它可以帮助系统管理员发现并修复漏洞,从而减少攻击者利用漏洞进行攻击的风险。然而,漏洞扫描并不能保证发现所有的漏洞,因此系统管理员还应采取其他安全措施来保护系统。

X-scan 采用多线程方式对指定IP地址段(或单机)进行安全漏洞检测,支持插件功能,提供了图形界面和命令行两种操作方式,扫描内容包括:远程操作系统类型及版本,标准端口状态及端口BANNER信息,SNMP信息,CGI漏洞,IIS漏洞,RPC漏洞,SSL漏洞,SQL-SERVER、FTP-SERVER、SMTP-SERVER、POP3-SERVER、NT-SERVER弱口令用户,NT服务器NETBIOS信息、注册表信息等。扫描结果保存/log/目录中,index_*.htm为扫描结果索引文件。

  命令行下,X-scan命令语法介绍

  命令格式:X-scan -host <起始IP>[-<终止IP>] <检测项目> [其他选项]

  X-scan -file <主机列表文件名><检测项目> [其他选项]

其中<检测项目> 含义如下:

-tracert : 跟踪路由信息;

-port : 检测常用服务的端口状态(可通过datconfig.ini文件的 "
PORT-SCAN-OPTIONSPORT-LIST"项定制待检测端口列表);

-snmp : 检测Snmp信息;

-rpc : 检测RPC漏洞;

-sql : 检测SQL-Server弱口令(可通过datconfig.ini文件设置用户名/密码字典文件);

-ftp : 检测FTP弱口令(可通过datconfig.ini文件设置用户名/密码字典文件);

-ntpass : 检测NT-Server弱口令(可通过datconfig.ini文件设置用户名/密码字典文件);

-netbios : 检测Netbios信息;

-smtp : 检测SMTP-Server漏洞(可通过datconfig.ini文件设置用户名/密码字典文件);

-pop3 : 检测POP3-Server弱口令(可通过datconfig.ini文件设置用户名/密码字典文件);

-cgi : 检测CGI漏洞(可通过datconfig.ini文件的"CGI-ENCODEencode_type"项设置编码方案);

-iis : 检测IIS漏洞(可通过datconfig.ini文件的"CGI-ENCODEencode_type"项设置编码方案);

-bind : 检测BIND漏洞;

-finger : 检测Finger漏洞;

-sygate : 检测sygate漏洞;

-all : 检测以上所有项目;

[其他选项] 含义如下:

-v: 显示详细扫描进度

-p: 跳过Ping不通的主机

-o: 跳过没有检测到开放端口的主机

-t <并发线程数量[,并发主机数量]>: 指定最大并发线程数量和并发主机数量, 默认数量为100,10

例如:X-scan –host 192.168.3.1-192.168.3.254 –port –ftp –v –p –o

  表示的就是扫描从192.168.3.1到192.168.3.254之间所有主机开放的常用端口、是否有ftp弱口令、显示详细的扫描报告、跳过Ping不通的主机并且跳过没有检测到开放端口的主机。再如:

  X-scan –file c:host.txt –port –ftp –v –p –o

  表示的就是扫描c:host.txt中所有的主机(其中c:host.txt是主机列表文件),分析开放的常用端口、是否有ftp弱口令、显示详细的扫描报告、跳过Ping不通的主机并且跳过没有检测到开放端口的主机

X-Scan使用

软件介绍

X-scan是国内相当出名的扫描工具,是安全焦点又一力作。完全免费,无需注册,无需安装(解压缩即可运行),无需额外驱动程序支持。

可以运行在Windows 9x/NT4/2000上,但Windows 98/NT 4.0系统下无法通过TCP/IP堆栈指纹识别远程操作系统类型,在Windows 98系统下对Netbios信息的检测功能受限。检查 Windows 服务包和修补程序时,它将 Windows 组件(如 Internet 信息服务 (IIS) 和 COM+)也包括在内。MBSA 使用一个 XML 文件作为现有更新的清单。该 XML 文件包含在存档 Mssecure.cab 中,由 MBSA 在运行扫描时下载,也可以下载到本地计算机上,或通过网络服务器使用。

2) 下载地址

http://www.onlinedown.net/soft/1498.htm

3) 使用教程

首先在宿主机中打开xscan_gui.exe,结果系统直接将它删掉了。

大概是因为开了防火墙的缘故。

于是我在win7虚拟机中运行这个程序。

并且关闭防火墙,在win7中可以运行

我再试了一下win10,关闭防火墙后依然运行不了。

而且,我在win7中运行X-scan也扫描不到我win10的主机。

我的宿主机IP地址为192.168.9.100,win7的IP地址为192.168.9.101

Ping一下,win7是可以ping通宿主机的。

一、配置

1、指定检测范围

Ctrl+E,进入扫描参数设置,将扫描的范围设置为192.168.9.100-101

2、设置扫描模块

全局设置-->扫描模块

3、插件设置

可下载最新的检测脚本,将其复制到X-Scan安装目录的Script子目录就可对最新的漏洞类型进行检测,其插件设置如下:

二、扫描

依次选择文件->开始扫描(ctrl+s)

三、查看扫描报告

查看扫描报告

扫描结束后,会以网页的形式弹出扫描报告

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
实验三 网络信息扫描实验 一、实验目的 1、通过练习使用网络端口扫描器,可以了解目标主机开放的端口和服务程序,从而获取系统的有用信息,发现网络系统的安全漏洞。在实验中,我们将练习使用Superscan网络端口扫描工具。通过端口扫描实验,增强网络安全方面的防护意识。 2、通过使用综合扫描及安全评估工具,学习如何发现计算机系统的安全漏洞,并对漏洞进行简单分析,加深对各种网络和系统漏洞的理解。在实验中,我们将练习使用流光Fluxay5和SSS。 二、实验原理 1、网络端口扫描原理 一个开放的网络端口就是一条与计算机进行通信的信道,对网络端口的扫描可以得到目标计算机开放的服务程序、运行的系统版本信息,从而为下一步的入侵做好准备。对网络端口的扫描可以通过执行手工命令实现,但效率较低;也可以通过扫描工具实现,效率很高。扫描工具是对目标主机的安全性弱点进行扫描检测的软件。它一般具有数据分析功能,通过对端口的扫描分析,可以发现目标主机开放的端口和所提供的服务,以及相应服务软件版本和这些服务及软件的安全漏洞,从而能及时了解目标主机存在的安全隐患。 扫描工具根据作用的环境不同,可分为两种类型:网络漏洞扫描工具和主机漏洞扫描工具。主机漏洞扫描工具是指在本机运行的扫描工具,以期检测本地系统存在的安全漏洞。网络漏洞扫描工具是指通过网络检测远程目标网络和主机系统所存在漏洞的扫描工具。本实验主要针对网络漏洞扫描工具进行介绍。 1)端口的基础知识 为了了解扫描工具的工作原理,首先简单介绍一下端口的基本知识。 端口是TCP协议中所定义的,TCP协议通过套接字(socket)建立起两台计算机之间的网络连接。套接字采用[IP地址:端口号]的形式来定义,通过套接字中不同的端口号可以区别同一台计算机上开启的不同TCP和UDP连接进程。对于两台计算机间的任一个TCP连接,一台计算机的一个[IP地址:端口]套接字会和另一台计算机的一个[IP地址:端口]套接字相对应,彼此标识着源端、目的端上数据包传输的源进程和目标进程。这样网络上传输的数据包就可以由套接字中的IP地址和端口号找到需要传输的主机和连接进程了。由此可见,端口和服务进程一一对应,通过扫描开放的端口,就可以判断出计算机中正在运行的服务进程。 TCP/UDP的端口号在0~65535范围之内,其中1024以下的端口保留给常用的网络服务。例如:21端口为FTP服务,23端口为TELNET服务,25端口为SMTP服务,80端口为HTTP服务,110端口为POP3服务等。 2)扫描的原理 扫描的方式有多种,为了理解扫描原理,需要对TCP协议简要介绍一下。 一个TCP头的数据包格式如图4-16所示。它包括6个标志位,其中: SYN用来建立连接; ACK为确认标志位,例如,当SYN=1,ACK=0表示请求连接的数据包;当SYN=1,ACK=1表示接受连接的数据包。 FIN表示发送端已经没有数据可传了,希望释放连接。 RST位用于复位错误的连接,比如收到的一个数据分段不属于该主机的任何一个连接,则向远端计算机发送一个RST=1的复位数据包,拒绝连接请求。 根据上面介绍的知识,下面我们介绍基于TCP和UDP协议的几种端口扫描方式。 1) TCP全连接扫描 TCP全连接扫描方法是利用TCP的三次握手,与目标主机建立正常的TCP连接,以判断指定端口是否开放。这种方法的缺点是非常容易被记录或者被检测出来。 2)TCP SYN扫描 本地主机向目标主机发送SYN数据段,如果远端目标主机端口开放,则回应SYN=1,ACK=1,此时本地主机发送RST给目标主机,拒绝连接。如果远端目标主机端口未开放,则会回应RST给本地主机。由此可知,根据回应的数据段可判断目标主机的端口是否开放。由于TCP SYN扫描没有建立TCP正常连接,所以降低了被发现的可能,同时提高了扫描性能。 3)TCP FIN扫描 本地主机向目标主机发送FIN=1,如果远端目标主机端口开放,则丢弃此包,不回应;如果远端目标主机端口未开放,则返回一个RST包。FIN扫描通过发送FIN的反馈判断远端目标主机的端口是否开放。由于这种扫描方法没有涉及TCP的正常连接,所以使扫描更隐秘,也称为秘密扫描。这种方法通常适用于UNIX操作系统主机,但有的操作系统(如Windows NT)不管端口是否打开,都回复RST,这时这种方法就不适用了。 4)UDP ICMP扫描 这种方法利用了UDP协议,当向目标主机的一个未打开的UDP端口发送一个数据包时,会返回一个ICMP_PORT_UNREACHABLE错误,这样就会发现关闭的端口。 5)ICMP 扫描 这种扫描方法利用了ICMP协议的功能,如果向目标主机发送一个协议项存在错误的IP数据包,则根据反馈的ICMP错误报文,判断目标主机使用的服务。 6)间接扫
X-scan 安全焦点出品的国内很优秀的扫描工具,采用多线程方式对指定IP地址段(或单机)进行安全漏洞检测,支持插件功能,提供了图形界面和命令行两种操作方式。 流光 国人的骄傲,由高级程序员小榕编写的一款强悍的扫描器。大家都知道。就不介绍了。 X-way 一款优秀功能多线程扫描工具。也都应该用过。不作介绍了。 Nmap 这个就厉害了,安全界人人皆知的非常有名气的一个扫描器!作者Fyodor. Domain 集WHOIS查询、上传页面批量检测、木马上传、数据库浏览及加密解密于一体. SuperScan 强大的TCP端口扫描器、Ping和域名解析器! Hscan 这是款运行在WinNT/2000下的漏洞扫描工具,有GUI以及命令行两种扫描方式! WIN2K自动攻击探测机 WinNT/2000自动攻击探测机。 4899空口令探测 能够快速的扫描到被安装了radmin服务端4899端口的空口令IP! SHED 一个用来扫描共享漏洞的机器的工具! Hscan 这是款运行在Win NT/2000下的漏洞扫描工具,有GUI以及命令行两种扫描方式! Blue's port scan 一款绿色的扫描软件,速度很快。 WebDAVScan 针对WEBDAV漏洞的扫描工具! X-scan - X-Scan的使用方法 这里使用x-scanner作为介绍对象,原因是x-scanner集成了多种扫描功能于一身,它可以采用多线程方式对指定IP地址段(或独立IP地址)进行安全漏洞扫描,提供了图形界面和命令行两种操作方式,扫描内容包括:标准端口状态及端口banner信息、CGI漏洞、RPC漏洞、SQL-SERVER默认帐户、FTP弱口令,NT主机共享信息、用户信息、组信息、NT主机弱口令用户等。扫描结果保存在/log/目录中,index_*.htm为扫描结果索引文件。对于一些已知的CGI和RPC漏洞,x-scanner给出了相应的漏洞描述、利用程序及解决方案,节省了查找漏洞介绍的时间。 首先x-scanner包括了两个运行程序:xscann.exe和xscan_gui.exe,这两个程序分别是扫描器的控制台版本和窗口版本,作为初学者可能更容易接受窗口版本的扫描软件,因为毕竟初学者使用最多的还是“应用程序”,无论运行那一个版本,他们的功能都是一样的。首先让我们运行窗口版本看看:窗口分为左右两部分,左面是进行扫描的类型,这包括前面提到的漏洞扫描、端口扫描等基本内容;另一部分是有关扫描范围的设定,xscanner可以支持对多个IP地址的扫描,也就是说使用者可以利用xscanner成批扫描多个IP地址,例如在IP地址范围内输入211.100.8.1-211.100.8.255就会扫描整个C类的255台服务器(如果存在的话),这样黑客可以针对某一个漏洞进行搜索,找到大范围内所有存在某个漏洞的服务器。当然如果只输入一个IP地址,扫描程序将针对单独IP进行扫描。 剩下的端口设定在前面已经介绍过,一般对于网站服务器,这个端口选取80或者8080,对于某些特殊的服务器也许还有特殊的端口号,那需要通过端口扫描进行寻找。多线程扫描是这个扫描器的一大特色,所谓多线程就是说同时在本地系统开辟多个socket连接,在同一时间内扫描多个服务器,这样做的好处是提高了扫描速度,节省时间,根据系统的资源配置高低,线程数字也可以自行设定(设定太高容易造成系统崩溃)。 在图形界面下我们看到了程序连接地址“.\xscan.exe”,这实际上就是xscanner的控制台程序,也就是说图形窗口只是将控制台扫描器的有关参数设置做了“傻瓜化”处理,程序运行真正执行的还是控制台程序。因此学习控制台是黑客所必需的,而且使用控制台模式的程序也是真正黑客喜爱的操作方式。 现在我们进行一个简单的cgi漏洞扫描,这次演练是在控制台模式下进行的:xscan 211.100.8.87 -port 这个命令的意思是让xscanner扫描服务器211.100.8.87的开放端口,扫描器不会对65535个端口全部进行扫描(太慢),它只会检测网络上最常用的几百个端口,而且每一个端口对应的网络服务在扫描器中都已经做过定义,从最后返回的结果很容易了解服务器运行了什么网络服务。扫描结果显示如下: Initialize dynamic library succeed. Scanning 211.100.8.87 ...... [211.100.8.87]: Scaning port state ... [211.100.8.87]: Port 21 is listening!!! [211.100.8.87]: Port 25 is listening!!! [211.100.8.87]: Port 53 is listening!!! [211.100.8.87]: Port 79 is listening!!! [211.100.8.87]: Port 80 is listening!!! [211.100.8.87]: Port 110 is listening!!! [211.100.8.87]: Port 3389 is listening!!! [211.100.8.87]: Port scan completed, found 7. [211.100.8.87]: All done. 这个结果还会同时在log目录下生成一个html文档,阅读文档可以了解发放的端口对应的服务项目。从结果中看到,这台服务器公开放了七个端口,主要有21端口用于文件传输、80端口用于网页浏览、还有110端口用于pop3电子邮件,如此一来,我们就可以进行有关服务的漏洞扫描了。(关于端口的详细解释会在后续给出) 然后可以使用浏览看看这个服务器到底是做什么的,通过浏览发现原来这是一家报社的电子版面,这样黑客可以继续对服务器进行漏洞扫描查找服务器上是否存在perl漏洞,之后进行进一步进攻。 漏洞扫描的道理和端口扫描基本上类似,例如我们可以通过扫描器查找61.135.50.1到61.135.50.255这255台服务器上所有开放了80端口的服务器上是否存在漏洞,并且找到存在什么漏洞,则可以使用xscan 61.135.50.1-61.135.50.255 -cgi进行扫描,因为结果比较多,通过控制台很难阅读,这个时候xscanner会在log下生成多个html的中文说明,进行阅读这些文档比较方便。 二、扫描器使用问题: 载使用漏洞扫描器的过程中,学习者可能会经常遇到一些问题,这里给出有关问题产生的原因和解决办法。扫描器的使用并不是真正黑客生涯的开始,但它是学习黑客的基础,所以学习者应该多加练习,熟练掌握手中使用的扫描器,了解扫描器的工作原理和问题的解决办法。 1、为什么我找不到扫描器报告的漏洞? 扫描器报告服务器上存在某个存在漏洞的文件,是发送一个GET请求并接收服务器返回值来判断文件是否存在,这个返回值在HTTP的协议中有详细的说明,一般情况下“200”是文件存在,而“404”是没有找到文件,所以造成上面现象的具体原因就暴露出来了。 造成这个问题的原因可能有两种:第一种可能性是您的扫描器版本比较低,扫描器本身存在“千年虫”问题,对于返回的信息扫描器在判断的时候,会错误的以为时间信息2000年x月x日中的200是“文件存在”标志,这样就会造成误报; 另外一种可能性是服务器本身对“文件不存在”返回的头部信息进行了更改,如果GET申请的文件不存在,服务器会自动指向一个“没有找到页面”的文档,所以无论文件是否存在,都不会将“404”返回,而是仍然返回成功信息,这样做是为了迷惑漏洞扫描器,让攻击者不能真正判断究竟那个漏洞存在于服务器上。 这一问题的解决办法也要分情况讨论,一般说来第一种情况比较容易解决,直接升级漏洞扫描器就可以了,对于第二种情况需要使用者对网络比较熟悉,有能力的话可以自己编写一个漏洞扫描器,自己编写的扫描器可以针对返回文件的大小进行判断,这样就可以真正确定文件是否存在,但这种方法对使用者的能力要求较高。 2、我使用的扫描器速度和网络速度有关系嘛? 关系不大。扫描器发送和接收的信息都很小,就算是同时发送上百个GET请求一般的电话上网用户也完全可以做得到,影响扫描器速度的主要因素是服务器的应答速度,这取决于被扫描服务器的系统运行速度。如果使用者希望提高自己的扫描速度,可以使用支持多线程的扫描器,但是因为使用者本地电脑档次问题,也不可能将线程设置到上百个,那样的话会造成本地系统瘫痪,一般使用30个线程左右比较合适。 另外对于很多网络服务器来说,为了防止黑客的扫描行为,可能会在防火墙上设置同一IP的单位时间GET申请数量,这样做目的就是避免黑客的扫描和攻击,所以在提高本地扫描速度之前,应该先确认服务器没有相应的过滤功能之后再使用。 3、扫描器报告给我的漏洞无法利用是什么原因? 确切地说扫描器报告的不是“找到的漏洞”,而是找到了一个可能存在漏洞的文件,各种网络应用程序都可能存在漏洞,但是在更新版本的过程中,老版本的漏洞会被修补上,被扫描器找到的文件应该经过手工操作确认其是否是存在漏洞的版本,这可以通过阅读网络安全网站的“安全公告”获得相应知识。 对于已经修补上漏洞的文件来说,也不代表它一定不再存有漏洞,而只能说在一定程度上没有漏洞了,也许在明天,这个新版本的文件中又会被发现还存在其他漏洞,因此这需要网络安全爱好者时刻关注安全公告。当然如果攻击者或者网络管理员对编程比较熟悉,也可以自己阅读程序并力图自己找到可能的安全隐患,很多世界著名的黑客都是不依靠他人,而是自己寻找漏洞进行攻击的。 4、扫描器版本比较新,然而却从来没有找到过漏洞是什么原因? 有一些扫描器专门设计了“等待时间”,经过设置可以对等待返回信息的时间进行调整,这就是说在“网络连接超时”的情况下,扫描器不会傻傻的一直等待下去。但如果你的网络速度比较慢,有可能造成扫描器没有来得及接收返回信息就被认为“超时”而越了过去继续下面的扫描,这样当然是什么也找不到啦。 如果问题真的如此,可以将等待时间设置的长一些,或者换个ISP拨号连接。 5、扫描器报告服务器没有提供HTTP服务? 网络上大多数HTTP服务器漏洞扫描器的默认端口都是80,而有少量的HTTP服务器并不是使用80端口提供服务的,在确认服务器的确开通了网站服务的情况下,可以用端口扫描器察看一下对方究竟使用什么端口进行的HTTP服务,网络上常见的端口还有8080和81。 另外这种情况还有一种可能性,也许是使用者对扫描器的参数设置不正确造成的,很多扫描器的功能不仅仅是漏洞扫描,有可能还提供了rpc扫描、ftp默认口令扫描和NT弱口令扫描等多种功能,因此在使用每一款扫描器之前,都应该自己阅读有关的帮助说明,确保问题不是出在自己身上。 6、扫描器使用过程中突然停止响应是为什么? 扫描器停止响应是很正常的,有可能是因为使用者连接的线程过多,本地系统资源不足而造成系统瘫痪、也可能是因为对方服务器的响应比较慢,依次发送出去的请求被同时反送回来而造成信息阻塞、还有可能是服务器安装了比较恶毒的防火墙,一旦察觉有人扫描就发送特殊的数据报回来造成系统瘫痪…… 因此扫描器停止响应不能简单的说是为什么,也没有一个比较全面的解决方案,不过一般情况下遇到这种问题,我建议你可以更换其他扫描器、扫描另外一些服务器试试,如果问题还没有解决,就可能是因为扫描器与你所使用的系统不兼容造成的,大多数基于微软视窗的漏洞扫描器都是运行在Windows9X下的,如果是Win2000或者NT也有可能造成扫描器无法正常工作。 7、下载回来的扫描器里面怎么没有可执行文件? 扫描器不一定非要是可执行的exe文件,其他例如perl、CGI脚本语言也可以编写扫描器,因此没有可执行文件的扫描器也许是运行在网络服务器上的,这种扫描器可以被植入到网络上的其它系统中,不需要使用者上网就能够24小时不停的进行大面积地址扫描,并将结果整理、分析,最后通过Email发送到指定的电子信箱中,因此这是一种比较高级的扫描器,初学者不适合使用。 另外注意载下在扫描器的时候注意压缩报文件的扩展名,如果是tar为扩展名,那么这个扫描器是运行在Linux系统下的,这种其它操作平台的扫描器无法在视窗平台下应用,文件格式也和FAT32不一样。 8、扫描器只报告漏洞名称,不报告具体文件怎么办? 只要漏洞被发现,网络安全组织即会为漏洞命名,因此漏洞名称对应的文件在相当广泛的范围内都是统一的,只要知道了漏洞的名称,黑客就可以通过专门的漏洞搜索引擎进行查找,并且学习到与找到漏洞相关的详细信息。这种“漏洞搜索引擎”在网络上非常多,例如我国“绿盟”提供的全中文漏洞搜索引擎就是比较理想的一个。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值