20212820 2021-2022-2 《网络攻防实践》第三周作业

1.实验内容

1.1 网络嗅探

  1. 网络嗅探概述

      网络嗅探技术是一种常用的窃听技术,利用计算机的网络接口截获并监听数据流中所包含的隐私信息。

  2. 网络嗅探的原理与实现

      以太网工作原理介绍:以太网通过使用CSMA/CD协议的共享通信信道进行消息传输。以太网中的数据以帧为单位,将上层的数据包装配上帧头和帧尾,通过MAC地址匹配数据包的目标。当网卡处于混杂模式下,能够接受一切通过它连接的以太网络的数据帧。

  3. 不同平台网络嗅探技术实现

      类UNIX平台下,用户态的libpcap与内核态的BPF和过滤机制进行配合,共同提供UNIX平台的网络嗅探接口;windows平台下,通过与libpcap相容的WinPcap进行抓取。

  4. 网络嗅探软件

      类Unix平台下的嗅探软件:libpcap、tcpdump、wireshark和dsniff、sniffit等等

    windows平台下的嗅探软件:wireshark、snifferPro等等

  5. 网络嗅探的检测

      可以通过探测网卡是否处于混杂模式来进行检测,或者通过构建MAC地址无效但是IP地址有效的ICMP Echo请求查看主机是否返回应答包从而测试网卡是否处于混杂状态。

  6. 网络嗅探的防范措施

      采用安全的网络拓扑,对网络进行合理分段;通过在重要的主机或网关上设置静态的ARP对应表,以及在交换机上设置静态的MAC-端口映射表,能够防止利用MAC地址欺骗、ARP欺骗等手段进行嗅探的手法;重视网络数据传输的集中位置点的安全防范;避免使用明文传输口令或敏感信息的网络协议。

1.2 网络协议分析

  1. 定义:对解惑的以二进制数字发送的数据包进行分析,得出该数据包使用的协议以及内容的技术。

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

  3. 网络协议分析工具:wireshark

2.实验过程

(1)动手实践tcpdump

  使用tcpdump开源软件对在本机上访问www.tianya.cn网站过程进行嗅探,回答问题:你在访问www.tianya.cn网站首页时,浏览器将访问多少个Web服务器?他们的IP地址都是什么?

  i.在kali虚拟机上终端输入tcpdump src (本机IP)192.168.11.24 and tcp dst port 80。然后打开火狐浏览器访问  www.tianya.cn。我们可发现tcpdump 嗅探到的数据包如下:

       

 由于空间有限,仅仅截图部分,他们的ip地址都是:

124.225.159.113 
124.225.214.206
124.225.206.22

(2)动手实践Wireshark

使用Wireshark开源软件对在本机上以TELNET方式登录BBS进行嗅探与协议分析,回答如下问题并给出操作过程:

  1. 你所登录的BBS服务器的IP地址与端口各是什么?
  2. TELNET协议是如何向服务器传送你输入的用户名及登录口令?
  3. 如何利用Wireshark分析嗅探的数据包,并从中获取你的用户名及登录口令?

  i.可以先将Wireshark打开,然后在终端中输入指令: luit -encoding gbk telnet bbs.fudan.edu.cn登录BBS。进入如下界面:

       

   ii.在Wireshark中,通过查询,可以获得BBS服务器的IP为202.120.225.9,端口为23。    

       

   iii.Telnet协议在传输用户名和密码时采用的时明文传输,我们通过追踪TCP流可以看到我们的用户名为guest。如下所示:

       

   iv.选择下方的对话从本机IP: 192.168.11.24到复旦大学BBS的IP: 202.120.225.9,可以发现用户名为guest,密码为空。如下所示:

       

(3)取证分析实践,解码网络扫描器(listen.cap)

  1. 攻击主机的IP地址是什么?

  2. 网络扫描的目标IP地址是什么?

  3. 本次案例中是使用了哪个扫描工具发起这些端口扫描?你是如何确定的?

  4. 你所分析的日志文件中,攻击者使用了那种扫描方法,扫描的目标端口是什么,并描述其工作原理。

  5. 在蜜罐主机上哪些端口被发现是开放的?

  6. 攻击主机的操作系统是什么?

  i.使用snort对二进制记录文件进行入侵检测。

  通过sudo apt-get install snort命令进行snort的安装;通过sudo chmod 777 /etc/snort/snort.conf给予snort.conf可读可写可执行权限;通过sudo snort -A console -q -u snort -c /etc/snort/snort.conf -r listen.pcap-A为开启报警模式,-q为不显示状态报告,-r为从.pcap格式文件中读取数据包)查询结果。

       

  通过snort的分析,我们可以得到攻击主机IP为172.31.4.178,网络扫描目标IP为172.31.4.188

  同时,我们还可以知道攻击形式为nmap扫描。

  ii.根据题意,使用Wireshark获取扫描类型和目标端口。

  在wireshark中筛选ARP。nmap每次探测主机活跃都是在广播域内广播arp request报文,而且每次扫描之前都会进行主机活跃探测。

  通过筛选,不难看出一共进行了4次nmap扫描,扫描的起点分别是5,7,2071和133220。其中第一次和第二次之间没有数据包,所以第一次作为ARP的单独扫描,也就是使用nmap -sp命令判断网段中活跃的主机。

  

   通过观察第二次扫描的末尾数据包。发现攻击机针对 ssh、 TCP 和 UDP 的1端口使用了大量构造的标志位,以触发不同的响应包。从而,判断这些流量是由其nmap -O 靶机IP触发,进行远程主机的操作系统探测。结果如下:

   

   接下来观察第三次扫描。第三次扫描的往返是13W数据包,估计扫描端口六万多。所以第三次扫描的参数应该是nmap -sS来人为指定扫描端口的数量。结果如下:

    

   使用命令tcp.port == 23(23为telnet端口)过滤文件数据。发现攻击机对靶机进行4次扫描过程。可以看出在第一二三次扫描都只是建立了连接就结束了,但在第四次扫描的时候出现了telnet连接;

  

  使用命令tcp.port == 22(22为ssh端口)可知第一二三次都是确定目标端口打开,第四次出现了ssh连接,此处是为了探知靶机的ssh软件版本。由此我们知道第三次和第四次对22端口的扫描实际上是一体的,第三次用来发现22端口是否打开,第四次探知22端口服务的软件版本。因此第四次扫描为nmap -sV,探测靶机上开放的网络服务。

  

   iii.使用命令tcp.flags.syn == 1 and tcp.flags.ack == 1进行过滤发现靶机上打开的端口为21、22、23、25、53、80、139、445、3306、5432、8009、8180。

  

   iv.然后确定操作系统,使用p0f -r listen.pcap对数据包进行分析,可以从中发现探测到的操作系统版本为Linux 2.6.x:结果如下:

  

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

问题1:安装snort失败

解决方案:多次尝试各种网络上的安装方法失败后,选择了重装系统大法,重装了最新版本的kali,再次折腾更新源安装snort成功。

4.学习感悟、思考

  通过一次次的实验,对于网络协议的分析、一些分析工具的使用我更加熟悉了,极大的锻炼了我的动手实验能力,收获很多,也让我把计算机网络的知识再次温习了。对于计算机网络的知识从课本变得更贴近现实了。

posted @ 2022-04-02 19:30  JIDIAN  阅读(209)  评论(0)    收藏  举报