20199136 2019-2020-2 《网络攻防实践》第四周作业

1.实践内容

网络嗅探

1.1 网络嗅探技术概述
网络嗅探,是监听流经本机网卡数据包的一种技术,嗅探器就是利用这种技术进行数据捕获和分析的软件。
编写嗅探器,捕获数据是前置功能,数据分析要建立在捕获的基础上。
以太网与WiFi是目前网络嗅探器主要监听对象
网络嗅探器按照实现形式可以分为软件嗅探器和硬件嗅探器

1.2 网络嗅探器的原理与实现
1.2.1 以太网卡工作模式
常用的以太网卡支持以下工作模式:广播模式、多播模式、直接模式和混杂模式。

广播模式(Broad Cast Model):它的物理地址(MAC)地址是 0Xffffff 的帧为广播帧,工作在广播模式的网卡接收广播帧。它将会接收所有目的地址为广播地址的数据包,一般所有的网卡都会设置为这个模式。
多播传送(MultiCast Model):多播传送地址作为目的物理地址的帧可以被组内的其它主机同时接收,而组外主机却接收不到。但是,如果将网卡设置为多播传送模式,它可以接收所有的多播传送帧,而不论它是不是组内成员。
直接模式(Direct Model):工作在直接模式下的网卡只接收目地址是自己 Mac地址的帧。只有当数据包的目的地址为网卡自己的地址时,网卡才接收它。
混杂模式(Promiscuous Model):工作在混杂模式下的网卡接收所有的流过网卡的帧,信包捕获程序就是在这种模式下运行的。网卡的缺省工作模式包含广播模式和直接模式,即它只接收广播帧和发给自己的帧。如果采用混杂模式,网卡将接受同一网络内所有主机发送的数据包。
利用网卡混杂模式的特性,就可以到达对于网络信息监听捕获的目的。

1.2.2 共享式网络与交换式网络中的嗅探
共享式网络主要使用集线器连接,而交互式网络主要使用交换机组建
集线器的工作模式决定了其中任一主机都能够嗅探整个集线器上的全部网络流量
交换式网络中数据帧只转发到目标主机的特定端口,减少了网络数据被嗅探的风险
网络嗅探攻击常用技术手段有以下三种:

MAC地址洪泛攻击:向交换机发送大量含有虚构MAC地址和IP地址的数据包,使交换机溢出,向所有端口广播数据包
MAC欺骗:攻击者将自己的MAC地址未造成目标主机的MAC地址
ARP欺骗:是目前交换式网络中最常用的一种嗅探技术
关于MAC地址欺骗,下面这篇博客通过举例讲解的非常清楚,可供参考。http://book.51cto.com/art/201003/191047.htm

1.2.3 类UNIX平台的网络嗅探技术实现
类UNIX平台的网络嗅探技术主要通过内核态的BPF和用户态的libpcap抓包工具库实现
类UNIX平台的BPF与libpcap所嗅探捕获的数据包将保存在pcap记录文件中,而pcap记录文件也成为了类UNIX平台上存储网络数据包的标准格式
1.2.4 Windows平台的网络嗅探实现技术
内核态的NPF和用户态的WinPcap

1.3 网络嗅探器软件
类UNIX平台网络嗅探器软件:libpcap抓包开发库、tcpdump、wireshark
Windows平台网络嗅探器软件:winpcap、windump、wireshark

1.4 网络嗅探的检测
在linux平台中,可以构造MAC地址无效而IP地址有效的ICMP Echo请求,看目标主机是否返回应答包,如果目标主机返回应答包,说明目标主机未检查MAC地址,处于混杂模式,正在执行嗅探
在Windows平台下,在混杂模式下,检查一个包是否为以太网广播包时,只要看MAC地址的前八位是否为0xff,基于该项特性可以实现针对Windows平台上网络嗅探的检测

1.5 网络嗅探的防范措施
采用安全的网络拓扑
用静态ARP或者MAC-端口映射表代替动态机制
重视网络数据传输的集中位置点的安全防范
避免使用明文传输口令或敏感信息的网络协议

网络协议分析

2.1 网络协议分析技术
网络协议分析的典型过程包括以下几个步骤:

网络嗅探得到原始二进制数据
对以太网数据帧进行结构分析,确定网络层协议类型
进一步对IP数据包进行分析,确定是TCP或者UDP协议
根据TCP或者UDP端口确定应用层协议
根据应用层协议对数据进行恢复整合,得到世纪传输的数据

