实验六 端口扫描攻击检测
- 格式:pdf
- 大小:352.58 KB
- 文档页数:3
网络攻防对抗实验报告实验名称:端口扫描实验(实验三)指导教师:专业班级:姓名:学号:_____电子邮件: ___ 实验地点:实验日期:实验成绩:____________________一、实验目的通过练习使用网络端口扫描器,了解目标主机开放的端口和服务程序,从而获得系统的有用信息,发现网络系统的安全漏洞。
在实验中,我们将在Windows操作系统下使用端口扫描工具Xscan,Nmap和流光Fluxay5.0进行网络端口综合扫描实验,并给出安全性评估报告,加深对各种网络和系统漏洞的理解。
同时,通过系统漏洞的入侵练习增强网络安全防护意识。
二、实验原理TCP/IP协议在网络层是无连接的,而“端口”,就已经到了传输层。
端口便是计算机与外部通信的途径。
一个端口就是一个潜在的通信通道,也就是一个入侵通道。
对目标计算机进行端口扫描,能得到许多有用的信息。
进行扫描的方法很多,可以是手工进行扫描,也可以用端口扫描软件进行。
在手工进行扫描时,需要熟悉各种命令,对命令执行后的输析出进行分,效率较低。
用扫描软件进行扫描时,许多扫描器软件都有分析数据的功能。
通过端口扫描,可以得到许多有用的信息,从而发现系统的安全漏洞。
扫描工具根据作用的环境不同可分为:网络漏洞扫描工具和主机漏洞扫描工具。
前者指通过网络检测远程目标网络和主机系统所存在漏洞的扫描工具。
后者指在本机运行的检测本地系统安全漏洞的扫描工具。
三、实验内容和步骤Xscan的应用1.Xscan的使用X-scan v3.3 采用多线程方式对指定IP 地址段进行扫描,扫描内容包括:SNMP 信息,CGI 漏洞,IIS 漏洞,RPC 漏洞,SSL 漏洞,SQL-SERVER、SMTP-SERVER、弱口令用户等。
扫描结果保存在/log/目录中。
其主界面为下图所示。
2.开始扫描(1)配置扫描参数,先点击扫描参数,在下面红框内输入你要扫描主机的ip 地址(或是一个范围),本说明中我们设置为靶机服务器的IP 地址, 192.168.20.245(2)选择需要扫描的项目,点击扫描模块可以选择扫描的项目(3)开始扫描,该扫描过程会比较长,请大家耐心等待,并思考各种漏洞的含义。
实验 端口扫描攻击检测实验【实验名称】端口扫描攻击检测实验【实验目的】RG-IDS 对端口扫描(port scan )攻击检测功能【背景描述】校园网中服务器被外网用户扫描和探测,扫描攻击不仅是攻击的前奏,而且消耗网络带宽,影响学校网络正常运行。
RG-IDS 部署在外网出口、DMZ 区、数据中心,检测外网和内网用户对DMZ 服务器、数据中心区应用层攻击,以及恶意扫描和探测行为的审计。
并将检测信息及时通知管理员,采取相应的防御措施。
【需求分析】需求 :外网用户的恶意扫描探测,内网用户遭受病毒攻击后,会自动向外发送扫描,传播蠕虫等病毒,危害内网安全分析 :通过RG-IDS 端口扫描攻击的检测,初步识别攻击的源和目的,进行及时防御,将威胁降到最低,更好的保护学校网络安全【实验拓扑】攻击机IP :172.16.5.127被攻击机IP :172.16.5.125网口1网口2网口3IDS 入侵检测控制台 IP :172.16.5.128IDS 入侵检测引擎IP :172.16.5.100图5-1端口扫描攻击检测实验拓扑图【实验设备】 PC 3台 RG-IDS 1台 直连线 5条交换机 1台(必须支持多对一的端口镜像)攻击工具 portscan12(端口扫描工具)【预备知识】交换机端口镜像配置、RG-IDS配置、portscan12攻击工具使用【实验原理】端口扫描向目标主机的TCP/IP服务端口发送探测数据包,并记录目标主机的响应。
通过分析响应来判断服务端口是打开还是关闭,就可以得知端口提供的服务或信息。
端口扫描也可以通过捕获本地主机或服务器的流入流出IP数据包来监视本地主机的运行情况,它仅能对接收到的数据进行分析,帮助我们发现目标主机的某些内在的弱点,而不会提供进入一个系统的详细步骤。
端口扫描技术行为作为恶意攻击的前奏,严重威胁用户的网络,RG-IDS通过扫描的行为特征准确的识别出恶意的扫描行为,并及时通知管理员。
《网络攻击与防范》实验报告(2)单击“下一步”按钮·进人如图 4-2 所示的“禁止功能选项”设定界面.根据需要进行设定。
例如。
如果选中“禁止右键菜单”复选框.当运行了该病毒后.右击时将无法弹出快捷菜单。
图 4-2 设置“禁止功能选项”(3)单击“下一步”按钮.进入如图 4-3 所示的“病毒提示对话框”设定界面时。
根据需要设置有关开机时病毒的执行情况。
当选中“设置开机提示对话框”复选框.并设置了提示框标题和内容等后,相关信息将以对话框方式在开机时自动显示图4-3 设置开机时病毒的执行情况(4)单击“下一步”按钮,进入如图 4-4 所示的“病毒传播选项”设定界面,根据需要进行设定。
当选中“通过电子邮件进行自动传播(蠕虫)”复选框时.病毒可以向指定数量的用户发送垃圾邮件。
图4-3 设置开机时病毒的执行情况下一步夏上一步图4-4“病毒传播选项”设定界面(5)单击“下一步”按钮,进入“IE 修改选项”设定界面,根据需要进行设定。
注意.当选中“设置默认主页”复选框后,会弹出“设置主页”对话框,需要读者输人要修改的IE 浏览器主页地址(即每次打开IE 浏览器时默认打开的主页地址).如图 4-5 所示图4-5设置IE浏览器修改选项(6)单击“下一步”按钮,在出现的如图 4-6 所示的对话框中选择所生成的脚本病毒存放的位置,单击“开始制造”按钮,生成病毒文件。
图4-6选择所生成的脚本病毒存放的位置此时,可看到相应路径下,已经生成了脚本病毒文件3.2感染病毒并观察感染后的系统变化情况(1)将生成的脚本病毒文件置于虚拟机中,在其上双击使之运行。
为保证完整准确地查看病毒的感染效果.可重启已经感染了病毒的虚拟机系统。
然后,根据病毒文件生成时的设置,观察系统感染了病毒后的表现情况。
主要操作步骤如下。
(2)观察系统文件夹下的异常变化,可以发现,在 C:\ Windows,C:\Windows\system32下多了不明来源的脚本文件。
一、实验背景随着信息技术的飞速发展,网络已经成为人们工作和生活中不可或缺的一部分。
然而,随之而来的网络安全问题也日益凸显。
为了提高对网络攻击的认识和防御能力,我们进行了本次网络攻击实验。
通过模拟网络攻击的过程,了解攻击者的攻击手段,以及防御网络攻击的方法。
二、实验目的1. 理解网络攻击的基本原理和常用手段。
2. 掌握网络安全防御的基本策略和工具。
3. 提高网络安全意识和自我保护能力。
三、实验环境1. 操作系统:Windows 102. 网络设备:路由器、交换机、PC机3. 软件环境:Wireshark、Nmap、Metasploit等网络安全工具四、实验步骤1. 信息收集利用Nmap扫描目标主机,获取目标主机的开放端口、操作系统等信息。
通过Wireshark抓取目标主机与网络之间的数据包,分析其网络流量。
2. 漏洞扫描利用Nmap对目标主机进行漏洞扫描,找出目标主机存在的安全漏洞。
3. 攻击模拟根据漏洞扫描结果,选择合适的攻击手段对目标主机进行攻击。
以下列举几种常见的网络攻击手段:(1)端口扫描攻击:通过扫描目标主机的开放端口,获取目标主机上的服务信息。
(2)拒绝服务攻击(DoS):通过大量请求占用目标主机资源,使目标主机无法正常响应。
(3)密码破解攻击:通过暴力破解、字典攻击等方法获取目标主机的登录凭证。
(4)木马攻击:通过植入木马程序,控制目标主机,获取敏感信息。
4. 攻击防御针对攻击模拟过程中发现的安全漏洞,采取相应的防御措施,如:(1)关闭不必要的开放端口,减少攻击面。
(2)更新操作系统和应用程序,修复已知漏洞。
(3)设置强密码,提高登录凭证的安全性。
(4)安装防火墙、入侵检测系统等安全设备,及时发现和阻止攻击。
五、实验结果与分析1. 通过信息收集,我们发现目标主机存在多个开放端口,其中包含Web服务、邮件服务、数据库服务等。
2. 漏洞扫描结果显示,目标主机存在多个安全漏洞,如:Web服务漏洞、数据库服务漏洞等。
kali网络安全实验教程Kali Linux是一款专为渗透测试和网络安全的操作系统,其集成了大量的网络安全工具和资源。
本教程将介绍几个常用的网络安全实验,帮助你熟悉Kali Linux的使用和网络安全的基本知识。
实验一:端口扫描端口扫描是渗透测试的基本技术,用于发现目标系统开放的端口和服务。
在Kali Linux中,我们可以使用nmap工具进行端口扫描。
首先打开终端,输入命令“nmap -v -A 目标IP”,等待扫描结果即可。
实验二:漏洞扫描漏洞扫描是为了发现系统和应用程序中存在的安全漏洞。
在Kali Linux中,我们可以使用OpenVAS工具进行漏洞扫描。
首先打开终端,输入命令“openvas-setup”来安装和设置OpenVAS。
安装完成后,输入命令“openvas-start”启动OpenVAS服务,然后打开浏览器,输入网址“https://localhost:9392”进入OpenVAS的Web界面进行漏洞扫描。
实验三:密码破解密码破解是渗透测试的一项重要任务,用于测试系统和应用程序的密码强度。
在Kali Linux中,我们可以使用Hydra工具进行密码破解。
首先打开终端,输入命令“hydra -L 用户名字典 -P 密码字典目标IP 服务协议”,等待破解结果即可。
实验四:无线网络攻击无线网络攻击是渗透测试中的一项重要内容,可以模拟黑客对无线网络进行攻击。
在Kali Linux中,我们可以使用Aircrack-ng工具进行无线网络攻击。
首先打开终端,输入命令“airmon-ng start wlan0”启动监听模式,然后输入命令“airodump-ng 网络接口”扫描附近的无线网络,找到目标网络的BSSID和信道。
接下来,输入命令“aireplay-ng -0 0 -a 目标BSSID -c 客户端MAC地址网络接口”进行断开客户端连接,最后输入命令“aircrack-ng -w 密码字典 -b 目标BSSID 文件名.cap”进行密码破解。
一、实验目的1. 理解网络端口扫描的基本原理和作用。
2. 掌握常用的网络端口扫描工具,如Xscan、Nmap和流光等。
3. 学习如何进行网络端口扫描,并对扫描结果进行分析。
4. 了解网络端口扫描在网络安全中的应用。
二、实验环境1. 操作系统:Windows 102. 网络端口扫描工具:Xscan、Nmap、流光3. 实验网络:实验室内部局域网三、实验步骤1. 安装网络端口扫描工具(1)下载并安装Xscan、Nmap和流光等网络端口扫描工具。
(2)确保实验网络连接正常,打开扫描工具。
2. 使用Xscan进行端口扫描(1)在Xscan中输入目标IP地址或域名。
(2)选择扫描方式,如全端口扫描、快速扫描等。
(3)点击“开始扫描”按钮,等待扫描完成。
(4)查看扫描结果,了解目标主机开放的端口和服务。
3. 使用Nmap进行端口扫描(1)在Nmap中输入目标IP地址或域名。
(2)选择扫描选项,如-sT(全端口扫描)、-sS(半开放扫描)等。
(3)运行命令:nmap -sT 目标IP地址或域名。
(4)查看扫描结果,了解目标主机开放的端口和服务。
4. 使用流光进行端口扫描(1)在流光中输入目标IP地址或域名。
(2)选择扫描模式,如快速扫描、全端口扫描等。
(3)点击“开始扫描”按钮,等待扫描完成。
(4)查看扫描结果,了解目标主机开放的端口和服务。
5. 分析扫描结果(1)对比三种扫描工具的扫描结果,了解不同扫描工具的特点。
(2)分析目标主机开放的端口和服务,了解其可能存在的安全风险。
四、实验结果与分析1. Xscan扫描结果通过Xscan扫描,发现目标主机开放了80(HTTP)、21(FTP)、22(SSH)等端口。
2. Nmap扫描结果通过Nmap扫描,发现目标主机开放了80(HTTP)、21(FTP)、22(SSH)等端口,并获取了更详细的信息,如操作系统类型、服务版本等。
3. 流光扫描结果通过流光扫描,发现目标主机开放了80(HTTP)、21(FTP)、22(SSH)等端口,并提供了端口对应的程序信息。
一、实验目的1. 了解端口扫描的基本概念和原理。
2. 掌握常用端口扫描工具的使用方法。
3. 学会分析端口扫描结果,识别潜在的安全风险。
二、实验环境1. 实验主机:Windows 10操作系统2. 实验工具:Nmap、Xscan、Nessus等端口扫描工具3. 实验对象:互联网上的目标主机三、实验内容1. 端口扫描概述2. 使用Nmap进行端口扫描3. 使用Xscan进行端口扫描4. 使用Nessus进行端口扫描5. 分析端口扫描结果四、实验步骤1. 端口扫描概述端口扫描是指通过网络发送特定数据包,检测目标主机上开放的服务端口的过程。
通过端口扫描,我们可以了解目标主机上运行的服务,从而评估其安全风险。
2. 使用Nmap进行端口扫描(1)安装Nmap:从官方网站下载Nmap安装包,按照提示进行安装。
(2)运行Nmap:在命令行中输入“nmap 目标IP”进行扫描。
(3)查看扫描结果:Nmap会生成一个文本文件,其中包含了扫描结果。
3. 使用Xscan进行端口扫描(1)安装Xscan:从官方网站下载Xscan安装包,按照提示进行安装。
(2)运行Xscan:在Xscan界面输入目标IP,点击“开始扫描”按钮。
(3)查看扫描结果:Xscan会生成一个HTML文件,其中包含了扫描结果。
4. 使用Nessus进行端口扫描(1)安装Nessus:从Tenable官方网站下载Nessus安装包,按照提示进行安装。
(2)运行Nessus:在Nessus界面输入目标IP,选择扫描模板,点击“开始扫描”按钮。
(3)查看扫描结果:Nessus会生成一个报告,其中包含了扫描结果。
5. 分析端口扫描结果(1)识别开放端口:根据扫描结果,找出目标主机上开放的端口。
(2)分析服务类型:根据开放端口,确定目标主机上运行的服务类型。
(3)评估安全风险:根据服务类型,评估目标主机的安全风险。
五、实验结果与分析1. 使用Nmap扫描目标主机,发现其开放了80、443、22、21等端口。
实验六端口扫描攻击检测1、需求分析针对内外网用户的恶意扫描检测,通过snort的端口扫描攻击检测,初步识别攻击的源和目的地址,进行及时防御,将威胁降到最低,更好的保护公司单位网络的安全。
外网用户的恶意扫描探测2、实验原理2.1 端口扫描基本知识端口扫描向目标主机的TCP/IP服务端口发送探测数据包,并记录目标主机的响应。
通过分析响应来判断服务端口是打开还是关闭,就可以得知端口提供的服务或信息。
端口扫描也可以通过捕获本地主机或服务器的流入流出IP数据包来监视本地主机的运行情况,他仅能对接收的数据进行分析,帮助我们发现目标主机的某些内在的弱点,而不会提供进入一个系统的详细步骤。
端口扫描技术行为作为恶意攻击的前奏,严重威胁用户的网络,snort通过扫描的行为特征准确地识别出恶意的扫描行为,并及时通知管理员。
常用的端口扫描技术:(1)TCP 端口连接扫描:这是最基本的TCP扫描。
操作系统提供的connect()系统调用,用来与每一个感兴趣的目标计算机的端口进行连接。
如果端口处于侦听状态,那么connect()就能成功。
否则,这个端口是不能用的,即没有提供服务。
这个技术的一个最大的优点是,你不需要任何权限。
系统中的任何用户都有权利使用这个调用。
另一个好处就是速度。
如果对每个目标端口以线性的方式,使用单独的connect()调用,那么将会花费相当长的时间,你可以通过同时打开多个套接字,从而加速扫描。
使用非阻塞I/O允许你设置一个低的时间用尽周期,同时观察多个套接字。
但这种方法的缺点是很容易被发觉,并且被过滤掉。
目标计算机的logs文件会显示一连串的连接和连接是出错的服务消息,并且能很快的使它关闭。
(2)TCP SYN扫描:这种技术通常认为是“半开放”扫描,这是因为扫描程序不必要打开一个完全的TCP连接。
扫描程序发送的是一个SYN数据包,好象准备打开一个实际的连接并等待反应一样(参考TCP的三次握手建立一个TCP连接的过程)。
一、实验背景随着互联网的普及,网络安全问题日益凸显。
扫描攻击作为一种常见的网络安全威胁,对网络系统的稳定性和安全性构成了严重威胁。
为了提高网络安全防护能力,本实验旨在通过模拟扫描攻击,了解其原理、手段和防范措施。
二、实验目的1. 理解扫描攻击的原理和手段;2. 掌握扫描攻击的检测和防范方法;3. 提高网络安全防护意识。
三、实验环境1. 操作系统:Windows 10;2. 网络设备:路由器、交换机、PC;3. 扫描工具:Nmap;4. 防火墙:iptables。
四、实验步骤1. 配置实验环境(1)搭建实验网络拓扑,包括路由器、交换机和PC;(2)在PC上安装Nmap扫描工具和iptables防火墙;(3)配置PC的IP地址、子网掩码和默认网关。
2. 扫描攻击实验(1)使用Nmap扫描PC的开放端口,观察扫描结果;(2)修改Nmap扫描参数,模拟扫描攻击,如:a. -sP:仅进行端口扫描,不发送数据包;b. -sS:进行TCP SYN扫描;c. -sU:进行UDP扫描;d. -sV:进行版本扫描;e. -p:指定扫描端口。
3. 扫描攻击检测(1)使用iptables防火墙设置规则,阻止来自外部网络的扫描攻击;(2)观察iptables防火墙的日志,检测扫描攻击;(3)使用Nmap扫描PC,验证防火墙规则是否有效。
4. 扫描攻击防范(1)关闭不必要的开放端口,降低被扫描的风险;(2)使用防火墙阻止来自外部网络的扫描攻击;(3)定期更新操作系统和应用程序,修复已知漏洞;(4)使用入侵检测系统(IDS)实时监控网络流量,及时发现扫描攻击。
五、实验结果与分析1. 扫描攻击实验通过Nmap扫描工具,成功扫描出PC的开放端口,包括HTTP、HTTPS、SSH等。
修改Nmap扫描参数后,模拟扫描攻击,观察到PC受到扫描攻击的影响。
2. 扫描攻击检测使用iptables防火墙设置规则,阻止来自外部网络的扫描攻击。
网络攻防实验报告端口实验背景网络攻防实验是信息安全学习的重要环节之一。
端口是一种网络通信的机制,表示网络中的一个通信接口。
计算机系统中有许多不同的服务和应用程序需要使用端口进行通信。
然而,一些开放的端口也可能成为网络攻击的入口。
因此,了解和掌握端口的使用、管理和防护是网络安全的基础知识。
实验目的本实验的目的是通过实际操作和实验测试,深入了解端口的作用、原理和使用方式,并学习如何对开放的端口进行安全配置和防御。
实验步骤1. 查找常用端口:我们首先需要了解常用端口的基本知识。
通过网络搜索或查阅相关资料,了解常见的端口及其对应的服务或应用程序。
2. 使用端口扫描工具:选择一个端口扫描工具,如Nmap,进行端口扫描。
输入目标IP地址,扫描目标机器上开放的端口。
3. 分析扫描结果:根据扫描结果,对开放的端口进行分析。
对于常见端口,分析其对应的服务或应用程序是否正常运行;对于不常见的端口,需要进一步调查和验证其用途。
4. 利用漏洞验证:对于开放的端口,如果存在已知的漏洞,可以使用相应的漏洞验证工具进行验证。
如果能够成功验证漏洞,则说明该端口存在安全风险。
5. 配置防火墙:根据扫描和验证结果,对开放的端口进行安全配置。
关闭不必要的端口,并配置防火墙规则,限制相关端口的访问权限。
6. 进行安全测试:对配置后的端口进行安全测试,尝试从外部访问已关闭的端口,验证防火墙规则是否生效。
实验结果通过端口扫描和漏洞验证,我们发现目标机器上存在两个常用开放端口:端口80和端口443。
根据我们的分析,端口80通常用于HTTP协议,对应Web服务;端口443通常用于HTTPS协议,对应安全的Web服务。
我们使用漏洞验证工具对这两个端口进行验证,发现目标机器上的Web服务存在一个已知漏洞。
我们立即采取措施,关闭该漏洞所在的端口,并配置防火墙规则,限制对端口80和443的访问。
经过安全测试,我们成功防止了外部对这两个端口的访问。
实验总结本实验通过对端口的扫描、分析和验证,以及对防火墙规则的配置和测试,加深了我们对端口的理解和运用。
一、实验目的1. 理解网络攻击的基本原理和常见类型。
2. 掌握常用的网络攻击工具和方法。
3. 增强网络安全意识,提高网络安全防护能力。
二、实验环境1. 操作系统:Windows 102. 网络设备:路由器、交换机、计算机等3. 网络攻击工具:Wireshark、Nmap、Metasploit等三、实验内容1. 网络嗅探实验(1)实验目的:通过Wireshark工具,学习如何捕获网络数据包,分析网络流量。
(2)实验步骤:a. 安装并启动Wireshark工具。
b. 选择合适的网络接口进行数据包捕获。
c. 观察并分析捕获到的数据包,了解数据包的结构和内容。
d. 查看数据包中的IP地址、端口号、协议等信息,分析网络流量。
2. 端口扫描实验(1)实验目的:通过Nmap工具,学习如何扫描目标主机的开放端口,了解目标主机的网络服务。
(2)实验步骤:a. 安装并启动Nmap工具。
b. 输入目标主机的IP地址或域名。
c. 执行扫描命令,查看目标主机的开放端口和对应的服务。
d. 分析扫描结果,了解目标主机的网络服务情况。
3. 漏洞扫描实验(1)实验目的:通过Metasploit工具,学习如何扫描目标主机的安全漏洞,了解目标主机的安全风险。
(2)实验步骤:a. 安装并启动Metasploit工具。
b. 输入目标主机的IP地址或域名。
c. 选择合适的漏洞扫描模块。
d. 执行漏洞扫描,查看目标主机的安全漏洞。
4. 恶意软件攻击实验(1)实验目的:通过构造恶意软件,学习恶意软件的攻击原理和防范措施。
(2)实验步骤:a. 编写一个简单的VBScript脚本,实现屏幕截图功能。
b. 将VBScript脚本打包成EXE文件。
c. 在目标主机上执行恶意软件,观察屏幕截图效果。
d. 分析恶意软件的攻击原理,了解防范措施。
四、实验结果与分析1. 网络嗅探实验:通过Wireshark工具,成功捕获了网络数据包,分析了网络流量,了解了数据包的结构和内容。
实验六端口扫描实验
1 实验类型
验证型实验
2实验目的
●了解端口扫描的基本概念和工作原理;
3背景知识
●端口扫描原理
在“计算机网络”课程中,我们知道完成一次TCP连接需要完成三次握手才能建立。
端口扫描正是利用了这个原理,通过假冒正常的连接过程,依次向目标主机的各个端口发送连接请求,并根据目标主机的应答情况判断目标主机端口的开放情况,从而分析并对一些重要端口实施攻击。
客户端服务端
完整扫描连接过程示意图
另一种扫描方式称为半开扫描,出于欺骗的目的,半开扫描在收到服务端的应答信号(SYN+ACK)后,不再发送响应信号(ACK)。
一次连接过程如下图所示:
客户端服务端
半开扫描连接过程示意图
4 实验内容
1、编写一个利用全连接的端口扫描程序,能显示目标主机的端口开放情况。
要求能在命令行输入要扫描的目标主机和端口范围。
比如:scan *.*.*.* nnnn-mmmm。
5 实验思考
1、阐述全连接扫描的原理。
2、你的程序是否考虑了扫描效率?如没有考虑你准备如何改进?。
计算机网络网络端口扫描攻击计算机网络网络端口扫描攻击在计算机通信中,一台计算机要与另一台计算机建立TCP或UDP 连接,必须首先发送一个请求报文(SYN),根据接收端端口是否开放将回应不同的应答。
如果TCP端口开放,则回应发送方一个ACK报文,并建立TCP连接控制结构;若TCP未开放,则回应发送方一个TCP RST报文,告知发送方TCP端口未开放。
UDP连接的也是同样的道理。
端口扫描就是基于这一原理,攻击者利用Socket编程或其它技术发送合适的报文与目标主机的某些端口建立TCP连接、进行传输协议的验证等工作,从而获取目标主机的端口状态、提供的服务及提供的服务中是否含有漏洞缺陷等情况。
端口扫描攻击常用的扫描方式有TCP connect()扫描、SYN扫描、FIN扫描、IP地址段扫描等。
●TCP connect()扫描它是最基本的TCP扫描。
操作系统提供的connect()系统调用,用来与每一个感兴趣的目标计算机端口进行连接。
只要端口处于侦听状态,就能连接成功。
否则,就不能成功。
系统中的任何用户都可以使用这个调用,速度也很快。
但它易被发现并被过滤掉。
●SYN扫描扫描主机自动向目标计算机的指定端口发送SYN数据段,表示请求建立连接。
如果目标计算机回应一个SYN ACK报文,则说明该端口是活动的。
随后,扫描主机传送一个RST给目标主机拒绝建立TCP连接,从而导致三次握手的失败;如果目标计算机回应的是RST报文,则表明该端口未开启。
●FIN扫描FIN扫描是指通过发送FIN来判断目标计算机的指定端口是否活动。
如发送一个FIN报文到一个关闭的端口时,该报文会被丢弃掉,并返回一个RST报文。
但是,如果当FIN报文到达一个活动的端口时,该报文只是简单的丢掉,不会返回任何回应。
这种扫描方式没有涉及任何TCP连接部分,因此,可以称之为秘密扫描。
●IP地址段扫描它是利用路由表来进行扫描,一般可以通过使用第三方软件来实现,在其中设定IP地址范围,扫描存活的主机。
扫描攻击防范【实验名称】扫描攻击防范【实验目的】掌握扫描的原理及如何在交换机上防防扫描攻击。
【实验拓扑】【实验设备】1.交换机S2126G 1台2.PC 3台【预备知识】1.扫描攻击2.端口安全【步骤与测试】1、搭建上图所示的实验环境;2、PC1对S2126G_1交换机发起扫描攻击;攻击软件:ScanPort V1.2,一个小巧的网络端口扫描工具,绿色软件。
攻击:扫描攻击实验3、在S2126G_1交换机上启用防扫描功能,交换机配置如下:conf tvlan 10vlan 20interface F 0/1switchport mode accessswitchport access vlan 10system-guard enablesystem-guard isolate-time 120system-guard same-dest-ip-attack-packets 20system-guard scan-dest-ip-attack-packets 10system-guard detect-maxnum 100no shutinterface F 0/2switchport mode accessswitchport access vlan 10no shutinterface F 0/24switchport mode accessswitchport access vlan 20no shutport-security arp-checkint vlan 10ip address 192.168.10.1 255.255.255.0int vlan 20ip address 192.168.20.1 255.255.255.04、PC1对S2126G_1交换机发起扫描攻击;备注:在进行扫描实验时,一定要跨网段扫描,扫描功能才会生效。
实验六端口扫描攻击检测1、需求分析针对内外网用户的恶意扫描检测,通过snort的端口扫描攻击检测,初步识别攻击的源和目的地址,进行及时防御,将威胁降到最低,更好的保护公司单位网络的安全。
外网用户的恶意扫描探测2、实验原理2.1 端口扫描基本知识端口扫描向目标主机的TCP/IP服务端口发送探测数据包,并记录目标主机的响应。
通过分析响应来判断服务端口是打开还是关闭,就可以得知端口提供的服务或信息。
端口扫描也可以通过捕获本地主机或服务器的流入流出IP数据包来监视本地主机的运行情况,他仅能对接收的数据进行分析,帮助我们发现目标主机的某些内在的弱点,而不会提供进入一个系统的详细步骤。
端口扫描技术行为作为恶意攻击的前奏,严重威胁用户的网络,snort通过扫描的行为特征准确地识别出恶意的扫描行为,并及时通知管理员。
常用的端口扫描技术:(1)TCP 端口连接扫描:这是最基本的TCP扫描。
操作系统提供的connect()系统调用,用来与每一个感兴趣的目标计算机的端口进行连接。
如果端口处于侦听状态,那么connect()就能成功。
否则,这个端口是不能用的,即没有提供服务。
这个技术的一个最大的优点是,你不需要任何权限。
系统中的任何用户都有权利使用这个调用。
另一个好处就是速度。
如果对每个目标端口以线性的方式,使用单独的connect()调用,那么将会花费相当长的时间,你可以通过同时打开多个套接字,从而加速扫描。
使用非阻塞I/O允许你设置一个低的时间用尽周期,同时观察多个套接字。
但这种方法的缺点是很容易被发觉,并且被过滤掉。
目标计算机的logs文件会显示一连串的连接和连接是出错的服务消息,并且能很快的使它关闭。
(2)TCP SYN扫描:这种技术通常认为是“半开放”扫描,这是因为扫描程序不必要打开一个完全的TCP连接。
扫描程序发送的是一个SYN数据包,好象准备打开一个实际的连接并等待反应一样(参考TCP的三次握手建立一个TCP连接的过程)。
一个SYN|ACK的返回信息表示端口处于侦听状态。
一个RST返回,表示端口没有处于侦听态。
如果收到一个SYN|ACK,则扫描程序必须再发送一个RST信号,来关闭这个连接过程。
这种扫描技术的优点在于一般不会在目标计算机上留下记录。
但这种方法的一个缺点是,必须要有root权限才能建立自己的SYN数据包。
(3)TCP FIN 扫描:有的时候有可能SYN扫描都不够秘密。
一些防火墙和包过滤器会对一些指定的端口进行监视,有的程序能检测到这些扫描。
相反,FIN数据包可能会没有任何麻烦的通过。
这种扫描方法的思想是关闭的端口会用适当的RST来回复FIN数据包。
另一方面,打开的端口会忽略对FIN数据包的回复。
这种方法和系统的实现有一定的关系。
有的系统不管端口是否打开,都回复RST,这样,这种扫描方法就不适用了。
并且这种方法在区分Unix和NT时,是十分有用的。
(4)IP段扫描:这种不能算是新方法,只是其它技术的变化。
它并不是直接发送TCP探测数据包,是将数据包分成两个较小的IP段。
这样就将一个TCP头分成好几个数据包,从而过滤器就很难探测到。
但必须小心。
一些程序在处理这些小数据包时会有些麻烦。
(5)TCP 反向ident扫描:ident 协议允许(rfc1413)看到通过TCP连接的任何进程的拥有者的用户名,即使这个连接不是由这个进程开始的。
因此你能,举个例子,连接到http端口,然后用identd来发现服务器是否正在以root权限运行。
这种方法只能在和目标端口建立了一个完整的TCP连接后才能看到。
(6)FTP 返回攻击:FTP协议的一个有趣的特点是它支持代理(proxy)FTP连接。
即入侵者可以从自己的计算机和目标主机的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 sfPortscan预处理器本实验通过攻击者常用的Nmap端口扫描工具进行端口扫描攻击,检测snort对端口扫描攻击的检测能力。
sfPortscan预处理器,是snort中端口扫描检测模块,可以检测各种不同类型的端口扫描。
通过README.sfportscan可以得多更多关于检测原理、警告类型以及端口扫描细节。
常用端口扫描预处理器的格式:preprocessor sfportscan: proto { all } memcap { 10000000 } sense_level { low }配置选项:proto { tcp udp icmp ip all }:该参数列出你希望检测的协议类型。
参数之间用空格分开并且不能有逗号。
scan_type { portscan portsweep decoy_portscan distributed_portscan all }:该参数描述你希望寻则检测的扫描类型,参数应用空格区分并且不能有逗号。
sense level { low|medium|high}:这个选项只需要一个参数,用来确定检测端口扫描的敏感度水平。
‘low’级别使用通用方法来查找响应错误,如TCP RSTs和ICMP无法到达,这个级别需要最少的优化。
medium级别会检测端口扫描和过滤端口扫描(那些没有收到响应的端口扫描),这个级别通常需要优化从NATed IPs以及DNS cache servers来的扫描事件。
high 级别有最小的端口检测限制,比medium有更长的时间窗,需要more tuning and may be noisy on very active networks,然后这个界别捕获更多的扫描。
memcap { positive integer):分配给端口扫描的最大字节数。
数字越高,越多节点可以被跟踪。
logfile { filename }:指定端口扫描和详细端口扫描值的写入日志文件位置。
如果没有以/开头,snort会写入配置的log目录。
通过README.sfportscan查看更详细的关于项log文件写日志的方法。
watchip { Snort IP List }:指定需要监视的主机列表。
ignore_scanners { snort IP list }:需要忽略的扫描主机列表。
用来优化针对动态主机,如Nat,nessus主机等的警告。
ignore_scanned { Snort IP List }:需忽略已扫描主机列表。
用来优化从syslog servers过来的活动主机的警报。
detect_ack_scans:检测ACK 扫描是很有必要的。
然而,这也可能会导致错误警报,特别是under heavy load with dropped packets,这也是这个原型默认是off的原因。
eg:preprocessor sfportscan: proto { all } /memcap { 10000000 } /sense_level { low }3、实验步骤第一步:修改snort配置文件,修改策略在snort.conf中写入如下内容:preprocessor sfportscan: proto { all } \memcap { 10000000 } \sense_level { high }确保include $RULE_PATH/scan.rules启用,将scan.rules内部规则规则全面的#去掉。
第二步:启动snortc:\snort\bin\snort -A full -c "c:\Snort\etc\snort.conf" -l "c:\Snort\log"第三步:实施攻击下载安装扫描软件ScanPort或Nmap,同组主机使用扫描软件对虚拟机进行扫描。
「注」若第一次端口扫描后portscan.log没有日志,不要退出snort,请同组主机进行第二次端口扫描。
第四步:查看告警信息[**] [1:1917:9] SCAN UPnP service discover attempt [**][Classification: Detection of a Network Scan] [Priority: 3]04/26-19:24:57.761396 59.75.129.71:64267 -> 239.255.255.250:1900UDP TTL:1 TOS:0x0 ID:1088 IpLen:20 DgmLen:161Len: 133[**] [1:1917:9] SCAN UPnP service discover attempt [**][Classification: Detection of a Network Scan] [Priority: 3]04/26-19:25:00.807235 59.75.129.71:64267 -> 239.255.255.250:1900UDP TTL:1 TOS:0x0 ID:1090 IpLen:20 DgmLen:161Len: 133思考题:如何监视具体网段是否存在恶意行为的端口扫描?。