网络对抗实验210-11.docx
- 文档编号:167796
- 上传时间:2022-10-05
- 格式:DOCX
- 页数:102
- 大小:1.01MB
网络对抗实验210-11.docx
《网络对抗实验210-11.docx》由会员分享,可在线阅读,更多相关《网络对抗实验210-11.docx(102页珍藏版)》请在冰豆网上搜索。
《网络对抗技术》课程
实验讲义
目录
实验1信息搜集 3
实验2端口扫描 19
实验3漏洞扫描法 28
实验4网络嗅探 31
实验5缓冲区溢出 48
实验6拒绝服务攻击 56
实验7网络后门 61
实验8后门启动技术 70
实验9特洛伊木马 75
实验1信息搜集
前言:
黑客在进行一次完整的攻击之前除了确定攻击目标之外,最主要的工作就是收集尽量多的关于攻击目的的信息。
这些信息主要包括目标的操作系统类型及版本、目标提供哪些服务、各服务的类型、版本以及相关的社会信息。
实验1.1信息搜集
实验目的
1.了解信息搜集的一般步骤
2.学会熟练使用ping命令
3.学会利用Nmap等工具进行信息搜集
【实验安排】
1学时每组2人
【系统环境】
Windows、Linux
【实验原理】
一.信息搜集的步骤
攻击者搜集目标信息一般采用七个基本的步骤:
(1)找到初始信息,比如一个IP地址或者一个域名;
(2)找到网络地址范围,或者子网掩码;
(3)找到活动机器;
(4)找到开放端口和入口点;
(5)弄清操作系统;
(6)弄清每个端口运行的是哪种服务;
(7)画出网络结构图。
二.ping命令探测技巧
使用ping可以测试目标主机名称和IP地址,验证与远程主机的连通性,通过将ICMP回显请求数据包发送到目标主机,并监听来自目标主机的回显应答数据包来验证与一台或多台远程主机的连通性,该命令只有在安装了TCP/IP协议后才可以使用。
ping命令格式:
ping[选项]目标主机。
常用选项见表13-1-1。
生存时间(TTL):
指定数据报被路由器丢弃之前允许通过的网段数量。
TTL是由发送主机设置的,以防止数据包在网络中循环路由。
转发IP数据包时,要求路由器至少将
TTL减小1。
TTL字段值可以帮助我们猜测操作系统类型,如表13-1-2所示。
表13-1-2 各操作系统ICMP回显应答TTL对照
三.Nmap介绍
nmap是一个网络探测和安全扫描程序,系统管理者和个人可以使用这个软件扫描大型的网络,获取哪台主机正在运行以及提供什么服务等信息。
nmap支持很多扫描技术,例如:
UDP、TCP connect()、TCP SYN(半开扫描)、ftp代理(bounce攻击)、反向标志、
ICMP、FIN、ACK扫描、圣诞树(XmasTree)、SYN扫描和null扫描。
nmap还提供了一些高级的特征,例如:
通过TCP/IP协议栈特征探测操作系统类型,秘密扫描,动态延时和重传计算,并行扫描,通过并行ping扫描探测关闭的主机,诱饵扫描,避开端口过滤检测,直接RPC扫描(无须端口映射),碎片扫描,以及灵活的目标和端口设定。
nmap运行通常会得到被扫描主机端口的列表。
nmap总会给出wellknown端口的服务名(如果可能)、端口号、状态和协议等信息。
每个端口的状态有:
open、filtered、unfiltered。
open状态意味着目标主机能够在这个端口使用accept()系统调用接受连接。
filtered状态表示:
防火墙、包过滤和其它的网络安全软件掩盖了这个端口,禁止nmap探测其是否打开。
unfiltered表示:
这个端口关闭,并且没有防火墙/包过滤软件来隔离nmap的探测企图。
通常情况下,端口的状态基本都是unfiltered状态,只有在大多数被扫描的端口处于filtered状态下,才会显示处于unfiltered状态的端口。
根据使用的功能选项,nmap也可以报告远程主机的下列特征:
使用的操作系统、TCP序列、运行绑定到每个端口上的应用程序的用户名、DNS名、主机地址是否是欺骗地址、以及其它一些东西。
四.Nmap常用命令选项
执行命令:
nmap[扫描类型][扫描选项]。
常用命令选项见表13-1-3。
表13-1-3 nmap命令常用选项
【实验步骤】
本练习主机A、B为一组,C、D为一组,E、F为一组。
实验角色说明如下:
下面以主机A、B为例,说明实验步骤。
首先使用“快照X”恢复Windows/Linux系统环境。
一.信息搜集
此实验主机A可与B同时相互搜集对方信息,下面的步骤以主机A为例讲解。
1.ping探测
主机A开启命令行,对主机B进行ping探测,根据主机B的回复,可以确定主机A
和主机B之间的连通情况,还可以根据回复数据包的TTL值对操作系统进行猜测。
回复数据包的TTL值:
,主机B操作系统可能为:
。
2.Nmap扫描
(1)对活动主机进行端口扫描
主机A使用Nmap工具对主机B进行TCP端口同步扫描(范围1-150):
Nmap命令 ;
主机B开放的TCP端口 。
对主机B进行UDP端口扫描(范围是110-140):
Nmap命令 ;
主机B开放的UDP端口 。
(2)对活动主机操作系统进行探测
主机A对主机B进行TCP/IP指纹特征扫描:
Nmap命令 ;
查看扫描结果 。
(3)对活动主机运行服务进行探测
主机A单击平台工具栏“协议分析器”按钮,启动协议分析器进行数据包捕获。
打开
IE在地址栏中输入http:
//主机B的IP,访问主机B的web服务,停止协议分析器,查看捕获结果。
图13-1-1可做为参考。
图13-1-1 HTTP会话分析由图13-1-1可判断目标主机web服务使用的软件类型是
。
请探测目标主机FTP服务使用的软件类型是
。
(4)对活动主机IP协议进行探测
主机A使用Nmap命令对主机B进行IP协议探测:
Nmap命令 ;
查看扫描结果 。
3.探测总结
根据上述实验所得结果,填写表13-1-1。
表13-1-1 探测结果
【思考问题】
1.137/UDP端口提供的是什么服务?
Linux系统是否提供此服务?
实验1.2 主机发现
【实验目的】
1.了解IP助手函数
2.掌握SendARP函数的使用方法
3.理解利用ARP协议实现主机发现的原理
【实验安排】
1学时;每组1人
【系统环境】
Windows;交换网络结构;主机支持的IP协议
【实验原理】
一.主机发现
任何网络探测任务的最初几个步骤之一就是把一组IP范围(有时该范围是巨大的)缩小为一列活动的或者你所感兴趣的主机。
扫描每个IP的每个端口很慢,通常也没必要。
当然,什么样的主机令你感兴趣主要依赖于扫描的目的。
网络管理员也许只对运行特定服务的主机感兴趣,而从事安全的人士则可能对每一个细节都感兴趣。
一个系统管理员也许仅仅使用Ping来定位内网上的主机,而一个外部入侵测试人员则可能绞尽脑汁用各种方法试图突破防火墙的封锁。
二.利用ARP协议实现主机发现
1.ARP协议简介
Internet是由各种各样的物理网络通过使用诸如路由器之类的设备连接在一起组成的。
主机发送一个数据包到另一台主机时可能要经过多种不同的物理网络。
主机和路由器都是在网络层通过逻辑地址来识别的,这个地址是在全世界内唯一的。
然而,数据包是通过物
理网络传递的。
在物理网络中,主机和路由器通过其物理地址来识别的,其范围限于本地网络中。
物理地址和逻辑地址是两种不同的标识符。
这就意味着将一个分组传递到一个主机或路由器需要进行两级寻址:
逻辑地址和物理地址。
需要能将一个逻辑地址映射到相应的物理地址。
ARP协议是“AddressResolutionProtocol”(地址解析协议)的缩写。
所谓“地址解析”就是主机在发送帧前将目的逻辑地址转换成目的物理地址的过程。
在使用TCP/IP协议的以太网中ARP协议完成将IP地址映射到MAC地址的过程。
向目标主机发送一个ARP请求,如果对方返回MAC地址,则表明对方处于活动状态,这样达到探测的目的。
2.ARP协议运行过程
在网络中,数据报传送一般都需要使用ARP协议来获得目的主机的物理地址,ARP协议的运行过程如下:
(1)ARP协议创建一个ARP请求报文,其中包含了发送方的物理地址、发送方的IP
地址和接收方的IP地址,而接收方的物理地址用0填充。
(2)将报文传递到数据链路层,并在该层中用发送方的物理地址作为源地址,用物理广播地址作为目的地址,将其封装在一个帧中。
(3)因为该帧中包含了一个广播目的地址,所以同一链路中的每个主机或路由器都接收到这个帧。
所有接收到该帧的站点都将其传递到ARP层进行处理。
除了目的主机以外的所有主机都丢弃该报文。
(4)目的主机用一个包含其物理地址的ARP响应报文做出响应,并单播该报文。
(5)发送方接收到这个响应报文,这样它就知道了目的主机的物理地址。
因此,就可以利用ARP协议的运行特点来判断网络中的主机是否处于活动状态,当向目的主机发送ARP请求报文后,如果接收到目的主机返回的ARP应答报文,那么说明目的主机处于活动状态;否则,说明目的主机处于不活动状态。
利用ARP协议实现主机发现的过程如图13-2-1所示。
图13-2-1 利用ARP协议实现主机发现图13-2-2所示为ARP请求与应答情况。
图13-2-2 ARP请求与应答
三.IP助手函数
使用IP助手函数,可以对计算机上的IP协议特征进行查询和管理。
它们以程序的方式提供如下功能:
(1)显示IPv4配置信息,允许释放和更新DHCP分配的IPv4地址。
(2)显示TCP连接表,UDP监听表以及IP协议统计信息。
(3)显示并处理网络路由表。
(4)显示并修改ARP缓存表。
四.相关函数与数据结构
1.WSAStartup函数与WSACleanup函数
在利用套接字编程之前,首先需要加载套接字库,初始化WS2_32.DLL的调用,这些都是通过WSAStartup函数来实现。
该函数有两个功能:
一是加载套接字库,一是进行套接字库的版本协商,也就是确定将使用的socket版本,原型声明如下:
WSAStartup函数有两个参数,第一个参数(wVersionRequested)用来指定准备加载的
WinSock库的版本。
高位字节指定所需要的Winsock库的副版本,而低位字节则是主版本号,为了建立此参数的值,可以使用宏MAKEWORK(x,y),其中x是高字节,y是低字节;第二个参数(lpWSAData)是一个返回值,指向WSADATA结构的指针,WSAStartup函数用其加载的库版本有关的信息填写这个结构。
WSACleanup函数结束WS2_32.DLL的调用,再调用了WSAStartup函数之后,必须调用WSACleanup进行清理。
2.WSADATA结构
WSADATA结构的定义如下:
WSAStartup函数把WSAData结构中的第一个字段wVersion设置为使用的Winsock版本。
wHighVersion字段容纳的是现有的Winsoc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络 对抗 实验 210 11