端口扫描技术_端口扫描理论

hacker|
132

什么是1433 什么叫做端口 S扫描是什么

分类: 教育/科学

问题描述:

求求 大家详细回答

解析:

1433(MS-SQL)端口

计算机“端口”是英文port的义译,可以认为是计算机与外界通讯交流的出口。其中硬件领域的端口又称接口,如:USB端口、串行端口等。软件领域的端口一般指网络中面向连接服务和无连接服务的通信协议端口,是一种抽象的软件结构,包括一些数据结构和I/O(基本输入输出)缓冲区。

按端口号可分为3大类:

(1)公认端口(Well Known Ports):从0到1023,它们紧密绑定(binding)于一些服务。通常这些端口的通讯明确表明了某种服务的协议。例如:80端口实际上总是HTTP通讯。

(2)注册端口(Registered Ports):从1024到49151。它们松散地绑定于一些服务。也就是说有许多服务绑定于这些端口,这些端口同样用于许多其它目的。例如:许多系统处理动态端口从1024左右开始。

(3)动态和/或私有端口(Dynamic and/or Private Ports):从49152到65535。理论上,不应为服务分配这些端口。实际上,机器通常从1024起分配动态端口。但也有例外:SUN的RPC端口从32768开始。

一些端口常常会被黑客利用,还会被一些木马病毒利用,对计算机系统进行攻击,以下是计算机端口的介绍以及防止被黑客攻击的简要办法。

请给出TCP connect()这个函数的所有参数及其解释?

所有参数及其解释如下:

-sT

TCP connect()扫描:这是最基本的TCP扫描方式。connect()是一种系统调用,由操作系统提供,用来打开一个连接。如果目标端口有程序监听,connect()就会成功返回,否则这个端口是不可达的。这项技术最大的优点是,你勿需root权限。任何UNIX用户都可以自由使用这个系统调用。这种扫描很容易被检测到,在目标主机的日志中会记录大批的连接请求以及错误信息。

-sS

TCP同步扫描(TCP SYN):因为不必全部打开一个TCP连接,所以这项技术通常称为半开扫描(half-open)。你可以发出一个TCP同步包(SYN),然后等待回应。如果对方返回SYN|ACK(响应)包就表示目标端口正在监听;如果返回RST数据包,就表示目标端口没有监听程序;如果收到一个SYN|ACK包,源主机就会马上发出一个RST(复位)数据包断开和目标主机的连接,这实际上有我们的操作系统内核自动完成的。这项技术最大的好处是,很少有系统能够把这记入系统日志。不过,你需要root权限来定制SYN数据包。

-sF -sF -sN

秘密FIN数据包扫描、圣诞树(Xmas Tree)、空(Null)扫描模式:即使SYN扫描都无法确定的情况下使用。一些防火墙和包过滤软件能够对发送到被限制端口的SYN数据包进行监视,而且有些程序比如synlogger和courtney能够检测那些扫描。这些高级的扫描方式可以逃过这些干扰。这些扫描方式的理论依据是:关闭的端口需要对你的探测包回应RST包,而打开的端口必需忽略有问题的包(参考RFC 793第64页)。FIN扫描使用暴露的FIN数据包来探测,而圣诞树扫描打开数据包的FIN、URG和PUSH标志。不幸的是,微软决定完全忽略这个标准,另起炉灶。所以这种扫描方式对Windows95/NT无效。不过,从另外的角度讲,可以使用这种方式来分别两种不同的平台。如果使用这种扫描方式可以发现打开的端口,你就可以确定目标注意运行的不是Windows系统。如果使用-sF、-sX或者-sN扫描显示所有的端口都是关闭的,而使用SYN扫描显示有打开的端口,你可以确定目标主机可能运行的是Windwos系统。现在这种方式没有什么太大的用处,因为nmap有内嵌的操作系统检测功能。还有其它几个系统使用和windows同样的处理方式,包括Cisco、BSDI、HP/UX、MYS、IRIX。在应该抛弃数据包时,以上这些系统都会从打开的端口发出复位数据包。

-sP

ping扫描:有时你只是想知道此时网络上哪些主机正在运行。通过向你指定的网络内的每个IP地址发送ICMP echo请求数据包,nmap就可以完成这项任务。如果主机正在运行就会作出响应。不幸的是,一些站点例如:microsoft.com阻塞ICMP echo请求数据包。然而,在默认的情况下nmap也能够向80端口发送TCP ack包,如果你收到一个RST包,就表示主机正在运行。nmap使用的第三种技术是:发送一个SYN包,然后等待一个RST或者SYN/ACK包。对于非root用户,nmap使用connect()方法。

在默认的情况下(root用户),nmap并行使用ICMP和ACK技术。

注意,nmap在任何情况下都会进行ping扫描,只有目标主机处于运行状态,才会进行后续的扫描。如果你只是想知道目标主机是否运行,而不想进行其它扫描,才会用到这个选项。