2.2 网络协议分析工具wireshark
由于这个软件在上周有涉及到,所以在此就不再赘述了。这一部分见以前学姐的博客:http://www.cnblogs.com/1693wl/p/6613803.html

2.实践过程

2.1 tcpdump

任务:利用tcpdump对在本机上访问www.tianya.cn网站过程进行嗅探。在访问网站首页时,浏览器将访问多少个web服务器,IP地址是什么?

先确定虚拟机的IP,通过命令 tcpdump -n src “虚拟机IP” and tcp port 80 and "tcp[13] & 18 =2" ,然后打开网址www.tianya.cn,可得到监听结果。

由图可以看到,系统主要访问了

ip地址 对应地址
124.225.65.154 海南省海口市
218.77.130.200 海南省海口市
202.108.23.152 北京市
124.225.135.230 海南省三亚市
14.225.214.206 越南
72.21.202.25 美国弗吉尼亚阿什本 亚马逊云

2.2 动手实践Wireshark

任务:使用wireshark对在本机上以telnet方式登录BBS进行嗅探与协议分析。
1.BBS服务器的IP地址与端口
2.telnet协议是如何向服务器传送你输入的用户名及登录口令?
3.如何利用wireshark分析嗅探的数据包,并从中获取用户名及登录口令?

以下操作均在kali上完成:首先打开wireshark,然后进入复旦大学bbs

可以捕获到该bbs的IP地址为202.120.225.9,端口为23

telnet在传输数据时采用明文传输,因此可以通过tcp流看到用户名guest

2.3取证分析实践

人为构造的到一台蜜罐主机的5次不同类型的端口扫描
1.攻击主机的ip地址是什么
2.网络扫描的目标ip地址是什么
3.本次案例中使用了哪个扫描工具,如何确定
4.你所分析的日志文件中,攻击者使用了哪种扫描方法,扫描的目标端口是什么,并描述其工作原理。
5.蜜罐主机上哪些端口被发现是开放的
6.攻击主机的操作系统是什么

2.3.(1、2).用wireshark打开listen.pcap可以发现攻击机的ip是172.31.4.178,网络扫描的ip是172.31.4.188

2.3.3.通过snort扫描可以确定是进行的nmap攻击,nmap扫描前通过arp确定目标的mac地址

2.3.4.由于我们已经确定了这些扫描是由nmap所发起的,而nmap在发起端口扫描之前总是先通过Ping扫描和针对80端口的探测确定目标主机是否活跃。
通过过滤器搜索icmp,可以定位ICMP协议对应的Ping扫描,实现两次Ping扫描。
在数据包中存在大量SYN请求包,这是攻击机57738端口向目标主机进行的TCP SYN扫描,目的是用于扫描目标主机的端口是否活跃,如果活跃则目标主机会反馈一个SYN|ACK包,攻击机端口会立刻发送一个RST包关闭这个链接,目标端口不活跃则会反馈RST|ACK包,指令可能为nmap -sS -p XXX端口172.31.4.188

2.3.5.在蜜罐主机上发现那些端口是开放的?
tcp.flags.syn == 1 and tcp.flags.ack == 1可以过滤出SYN | ACK的数据包,即为目标主机反馈扫描机的端口活跃信息。
不过这里不明白该如何确定。

2.3.6.通过p0f /home/kali/listen.pcap可以查询到攻击主机的操作系统为linux 2.6.x

3.学习中遇到的问题及解决

  • 问题1:主机上的wireshark无法探测到telnet的相关数据
  • 问题1解决方案:转到kali机上重新操作,得到telnet的数据。应该是主机上的wireshrak没配置好
  • 问题2:在kali上下载的listen文件是只读文件,无法双击打开
  • 问题2解决方案:更改文件属性,从wireshark端口可打开
  • 问题3:snort配置时出现错误提示
  • 问题3解决方案:原因是没有写对文件路径

4.实践总结

这周的实践作业感觉对理论技术上的要求比较高。“分析日志文件”的那个小实践一直没搞明白,更别说弄清楚工作原理了,感觉对计算机或者网络协议方面的知识要求比较高,需要自己课后再多学习。

参考资料

posted @ 2020-03-23 16:34  考完了改名了  阅读(347)  评论(0编辑  收藏  举报