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

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


1、实践内容

网络嗅探

定义:

网络嗅探是一种窃听的技术,利用靶机的网络接口来截获报文。因为截获的报文时经过协议处理的,所以一般会和协议分析技术结合使用。嗅探技术可以按照链路层协议进行分类,最主要链路层协议肯定是以太网和Wi-Fi,两者间唯一的区别是无线嗅探技术可以分析无线传输协议。

工作原理:

  • 以太网:以太网上的信息传输是共享通信信道的,站点以广播的形式来发送数据。也即是说,对于信道上不是发送给自己的信息,计算机也是可以接受的。通常情况下,计算机会根据自己网卡的MAC地址来接收报文,如果报文中所包含的的MAC地址不是自己的就不会接受。但是在混杂模式下,网卡可以接受所有的他所连接的媒介所转发的信息。
  • 交换机:由于交换机为了必变关门风暴而录入了MAC和端口的映射关系表,所以在统一交换机下的两台主机不能直接获取本应发给对方的数据包。对此,采取的方法有:
    • 洪泛攻击:发送大量包含虚构MAC与IP的数据包,让交换机溢出无法处理,转为集线器模式
    • MAC欺骗:不断向交换机发送将源MAC改为监听目标MAC的数据包,让交换机误以为自己是靶机。
    • APR欺骗:利用MAC和IP之间转换的漏洞达到MAC欺骗的效果。

网络协议分析

定义:

对截获的以二进制数字发送的数据包进行分析,得出该数据包使用的协议以及内容的技术。

原理:

首先利用嗅探技术截获链路层数据包,然后逐步分析确定该数据包使用的网络层协议、传出层协议、应用层协议,最后解析获得传输的数据。

  • 首先通过嗅探得到链路层的数据包。
  • 对链路层截获的以太网数据帧进行解析,确定网络层协议。一般是IP协议。
  • 对于IP数据包进行分析。如果进行了分片,就将分片的多个数据包组合起来再分析。然后确定传输层的协议,一般为TCP或者UDP。
  • 根据TCP或者UDP的目标端口来确定应用层协议。
  • 通过应用层协议将数据包的内容进行恢复,最终得到想要的传输数据。

2、实践过程

tcpdump 使用tcpdump对在本机上访问www.tianya.cn网站过程进行嗅探,回答:在访问www.tianya.cn首页时,浏览了多少个ip服务器,地址都是多少

  • 我用tcpdump src来检测所有由主机发送的包,可以发现,先后访问了180.101.212.39 192.168.254.2 220.181.107.131 180.101.49.11 124.225.65.154
    20199103 2019-2020-2 《网络攻防实践》第4周作业_第1张图片

wireshark 使用wireshark对在本机上以telnet方式登录BBS进行嗅探与协议分析,回答(1)所登录的BBS服务器的IP与端口是什么(2)telnet如何向服务器传输登录名与用户口令(3)分析数据包,从中获得登陆口令

  • 首先在windows上启用telnet
    20199103 2019-2020-2 《网络攻防实践》第4周作业_第2张图片
  • 然后下载wireshark,并启动,开始嗅探。
  • telnet登录复旦大学的BBS
    20199103 2019-2020-2 《网络攻防实践》第4周作业_第3张图片
  • 从下图中,可以得到BBS的IP为202.120.225.9,端口是23
    20199103 2019-2020-2 《网络攻防实践》第4周作业_第4张图片
  • 然后选择分析TCP流,选择发送方和接收方,可以得到我用的用户名和登录口令,并且发现是直接明文传输的(都不加密一下吗)。
    20199103 2019-2020-2 《网络攻防实践》第4周作业_第5张图片
    20199103 2019-2020-2 《网络攻防实践》第4周作业_第6张图片

实践作业