-sU

UDP扫描:如果你想知道在某台主机上提供哪些UDP(用户数据报协议,RFC768)服务,可以使用这种扫描方法。nmap首先向目标主机的每个端口发出一个0字节的UDP包,如果我们收到端口不可达的ICMP消息,端口就是关闭的,否则我们就假设它是打开的。

有些人可能会想UDP扫描是没有什么意思的。但是,我经常会想到最近出现的solaris rpcbind缺陷。rpcbind隐藏在一个未公开的UDP端口上,这个端口号大于32770。所以即使端口111(portmap的众所周知端口号)被防火墙阻塞有关系。但是你能发现大于30000的哪个端口上有程序正在监听吗?使用UDP扫描就能!cDc Back Orifice的后门程序就隐藏在Windows主机的一个可配置的UDP端口中。不考虑一些通常的安全缺陷,一些服务例如:snmp、tftp、NFS使用UDP协议。不幸的是,UDP扫描有时非常缓慢,因为大多数主机限制ICMP错误信息的比例(在RFC1812中的建议)。例如,在Linux内核中(在net/ipv4/icmp.h文件中)限制每4秒钟只能出现80条目标不可达的ICMP消息,如果超过这个比例,就会给1/4秒钟的处罚。solaris的限制更加严格,每秒钟只允许出现大约2条ICMP不可达消息,这样,使扫描更加缓慢。nmap会检测这个限制的比例,减缓发送速度,而不是发送大量的将被目标主机丢弃的无用数据包。

不过Micro$oft忽略了RFC1812的这个建议,不对这个比例做任何的限制。所以我们可以能够快速扫描运行Win95/NT的主机上的所有65K个端口。

-sA

ACK扫描:这项高级的扫描方法通常用来穿过防火墙的规则集。通常情况下,这有助于确定一个防火墙是功能比较完善的或者是一个简单的包过滤程序,只是阻塞进入的SYN包。

这种扫描是向特定的端口发送ACK包(使用随机的应答/序列号)。如果返回一个RST包,这个端口就标记为unfiltered状态。如果什么都没有返回,或者返回一个不可达ICMP消息,这个端口就归入filtered类。注意,nmap通常不输出unfiltered的端口,所以在输出中通常不显示所有被探测的端口。显然,这种扫描方式不能找出处于打开状态的端口。

-sW

对滑动窗口的扫描:这项高级扫描技术非常类似于ACK扫描,除了它有时可以检测到处于打开状态的端口,因为滑动窗口的大小是不规则的,有些操作系统可以报告其大小。这些系统至少包括:某些版本的AIX、Amiga、BeOS、BSDI、Cray、Tru64 UNIX、DG/UX、OpenVMS、Digital UNIX、OpenBSD、OpenStep、QNX、Rhapsody、SunOS 4.x、Ultrix、VAX、VXWORKS。从nmap-hackers邮件3列表的文档中可以得到完整的列表。

-sR

RPC扫描。这种方法和nmap的其它不同的端口扫描方法结合使用。选择所有处于打开状态的端口向它们发出SunRPC程序的NULL命令,以确定它们是否是RPC端口,如果是,就确定是哪种软件及其版本号。因此你能够获得防火墙的一些信息。诱饵扫描现在还不能和RPC扫描结合使用。

-b

FTP反弹攻击(bounce attack):FTP协议(RFC 959)有一个很有意思的特征,它支持代理FTP连接。也就是说,我能够从evil.com连接到FTP服务器target.com,并且可以要求这台FTP服务器为自己发送Internet上任何地方的文件!1985年,RFC959完成时,这个特征就能很好地工作了。然而,在今天的Internet中,我们不能让人们劫持FTP服务器,让它向Internet上的任意节点发送数据。如同Hobbit在1995年写的文章中所说的,这个协议"能够用来做投递虚拟的不可达邮件和新闻,进入各种站点的服务器,填满硬盘,跳过防火墙,以及其它的骚扰活动,而且很难进行追踪"。我们可以使用这个特征,在一台代理FTP服务器扫描TCP端口。因此,你需要连接到防火墙后面的一台FTP服务器,接着进行端口扫描。如果在这台FTP服务器中有可读写的目录,你还可以向目标端口任意发送数据(不过nmap不能为你做这些)。

传递给-b功能选项的参数是你要作为代理的FTP服务器。语法格式为:

-b username:password@server:port。

除了server以外,其余都是可选的。如果你想知道什么服务器有这种缺陷,可以参考我在Phrack 51发表的文章。还可以在nmap的站点得到这篇文章的最新版本。

4.2 通用选项

这些内容不是必需的,但是很有用。

-P0

在扫描之前,不必ping主机。有些网络的防火墙不允许ICMP echo请求穿过,使用这个选项可以对这些网络进行扫描。microsoft.com就是一个例子,因此在扫描这个站点时,你应该一直使用-P0或者-PT 80选项。

