第三方端口扫描软件有许多,例如Fport、Scan Part、nmap等。界面虽然千差万别,但是功能却是类似的。这里以“Anger IP Scanner”为例。“Anger IP Scanner”是一个相当小的IP、端口扫描软件,不过虽然它的体积小,但功能确一点也不小,利用它,可以获得被扫描计算机的IP地址、Ping响应时间、主机名称、计算机名称、工作组、登录用户名、MAC地址等信息。它可以在很短的时间内扫描远端主机IP的运作状况,并且快速的将结果整理完,显示在窗口中,如图1.2所示。
图1.2 Angry IP Scanner界面
1.1.3 研究端口的目的
1.知道本机开了那些端口。 2.目前本机的端口处于什么状态。
3.目前本机是不是正在和其它计算机交换数据。
1.2 网络攻击的概念
试图通过网络入侵或干扰一个网络的行为,就是网络攻击。网络攻击的种类有多种多样,分为主动攻击和被动攻击。主动攻击是电脑用户利用自己的电脑和网络,进行入侵或干扰其它网络。被动攻击,是电脑中了病毒或木马程序,在机主不知道的情况下,由病毒或木马自己进行网络入侵或干扰活动。
第二章 端口扫描和网络攻击的关键技术
2.1 常见的端口扫描技术
2.1.1 TCP connect()扫描
TCP connect()扫描使用基本的TCP连接建立机制,打开一个到目标主机感兴趣端口的连接。
1.SYN数据包被发往目标主机的扫描端口。
2.用户等待目标主机发送回来的包类型:如果收到的数据包是SYNACK类型,说明目标端口正在监听如果收到的数据包是RSTACK类型,说明目标端口不处于监听状态,连接被复位。
3.如果收到SYNACK数据包则通过发送ACK信号完成三次握手。 4.当整个连接过程完成后,结束连接。
这种的扫描容易被发现,目标主机检查日志文件时很容易就发现这一类一连接就断开的错误信息。TCPIP 协议的网络体系结构,如图2.1所示。
图2.1 TCPIP协议的体系结构
2.1.2 TCP SYN 扫描
这种技术通常认为是“半开放”扫描,这是因为扫描程序不必要打开一个完全的TCP连接。扫描程序发送的是一个SYN数据包,好像准备打开一个实际的连接并等待反应一样(参考TCP的三次握手建立一个TCP连接的过程)。一个SYNACK的返回信息表示 端口处于侦听状态。一个RST返回,表示端口没有处于侦听态。如果收到一个 SYNACK,则扫描程序必须再发送一个RST信号,来关闭这个连接过程。这种扫描技术的优点在于一般不会在目标计算机上留下记录。
但这种方法的一个缺点是,必须要有root权限才能建立自己的SYN数据包。TCP 的报文格式,如图2.2所示。
源端口(16位) 序号 确认号 UAPRSF 保RCSSYI留 S K H T N N 校验和 选项(可变)
目的端口(16位) 报头长度 窗口大小(16位) 紧急指针 填充(可变)
2.1.3 TCP FIN 扫描
数据区 图2.2 TCP报文结构
有的时候有可能SYN扫描都不够秘密。一些防火墙和包过滤器会对一些指定的端口进行监视,有的程序能检测到这些扫描。相反,FIN数据包可能会没有任何麻烦的通过。这种扫描方法的思想是关闭的端口会用适当的RST来回复FIN数据包。另一方面,打开 的端口会忽略对FIN数据包的回复。
这种方法和系统的实现有一定的关系。有的系统不管端口是否打开,都回复RST,这样,这种扫描方法就不适用了。并且这种方法在区分Unix和NT时,是十分有用的。
2.1.4 IP 段扫描
这种不能算是新方法,只是其它技术的变化。它并不是直接发送TCP探测数据包,是将数据包分成两个较小的IP段。这样就将一个TCP头分成好几个数据包,从而过滤器就很难探测到,但必须小心,一些程序在处理这些小数据包时会有些麻烦。
2.1.5 TCP反向 ident 扫描
ident 协议允许(rfc1413)看到通过TCP连接的任何进程的拥有者的用户名,即使这个连接不是由这个进程开始的。例如,连接到http端口,然后用ident来发现服务器是否正在以root权限运行,这种方法只能在和目标端口建立了一个完整的TCP连接后才能看 到。
2.1.6 FTP 返回攻击
FTP协议的一个有趣的特点是它支持代理(proxy)FTP连接。即入侵者可以从自己的计算机a和目标主机target的FTP Server-PI(协议解释器)连接,建立一个控制通信连接。然后,请求这Server-PI激活一个有效的Server-DTP(数据传输进程)来给Internet上任何地方发送文件。对于一个User-DTP,这是个推测,尽管RFC明确地定义 请求一个服务器发送文件到另一个服务器是可以的。但现在这个方法好像不行了。这个协议的缺点是“能用来发送不能跟踪的邮件和新闻,给许多服务器造成打击,用尽磁盘,企图越过防火墙”。
我们利用这个的目的是从一个代理的FTP服务器来扫描TCP端口。这样,就能在一个防火墙后面连接到一个FTP服务器,然后扫描端口(这些原来有可能被阻塞)。如果 FTP服务器允许从一个目录读写数据,你就能发送任意的数据到发现的打开的端口。
对于端口扫描,这个技术是使用PORT命令来表示被动的User DTP正在目标计算机上的某个端口侦听。然后入侵者试图用LIST命令列出当前目录,结果通过Server-DTP发送出去。如果目标主机正在某个端口侦听,传输就会成功(产生一个150或226的回应)。否则,会出现“425 Can't build data connection: Connection refused”。然后,使用另一个PORT命令,尝试目标计算机上的下一个端口。这种方法的优点很明显,难以跟踪,能穿过防火墙。
主要缺点是速度很慢,有的FTP服务器最终能得到一些线索,关闭代理功能。
2.2 常见的网络攻击技术系统特性
1.获取口令
其中包括三种方法:一是通过网络监听非法得到用户口令这类方法有一定的局限性,但危害性极大,监听者往往能够获得其所在网段的所有用户账号和口令,对局域网安全威胁巨大;二是在知道用户的账号后(如电子邮件@前面的部分)利用一些专门软件强行破解用户口令这种方法不受网段限制,但黑客要有足够的耐心和时间;三是在获得一个服务器上的用户口令文件(此文件成为Shadow文件)后,用暴力破解程序破解用户口令。
2.放置特洛伊木马程序
特洛伊木马程序可以直接侵入用户的电脑并进行破坏,它常被伪装成工具程序或者游戏等诱使用户打开带有特洛伊木马程序的邮件附件或从网上直接下载。一旦用户打开了这些邮件的附件或者执行了这些程序之后,它们就会像古特洛伊人在敌人城外留下的藏满士兵的木马一样留在自己的电脑中,并在自己的计算机系统中隐藏一个可以在Windows启 动时悄悄执行的程序。当您连接到因特网上时,这个程序就会通知黑客,来报告您的IP地址以及预先设定的端口。黑客在收到这些信息后,再利用这个潜伏在其中的程序,就 可以任意地修改用户计算机的参数设定、复制文件、窥视用户整个硬盘中的内容等,从而达到控制用户的计算机的目的。 3.WWW的欺骗技术
黑客将用户要浏览的网页的URL改写为指向黑客自己的服务器,当用户浏览目标网页的时候,实际上是向黑客服务器发出请求,那么黑客就可以达到欺骗的目的了。
4.电子邮件攻击
电子邮件攻击主要表现为两种方式:一是电子邮件轰炸和电子邮件“滚雪球”。也就是通常所说的邮件炸弹,指的是用伪造的IP地址和电子邮件地址向同一信箱发送数以千计、万计甚至无穷多次的内容相同的垃圾邮件,致使受害人邮箱被“炸”,严重者可能会给电子邮件服务器操作系统带来危险,甚至瘫痪;二是电子邮件欺骗,攻击者佯称自己为系统管理员(邮件地址和系统管理员完全相同),给用户发送邮件要求用户修改口令(口令可能为指定字符串)或在貌似正常的附件中加载病毒或其他木马程序,这类欺骗只要用户提高警惕,一般危害性不是太大。
5.通过一个节点来攻击其他节点
黑客在突破一台主机后,往往以此主机作为根据地,攻击其他主机(以隐蔽其入侵路 径,避免留下蛛丝马迹)。他们可以使用网络监听方法,尝试攻破同一网络内的其他主机;也可以通过IP欺骗和主机信任关系,攻击其他主机。这类攻击很狡猾,但由于某些技术很难掌握,如IP欺骗,因此较少被黑客使用。
6.网络监听
网络监听是主机的一种工作模式,如果两台主机进行通信的信息没有加密,只要使用某些网络监听工具,例如NetXray for Windows 9598nt、sniffit for linux 、solaries等就可以轻而易举地截取包括口令和账号在内的信息资料。
7.寻找系统漏洞
许多系统都有这样那样的安全漏洞(Bugs),其中某些是操作系统或应用软件本身具有的,这些漏洞在补丁未被开发出来之前一般很难防御黑客的破坏,除非用户将网线拔 掉;还有一些漏洞是由于系统管理员配置错误引起的,如在网络文件系统中,将目录和文件以可写的方式调出,将未加Shadow的用户密码文件以明码方式存放在某一目录下,这都会给黑客带来可乘之机,应及时加以修正。
8.利用账号进行攻击
有的黑客会利用操作系统提供的缺省账户和密码进行攻击。这类攻击只要系统管理员提高警惕,将系统提供的缺省账户关掉或提醒无口令用户增加口令一般都能克服。 9.偷取特权
利用各种特洛伊木马程序、后门程序和黑客自己编写的导致缓冲区溢出的程序进行攻击,前者可使黑客非法获得对用户机器的完全控制权,后者可使黑客获得超级用户的权 限,从而拥有对整个网络的绝对控制权。这种攻击手段,一旦奏效,危害性极大。
2.3 网络攻击软件WinArpAttactker的分析与应用
目前存在局域网中的arp攻击一直困扰着我们,其实arp攻击并不是病毒,而是一些软件造成的,使用该软件者的目的就是独占大部分网络资源而使局域网内部其他机器不能正常运作。WinArpAttacker是一款能够在本地网络进行扫描、攻击、检测和防护的应用软件,窗口如图2.3所示。
图2.3 WinArpAttacker界面
1.WinArpAttacker的界面分为四块输出区域
⑴主机列表区,显示的信息有局域网内的机器IP、MAC地址、主机名、是否在线、是否在监听、是否处于被攻击状态。另外,还有一些ARP数据包和转发数据包统计信息,如
①ArpSQ:是该机器的发送ARP请求包的个数。 ②ArpSP:是该机器的发送回应包个数。 ③ArpRQ:是该机器的接收请求包个数。 ④ArpRP:是该机器的接收回应包个数。
⑵检测事件显示区,在这里显示检测到的主机状态变化和攻击事件。能够检测的事件列表。主要有IP冲突、扫描、SPOOF监听、本地ARP表改变、新机器上线等。当用鼠标在上面移动时,会显示对于该事件的说明。
⑶本机的ARP表中的项,这对于实时监控本机ARP表变化,防止别人进行SPOOF攻