取证分析实践

  • 将老师给的文件用wireshark打开。

  • 随意选取一个端口扫描,可以发现:攻击机的IP是172.31.4.178,网络扫描目标的IP是172.31.4.188.

  • 通过snort,可以发现由nmap发起的攻击。
    20199103 2019-2020-2 《网络攻防实践》第4周作业_第7张图片

  • 经过同学的指导,我知道了每次nmap扫描前都会使用arp来确定目标的MAC地址。所以我先将arp的包选出。然后找到了四次who has 172.31.4.188?tell172.31.4.178,从而判定四次扫描的起点:No、5,No、7,No、2071,No、133220
    20199103 2019-2020-2 《网络攻防实践》第4周作业_第8张图片

  • 我们可以从最前面的序号看到,在N0、5和N0、6之后,紧接着又是一次arp.可见,第一次扫描的目的仅仅是确认主机活跃,之后就啥事没干就开始下一个扫描。所用的命令应该是nmap -sP
    20199103 2019-2020-2 《网络攻防实践》第4周作业_第9张图片

  • 然后可以看见,第二三此扫描都是对端口进行半开的TCP SYN扫描。但是不同的是,第二次的扫描仅仅是从No、9到No、2070。第三次则是No、2073到No、133219,数量有着极大的差距。可见,第二次扫描并不是对所有的端口进行扫描。下面两个图分别是第二次扫描和第三次扫描之中的对端口的扫描,可以看出是TCP SYN半开扫描。
    20199103 2019-2020-2 《网络攻防实践》第4周作业_第10张图片
    20199103 2019-2020-2 《网络攻防实践》第4周作业_第11张图片

  • 因为第三次扫描数量极大,只有可能是nmap -sS来指定端口数量的SYN TCP扫描。

  • 第四次扫描则与之前不同,之前一直都是进行都是在进行端口半开扫描,扫完就直接关闭。但是这一次却建立了连接。以下面的端口23为例子
    20199103 2019-2020-2 《网络攻防实践》第4周作业_第12张图片

  • 忽略133220之前的前三次扫描可以看到,第四次扫描中,先是进行了一次半开扫描,确认端口开放之后就直接结束。但是在之后却又一次的发送SYN,不同的是,这次在接到ACK之后并没有恢复RST结束,而是回复了ACK建立了链接,之后建立了telnet。

  • 同理,在端口22,最后也可以看到最后建立了SSH连接。
    20199103 2019-2020-2 《网络攻防实践》第4周作业_第13张图片

  • 在上周的学习中,知道了网络服务扫描是依据端口的网络服务在实现应用层协议时的差别来判别网络服务。所以,最后一次扫描应该是对网络协议的nmap -sV扫描。

  • 现在最大的问题是第二次对部分端口进行的扫描是什么。在同学的帮助下。我确定了是对操作系统的扫描。nmap分辨不同的操作系统是通过操作系统在实现协议栈时的差异来判别的,此次扫描不是顺序扫描,选择了某种端口对照表的端口进行对照,所以猜测是nmap -O

  • 选择过滤tcp.flag.ack == 1 and tcp.flags.syn == 1来确定检测到的存活的端口,排列好顺序。因为是按照第一个数字排序,所以将139排列在了21前面。开放的端口有139 21 22 23 25 3306 445 53 5432 80 8009 818020199103 2019-2020-2 《网络攻防实践》第4周作业_第14张图片

攻防对抗实践 攻击方用nmap扫描,防守方用nmap嗅探,wireshark分析,并分析出攻击方的扫描目的以及nmap的命令

  • 在第一次中,我尝试用xp攻击kali,kali用tcpdump抓下文件
    20199103 2019-2020-2 《网络攻防实践》第4周作业_第15张图片
  • 在这次的扫描中有个很奇怪的现象,扫描出的所有的端口都是关闭的,可能kali有着防范措施。尽管如此,还是可以看出,攻击方使用了TCP扫描和UDP扫描。UDP扫描的icmp端口不可达报文回复可以看出使用的nmap -sU命令扫描,但是TCP扫描不能分辨出是nmap -sT还是-nmap -sS。(或许可以?但是靶机没有回复ACK,我也不知道靶机回复ACK之后攻击机是回复ACK建立连接还是回复RST直接关闭,所以按照书本知识我看不出来)。
    20199103 2019-2020-2 《网络攻防实践》第4周作业_第16张图片
    20199103 2019-2020-2 《网络攻防实践》第4周作业_第17张图片

3、学习中遇到的问题以及解决方法

  • 问题1:kali中文乱码问题,之前就有这个问题但是一直“摸黑”也能走,但是这周wireshark软件乱码所以我必须解决了。
  • 问题1解决方案:见参考资料。

4、实践总结

这一次作业和之前的不同。之前的作业即使不了解原理也能做得出来,这一次的“动手实践”还好,后面的“实践作业”需要人为的分析,对前面的扫描命令的原理需要彻底地掌握。


参考资料

  • tcpdump抓包并保存成cap文件
  • 2019kali中文乱码
  • Linux tcpdump命令详解

你可能感兴趣的:(20199103 2019-2020-2 《网络攻防实践》第4周作业)