-PT

扫描之前,使用TCP ping确定哪些主机正在运行。nmap不是通过发送ICMP echo请求包然后等待响应来实现这种功能,而是向目标网络(或者单一主机)发出TCP ACK包然后等待回应。如果主机正在运行就会返回RST包。只有在目标网络/主机阻塞了ping包,而仍旧允许你对其进行扫描时,这个选项才有效。对于非root用户,我们使用connect()系统调用来实现这项功能。使用-PT 来设定目标端口。默认的端口号是80,因为这个端口通常不会被过滤。

-PS

对于root用户,这个选项让nmap使用SYN包而不是ACK包来对目标主机进行扫描。如果主机正在运行就返回一个RST包(或者一个SYN/ACK包)。

-PI

设置这个选项,让nmap使用真正的ping(ICMP echo请求)来扫描目标主机是否正在运行。使用这个选项让nmap发现正在运行的主机的同时,nmap也会对你的直接子网广播地址进行观察。直接子网广播地址一些外部可达的IP地址,把外部的包转换为一个内向的IP广播包,向一个计算机子网发送。这些IP广播包应该删除,因为会造成拒绝服务攻击(例如smurf)。

-PB

这是默认的ping扫描选项。它使用ACK(-PT)和ICMP(-PI)两种扫描类型并行扫描。如果防火墙能够过滤其中一种包,使用这种方法,你就能够穿过防火墙。

-O

这个选项激活对TCP/IP指纹特征(fingerprinting)的扫描,获得远程主机的标志。换句话说,nmap使用一些技术检测目标主机操作系统网络协议栈的特征。nmap使用这些信息建立远程主机的指纹特征,把它和已知的操作系统指纹特征数据库做比较,就可以知道目标主机操作系统的类型。

-I

这个选项打开nmap的反向标志扫描功能。Dave Goldsmith 1996年向bugtap发出的邮件注意到这个协议,ident协议(rfc 1413)允许使用TCP连接给出任何进程拥有者的用户名,即使这个进程并没有初始化连接。例如,你可以连接到HTTP端口,接着使用identd确定这个服务器是否由root用户运行。这种扫描只能在同目标端口建立完全的TCP连接时(例如:-sT扫描选项)才能成功。使用-I选项是,远程主机的identd精灵进程就会查询在每个打开的端口上监听的进程的拥有者。显然,如果远程主机没有运行identd程序,这种扫描方法无效。

-f

这个选项使nmap使用碎片IP数据包发送SYN、FIN、XMAS、NULL。使用碎片数据包增加包过滤、入侵检测系统的难度,使其无法知道你的企图。不过,要慎重使用这个选项!有些程序在处理这些碎片包时会有麻烦,我最喜欢的嗅探器在接受到碎片包的头36个字节时,就会发生segmentation faulted。因此,在nmap中使用了24个字节的碎片数据包。虽然包过滤器和防火墙不能防这种方法,但是有很多网络出于性能上的考虑,禁止数据包的分片。

注意这个选项不能在所有的平台上使用。它在Linux、FreeBSD、OpenBSD以及其它一些UNIX系统能够很好工作。

-v

冗余模式。强烈推荐使用这个选项,它会给出扫描过程中的详细信息。使用这个选项,你可以得到事半功倍的效果。使用-d选项可以得到更加详细的信息。

-h

快速参考选项。

-oN

把扫描结果重定向到一个可读的文件logfilename中。

-oM

把扫描结果重定向到logfilename文件中,这个文件使用主机可以解析的语法。你可以使用-oM -来代替logfilename,这样输出就被重定向到标准输出stdout。在这种情况下,正常的输出将被覆盖,错误信息荏苒可以输出到标准错误stderr。要注意,如果同时使用了-v选项,在屏幕上会打印出其它的信息。

-oS thIs l0gz th3 r3suLtS of YouR ScanZ iN a s| THe fiL3 U sPecfy 4s an arGuMEnT! U kAn gIv3 the 4rgument -

(wItHOUt qUOteZ) to sh00t output iNT0 stDouT!@!! 莫名其妙,下面是我猜着翻译的,相形字?

把扫描结果重定向到一个文件logfilename中,这个文件使用一种"黑客方言"的语法形式(作者开的玩笑?)。同样,使用-oS -就会把结果重定向到标准输出上。

-resume

某个网络扫描可能由于control-C或者网络损失等原因被中断,使用这个选项可以使扫描接着以前的扫描进行。logfilename是被取消扫描的日志文件,它必须是可读形式或者机器可以解析的形式。而且接着进行的扫描不能增加新的选项,只能使用与被中断的扫描相同的选项。nmap会接着日志文件中的最后一次成功扫描进行新的扫描。

-iL

从inputfilename文件中读取扫描的目标。在这个文件中要有一个主机或者网络的列表,由空格键、制表键或者回车键作为分割符。如果使用-iL -,nmap就会从标准输入stdin读取主机名字。你可以从指定目标一节得到更加详细的信息。

-iR

让nmap自己随机挑选主机进行扫描。

-p

这个选项让你选择要进行扫描的端口号的范围。例如,-p 23表示:只扫描目标主机的23号端口。-p 20-30,139,60000-表示:扫描20到30号端口,139号端口以及所有大于60000的端口。在默认情况下,nmap扫描从1到1024号以及nmap-services文件(如果使用RPM软件包,一般在/usr/share/nmap/目录中)中定义的端口列表。

-F

快速扫描模式,只扫描在nmap-services文件中列出的端口。显然比扫描所有65535个端口要快。

-D

使用诱饵扫描方法对目标网络/主机进行扫描。如果nmap使用这种方法对目标网络进行扫描,那么从目标主机/网络的角度来看,扫描就象从其它主机(decoy1,等)发出的。从而,即使目标主机的IDS(入侵检测系统)对端口扫描发出报警,它们也不可能知道哪个是真正发起扫描的地址,哪个是无辜的。这种扫描方法可以有效地对付例如路由跟踪、response-dropping等积极的防御机制,能够很好地隐藏你的IP地址。

每个诱饵主机名使用逗号分割开,你也可以使用ME选项,它代表你自己的主机,和诱饵主机名混杂在一起。如果你把ME放在第六或者更靠后的位置,一些端口扫描检测软件几乎根本不会显示你的IP地址。如果你不使用ME选项,nmap会把你的IP地址随机夹杂在诱饵主机之中。

注意:你用来作为诱饵的主机应该正在运行或者你只是偶尔向目标发送SYN数据包。很显然,如果在网络上只有一台主机运行,目标将很轻松就会确定是哪台主机进行的扫描。或许,你还要直接使用诱饵的IP地址而不是其域名,这样诱饵网络的域名服务器的日志上就不会留下关于你的记录。

还要注意:一些愚蠢的端口扫描检测软件会拒绝路由试图进行端口扫描的主机。因而,你需要让目标主机和一些诱饵断开连接。如果诱饵是目标主机的网关或者就是其自己时,会给目标主机造成很大问题。所以你需要慎重使用这个选项。

诱饵扫描既可以在起始的ping扫描也可以在真正的扫描状态下使用。它也可以和-O选项组合使用。

使用太多的诱饵扫描能够减缓你的扫描速度甚至可能造成扫描结果不正确。同时,有些ISP会把你的欺骗包过滤掉。虽然现在大多数的ISP不会对此进行限制。

-S

在一些情况下,nmap可能无法确定你的源地址(nmap会告诉你)。在这种情况下,可以使用这个选项给出你的IP地址。

在欺骗扫描时,也使用这个选项。使用这个选项可以让目标认为是其它的主机对自己进行扫描。

-e

告诉nmap使用哪个接口发送和接受数据包。nmap能够自动对此接口进行检测,如果无效就会告诉你。

-g

设置扫描的源端口。一些天真的防火墙和包过滤器的规则集允许源端口为DNS(53)或者FTP-DATA(20)的包通过和实现连接。显然,如果攻击者把源端口修改为20或者53,就可以摧毁防火墙的防护。在使用UDP扫描时,先使用53号端口;使用TCP扫描时,先使用20号端口。注意只有在能够使用这个端口进行扫描时,nmap才会使用这个端口。例如,如果你无法进行TCP扫描,nmap会自动改变源端口,即使你使用了-g选项。

对于一些扫描,使用这个选项会造成性能上的微小损失,因为我有时会保存关于特定源端口的一些有用的信息。

-r

告诉nmap不要打乱被扫描端口的顺序。

--randomize_hosts

使nmap在扫描之前,打乱每组扫描中的主机顺序,nmap每组可以扫描最多2048台主机。这样,可以使扫描更不容易被网络监视器发现,尤其和--scan_delay 选项组合使用,更能有效避免被发现。

-M

设置进行TCP connect()扫描时,最多使用多少个套接字进行并行的扫描。使用这个选项可以降低扫描速度,避免远程目标宕机。

网络攻击入侵方式主要有几种

网络安全是现在热门话题之一,我们如果操作设置不当就会受到网络攻击,而且方式多种,那么有哪些网络攻击方式呢?下面一起看看!

常见的网络攻击方式

端口扫描,安全漏洞攻击,口令入侵,木马程序,电子邮件攻击,Dos攻击

1.端口扫描:

通过端口扫描可以知道被扫描计算机开放了哪些服务和端口,以便发现其弱点,可以手动扫描,也可以使用端口扫描软件扫描

2.端口扫描软件

SuperScan(综合扫描器)

主要功能:

检测主机是否在线

IP地址和主机名之间的相互转换

通过TCP连接试探目标主机运行的服务

扫描指定范围的主机端口。

PortScanner(图形化扫描器软件)

比较快,但是功能较为单一

X-Scan(无需安装绿色软件,支持中文)

采用多线程 方式对指定的IP地址段(或单机)进行安全漏洞检测

支持插件功能,提供图形化和命令行操作方式,扫描较为综合。

3.安全漏洞攻击

安全漏洞是硬件、软件、协议在具体实现和安全策略上存在的缺陷,安全漏洞的存在可以使攻击者在未授权的情况下访问或破坏系统

4.口令入侵

口令入侵是指非法获取某些合法用户的口令后,登录目标主机实施攻击的行为

非法获取口令的方式:

通过网络监听获取口令

通过暴力解除获取口令

利用管理失误获取口令

5.木马程序

它隐藏在系统内部,随系统启动而启动,在用户不知情的情况下,连接并控制被感染计算机

木马由两部分组成:服务器端和客户端

常见木马程序:

BO2000

冰河

灰鸽子

6.电子邮件攻击

攻击者使用邮件炸弹软件或CGI程序向目的邮箱发送大量内容重复、无用的垃圾邮件,从而使目的邮箱被撑爆而无法使用

电子邮件攻击的表现形式:

邮件炸弹

邮件欺骗

7.Dos攻击

Dos全称为拒绝服务攻击,它通过短时间内向主机发送大量数据包,消耗主机资源,造成系统过载或系统瘫痪,拒绝正常用户访问

拒绝服务攻击的类型:

攻击者从伪造的、并不存在的IP地址发出连接请求

攻击者占用所有可用的会话,阻止正常用户连接

攻击者给接收方灌输大量错误或特殊结构的数据包

Dos攻击举例

泪滴攻击

ping of Death

smurf 攻击

SYN溢出

DDoS分布式拒绝服务攻击

补充:校园网安全维护技巧

校园网络分为内网和外网,就是说他们可以上学校的内网也可以同时上互联网,大学的学生平时要玩游戏购物,学校本身有自己的服务器需要维护;

在大环境下,首先在校园网之间及其互联网接入处,需要设置防火墙设备,防止外部攻击,并且要经常更新抵御外来攻击;

由于要保护校园网所有用户的安全,我们要安全加固,除了防火墙还要增加如ips,ids等防病毒入侵检测设备对外部数据进行分析检测,确保校园网的安全;

外面做好防护 措施 ,内部同样要做好防护措施,因为有的学生电脑可能带回家或者在外面感染,所以内部核心交换机上要设置vlan隔离,旁挂安全设备对端口进行检测防护;

内网可能有ddos攻击或者arp病毒等传播,所以我们要对服务器或者电脑安装杀毒软件,特别是学校服务器系统等,安全正版安全软件,保护重要电脑的安全;

对服务器本身我们要安全server版系统,经常修复漏洞及更新安全软件,普通电脑一般都是拨号上网,如果有异常上层设备监测一般不影响其他电脑。做好安全防范措施,未雨绸缪。

相关阅读:2018网络安全事件:

一、英特尔处理器曝“Meltdown”和“Spectre漏洞”

2018年1月,英特尔处理器中曝“Meltdown”(熔断)和“Spectre” (幽灵)两大新型漏洞,包括AMD、ARM、英特尔系统和处理器在内,几乎近20年发售的所有设备都受到影响,受影响的设备包括手机、电脑、服务器以及云计算产品。这些漏洞允许恶意程序从 其它 程序的内存空间中窃取信息,这意味着包括密码、帐户信息、加密密钥乃至其它一切在理论上可存储于内存中的信息均可能因此外泄。

二、GitHub 遭遇大规模 Memcached DDoS 攻击

2018年2月,知名代码托管网站 GitHub 遭遇史上大规模 Memcached DDoS 攻击,流量峰值高达1.35 Tbps。然而,事情才过去五天,DDoS攻击再次刷新纪录,美国一家服务提供商遭遇DDoS 攻击的峰值创新高,达到1.7 Tbps!攻击者利用暴露在网上的 Memcached 服务器进行攻击。网络安全公司 Cloudflare 的研究人员发现,截止2018年2月底,中国有2.5万 Memcached 服务器暴露在网上 。

三、苹果 iOS iBoot源码泄露

2018年2月,开源代码分享网站 GitHub(软件项目托管平台)上有人共享了 iPhone 操作系统 的核心组件源码,泄露的代码属于 iOS 安全系统的重要组成部分——iBoot。iBoot 相当于是 Windows 电脑的 BIOS 系统。此次 iBoot 源码泄露可能让数以亿计的 iOS 设备面临安全威胁。iOS 与 MacOS 系统开发者 Jonathan Levin 表示,这是 iOS 历史上最严重的一次泄漏事件。

四、韩国平昌冬季奥运会遭遇黑客攻击

2018年2月,韩国平昌冬季奥运会开幕式当天遭遇黑客攻击,此次攻击造成网络中断,广播系统(观众不能正常观看直播)和奥运会官网均无法正常运作,许多观众无法打印开幕式门票,最终未能正常入场。

五、加密货币采矿软件攻击致欧洲废水处理设施瘫痪

2018年2月中旬,工业网络安全企业 Radiflow 公司表示,发现四台接入欧洲废水处理设施运营技术网络的服务器遭遇加密货币采矿恶意软件的入侵。该恶意软件直接拖垮了废水处理设备中的 HMI 服务器 CPU,致欧洲废水处理服务器瘫痪 。

Radiflow 公司称,此次事故是加密货币恶意软件首次对关键基础设施运营商的运营技术网络展开攻击。由于受感染的服务器为人机交互(简称HMI)设备,之所以导致废水处理系统瘫痪,是因为这种恶意软件会严重降低 HMI 的运行速度。

网络攻击相关 文章 :

1. 网络攻击以及防范措施有哪些

2. 企业级路由器攻击防护的使用方法

3. 局域网ARP欺骗和攻击解决方法

4. 网络arp攻击原理

5. 关于计算机网络安全专业介绍

分析X-Scan,写出它的使用方法以及配置方法,同时抓包分析其扫描原理。如果有兴趣分析一下其脚本

一. 系统要求:Windows NT/2000/XP/2003

理论上可运行于Windows NT系列操作系统,推荐运行于Windows 2000以上的Server版Windows系统。

二. 功能简介:

采用多线程方式对指定IP地址段(或单机)进行安全漏洞检测,支持插件功能。扫描内容包括:远程服务类型、操作系统类型及版本,各种弱口令漏洞、后门、应用服务漏洞、网络设备漏洞、拒绝服务漏洞等二十几个大类。对于多数已知漏洞,我们给出了相应的漏洞描述、解决方案及详细描述链接,其它漏洞资料正在进一步整理完善中,您也可以通过本站的“安全文摘”和“安全漏洞”栏目查阅相关说明。

3.0及后续版本提供了简单的插件开发包,便于有编程基础的朋友自己编写或将其他调试通过的代码修改为X-Scan插件。另外Nessus攻击脚本的翻译工作已经开始,欢迎所有对网络安全感兴趣的朋友参与。需要“Nessus攻击脚本引擎”源代码、X-Scan插件SDK、示例插件源代码或愿意参与脚本翻译工作的朋友,可通过本站“X-Scan”项目链接获取详细资料:“”。

三. 所需文件:

xscan_gui.exe -- X-Scan图形界面主程序

checkhost.dat -- 插件调度主程序

update.exe -- 在线升级主程序

*.dll -- 主程序所需动态链接库

使用说明.txt -- X-Scan使用说明

/dat/language.ini -- 多语言配置文件,可通过设置“LANGUAGE\SELECTED”项进行语言切换

/dat/language.* -- 多语言数据文件

/dat/config.ini -- 当前配置文件,用于保存当前使用的所有设置

/dat/*.cfg -- 用户自定义配置文件

/dat/*.dic -- 用户名/密码字典文件,用于检测弱口令用户

/plugins -- 用于存放所有插件(后缀名为.xpn)

/scripts -- 用于存放所有NASL脚本(后缀名为.nasl)

/scripts/desc -- 用于存放所有NASL脚本多语言描述(后缀名为.desc)

/scripts/cache -- 用于缓存所有NASL脚本信息,以便加快扫描速度(该目录可删除)

四. 准备工作:

X-Scan是完全免费软件,无需注册,无需安装(解压缩即可运行,自动检查并安装WinPCap驱动程序)。若已经安装的WinPCap驱动程序版本不正确,请通过主窗口菜单的“工具”-“Install WinPCap”重新安装“WinPCap 3.1 beta4”或另行安装更高版本。

五. 图形界面设置项说明:

“检测范围”模块:

“指定IP范围” - 可以输入独立IP地址或域名,也可输入以“-”和“,”分隔的IP范围,如“192.168.0.1-20,192.168.1.10-192.168.1.254”,或类似“192.168.100.1/24”的掩码格式。

“从文件中获取主机列表” - 选中该复选框将从文件中读取待检测主机地址,文件格式应为纯文本,每一行可包含独立IP或域名,也可包含以“-”和“,”分隔的IP范围。

“全局设置”模块:

“扫描模块”项 - 选择本次扫描需要加载的插件。

“并发扫描”项 - 设置并发扫描的主机和并发线程数,也可以单独为每个主机的各个插件设置最大线程数。

“网络设置”项 - 设置适合的网络适配器,若找不到网络适配器,请重新安装WinPCap 3.1 beta4以上版本驱动。

“扫描报告”项 - 扫描结束后生成的报告文件名,保存在LOG目录下。扫描报告目前支持TXT、HTML和XML三种格式。

“其他设置”项:

“跳过没有响应的主机” - 若目标主机不响应ICMP ECHO及TCP SYN报文,X-Scan将跳过对该主机的检测。

“无条件扫描” - 如标题所述

“跳过没有检测到开放端口的主机” - 若在用户指定的TCP端口范围内没有发现开放端口,将跳过对该主机的后续检测。

“使用NMAP判断远程操作系统” - X-Scan使用SNMP、NETBIOS和NMAP综合判断远程操作系统类型,若NMAP频繁出错,可关闭该选项。

“显示详细信息” - 主要用于调试,平时不推荐使用该选项。

“插件设置”模块:

该模块包含针对各个插件的单独设置,如“端口扫描”插件的端口范围设置、各弱口令插件的用户名/密码字典设置等。

六. 常见问题解答:

Q:如果没有安装WinPCap驱动程序是否能正常使用X-Scan进行扫描?

A:如果系统未安装WinPCap驱动,X-Scan启动后会自动安装WinPCap 3.1;如果系统已经安装了WinPCap更高版本,X-Scan则使用已有版本。

Q:扫描一个子网,进程里同时出现10个checkhost.exe的进程是什么原因?

A:检测每个主机都会单独起一个Checkhost.exe进程,检测完毕会自动退出。并发主机数量可以通过图形界面的设置窗口设定,命令行程序通过“-t”参数设定。

Q:扫描过程中机器突然蓝屏重启是什么原因?

A:扫描过程中系统蓝屏是有可能的,AtGuard、天网等防火墙的驱动程序在处理特殊包的时候有可能出错导致系统崩溃,另外很多防火墙驱动与WinPCap驱动本身也存在冲突,建议先禁止或卸载防火墙程序再试试。

Q:操作系统识别不正确是什么原因?

A:操作系统识别方面确实不能保证100%的准确率,目前是综合NMAP、P0F的指纹库、NETBIOS信息和SNMP信息进行识别,如果目标机器没有开放NETBIOS和SNMP协议,TCP/IP堆栈指纹也不在数据库中,就需要使用者根据其他信息综合分析了。

Q:为什么在一次扫描中我选择了“SYN”方式进行端口扫描,但X-Scan实际采用的是“TCP”方式,而且也没有被动识别出目标操作系统?

A:端口扫描中的“SYN”方式在NT4或XP+SP2系统下无法使用,在windows 2000等系统下使用时必须拥有管理员权限,否则将自动改用“TCP”方式进行端口扫描。

Q:新版本是否兼容2.3版本的插件?

A:X-Scan 3.0以上版本的插件接口做了少量修改,不兼容2.3以前版本的插件,需要原作者做相应修改。3.0以上版本提供了简单的开发库,插件开发方面要比2.3版本轻松许多。

Q:我看到Scripts目录下有很多nessus的脚本,是否可以自己从nessus的网站上下载最新的plugin,然后解压到scripts目录中,实现扫描最新漏洞?

A:X-Scan移植了nessus的nasl引擎,目前对应于nessus2.2.4,但不包含对本地检测脚本的支持。所以只要是这个版本nessus支持的非本地检测脚本,都可以复制到Scripts目录下加载。

Q:X-Scan中各项弱口令插件检测范围都很有限,能否自己加入其他需要检测的帐号或口令?

A:在“X-Scan”中内置的密码字典仅为简单示范,使用者如果希望软件有更强的密码猜解能力,可以自己编辑密码字典文件。

Q:为什么nasl脚本扫描结果中存在大量英文,将来有没有可能会对这些英文信息进行汉化?

A:目前已有将近2000个NASL脚本,里面的描述信息大都是英文,需要翻译的内容可以在本站“焦点项目”中的X-Scan下看到。欢迎大家一起帮忙翻译,通过审核后会直接加入在线升级库供大家下载。

Q:用xscan.exe在命令行方式下进行扫描时,如何暂停或终止扫描?

A:命令行方式检测过程中,按“[空格]”键可查看各线程状态及扫描进度,按“[回车]”可暂停或继续扫描,按“q”键可保存当前数据后提前退出程序,按“ctrl+c”强行关闭程序。

Q:X-Scan如何安装,是否需要注册?

A:X-Scan是完全免费软件,无需注册,无需安装(解压缩即可运行,自动安装WinPCap驱动)。

七. 版本发布:

X-Scan v3.3 -- 发布日期:07/18/2005,优化主程序及NASL库;修正已知BUG;更新攻击测试脚本及中文描述。

感谢wlj、killer、coolc协助测试,感谢通过各种方式提供反馈信息及建议的朋友。

X-Scan v3.2 -- 发布日期:04/08/2005,升级NASL库,优化主程序及NASL库;增加HTTP/TELNET/SSH/VNC/CVS/IMAP等弱口令检测插件;修正已知BUG。

感谢wlj提供大量改进建议及相关资料,感谢安全焦点全体成员和coolc、killer等朋友协助测试。

X-Scan v3.1 -- 发布日期:03/25/2004,修改“存活主机”插件,加入2.3版本中SNMP、NETBIOS插件,优化主程序及NASL库。

X-Scan v3.02 -- 发布日期:03/08/2004,“WinPCap 3.1 beta”中存在BUG,可能导致CheckHost.exe异常。X-Scan中改用“WinPCap 2.3”,建议卸载“WinPCap 3.1 beta”后再使用X-Scan进行扫描。

X-Scan v3.0 -- 发布日期:03/01/2004,修正beta版本中已知BUG,对主程序及所有插件进行优化,升级NASL库,支持2.0.10a版本以前的所有NASL脚本;提供简单的开发包方便其他朋友共同开发插件;其他插件正在开发中。

感谢悟休、quack帮忙精选nasl脚本列表,感谢san为支持X-Scan项目编写相关页面程序。再次感谢安全焦点论坛上所有提供优秀思路和协助测试的朋友们。

X-Scan v3.0(beta) -- 发布日期:12/30/2003,对主程序结构进行调整,加入移植的NASL插件,支持2.0.9版本以前的所有NASL脚本;对插件接口做少量修改,方便由其他朋友共同开发插件;对远程操作系统识别功能进行了加强,并去掉了一些可由脚本完成的插件。

感谢isno和Enfis提供优秀插件,感谢悟休、quack帮忙精选nasl脚本列表,也感谢其他提供优秀思路和协助测试的朋友。

X-Scan v2.3 -- 发布日期:09/29/2002,新增SSL插件,用于检测SSL漏洞;升级PORT、HTTP、IIS插件;升级图形界面并对界面风格作细微调整。

感谢ilsy提供优秀插件。

X-Scan v2.2 -- 发布日期:09/12/2002,修正PORT插件中线程同步BUG;修正RPC插件字符显示BUG;扩充RPC漏洞数据库;调整扫描结果索引文件风格。

感谢xundi、quack、stardust搜集并整理漏洞数据库。

X-Scan v2.1 -- 发布日期:09/08/2002,将SNMP插件扫描项目改为可选;将HTTP、IIS、RPC插件中的“漏洞描述”链接到xundi整理的漏洞数据库;修正2.0以前版本中已知BUG。

X-Scan v2.0 -- 发布日期:08/07/2002,新增路由信息检测、SNMP信息检测插件;升级NETBIOS插件,新增远程注册表信息检测;升级IIS插件,新增对IIS.ASP漏洞的检测;对插件接口做细微修改;更新图形界面,新增“在线升级”功能;扩充CGI漏洞数据库;修正1.3以前版本中已知BUG。

感谢quack、stardust、sinister、ilsy、santa、bingle、casper提供宝贵资料或优秀插件,感谢san、xundi、e4gle协助测试,也感谢所有来信反馈和提出建议的热心朋友。

X-Scan v1.3 -- 发布日期:12/11/2001,修正PORT插件中关于远程操作系统识别的BUG。

X-Scan v1.2 -- 发布日期:12/02/2001,升级HTTP、IIS插件,新增对HTTP重定向错误页面识别功能;升级PORT插件,在无法创建Raw Socket时改为使用标准TCP连接方式检测开放端口。

X-Scan v1.1 -- 发布日期:11/25/2001,将所有检测功能移入插件,使主程序完全成为“容器”;提供多语言支持;更新图形接口程序;修改多线程模式,所有插件共享最大线程数量,提高并发检测速度;新增SMTP、POP3弱口令用户检测;新增IIS UTF-Code漏洞检测;扩充CGI漏洞列表。

感谢xundi、quack、casper、wollf、黄承等朋友提供的宝贵资料,感谢echo、力立等朋友协助测试,再次向付出了重体力劳动的xundi和quack致谢,涕零.....

X-Scan v1.0(beta) -- 发布日期:07/12/2001,新增对远程操作系统类型及版本识别功能;新增对远程主机地理位置查询功能;在“-iis”选项中,新增对IIS “.ida/.idq”漏洞的扫描,同时更新漏洞描述;在“-port”参数中,允许指定扫描的端口范围(通过修改“dat\config.ini”文件中的“[PORT-LIST]\port=”);在“-ntpass”参数中,允许用户在编辑密码字典时通过“%”通配所有用户名;更新CGI漏洞列表,并对CGI漏洞进行分类,以便根据远程主机系统类型扫描特定CGI漏洞,加快扫描速度。

感谢“天眼”软件作者--watercloud提供“被动识别远程操作系统”模块;感谢“追捕”软件作者--冯志宏提供“IP-地理位置”数据库;感谢quack提供漏洞资料、程序资料、无数有价值的建议还有感情和......

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弱口令扫描功能进行扩充--允许用户使用用户名及密码字典;增加插件功能,并公布插件接口。

感谢“santa”和“老鬼(colossus)”提供插件。

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,内部测试

0条大神的评论

发表评论