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

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

一、实验内容

1.网络嗅探技术概述

  • 网络嗅探(Sniff),利用计算机的网络接口截获目的地为其他计算机的数据报文(二进制数据),以监听数据流中所包含的用户账户密码或私密信息。
  • 嗅探技术的危害与作用:一方面对于攻击者可以获得机密信息、底层网络协议信息,有助于中间人攻击。另一方面对于防御方利用网络嗅探找出关心网络中潜在的问题并解决。

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

  • 以太网工作原理介绍:以太网通过使用CSMA/CD协议的共享通信信道进行消息传输。以太网中的数据以帧为单位,将上层的数据包装配上帧头和帧尾,通过MAC地址匹配数据包的目标。当网卡处于混杂模式下,能够接受一切通过它连接的以太网络的数据帧。
  • 共享式网络和交换式网络:通过集线器进行连接的网络称为共享式网络,其网络拓扑呈总线的形式,这种连接方式导致同一集线器上的任一主机的数据包将发送到每一台主机;通过交换机连接的网络称之为交换式网络,在交换机中存在“MAC地址-端口映射表”,与交换机相连的任意主机的数据包将定向发送到特定的网卡。
  • 交换式网络中的网络嗅探技术:MAC地址洪泛攻击、MAC欺骗、ARP欺骗
  • 不同平台网络嗅探技术实现:
    类UNIX平台下,用户态的libpcap与内核态的BPF和过滤机制进行配合,共同提供UNIX平台的网络嗅探接口;
    windows平台下,通过与libpcap相容的WinPcap进行抓取。

3.网络协议分析技术

  • 网络协议分析技术
  1. 网络协议分析技术原理:对网络上传输的二进制格式数据包进行解析,以恢复出各层网络协议信息以及传输内容的技术方法。
  2. 网络协议分析技术的具体流程:通过嗅探得到链路层原始二进制数据包、对以太网帧进行结构分析、对IP数据包进行分析、确定具体的应用层协议、对数据进行整合恢复,得到实际传输数据。
  • 网络协议分析工具Wireshark
  1. 过滤源ip、目的ip:在wireshark的过滤规则框Filter中输入过滤条件。如查找目的地址为192.168.101.8的包,ip.dst192.168.101.8;查找源地址为ip.src1.1.1.1
  2. 端口过滤:如过滤80端口,在Filter中输入,tcp.port80,这条规则是把源端口和目的端口为80的都过滤出来。使用tcp.dstport80只过滤目的端口为80的,tcp.srcport==80只过滤源端口为80的包
  3. 协议过滤:比较简单,直接在Filter框中直接输入协议名即可,如过滤HTTP的协议
  4. http模式过滤:如过滤get包,http.request.method"GET",过滤post包,http.request.method"POST"
  5. 连接符and的使用:过滤两种条件时,使用and连接,如过滤ip为192.168.101.8并且为http协议的,ip.src==192.168.101.8 and http。

二、实验过程

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

用ifconfig查看ip:

直接启动tcpdump,将抓取所有经过第一个网络接口上的数据包:

使用sudo tcpdump src 192.168.200.2 and tcp dst port 80,访问天涯主页:

主要经过的Web服务器:221.182.218.238, 202.100.252.114, 124.225.214.214
用nslookup查询www.tianya.cn,核验:

2.动手实践Wireshark:

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

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

先打开Wireshark,然后在终端输入luit -encoding gbk telnet bbs.fudan.edu.cn进入复旦大学BBS论坛,输入guest:


利用Wireshark捕获,选择Protocol方式,捕获后可以看到地址为:202.120.225.9,端口为23

Telnet协议在传输用户名和密码时采用的时明文传输,点击分析,追踪TCP流,选择对话,可以看到嗅探的数据包用户名为guest,密码为空。

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

  • 攻击主机的IP地址是什么?
    172.31.4.178
  • 网络扫描的目标IP地址是什么?
    172.31.4.188
  • 本次案例中是使用了哪个扫描工具发起这些端口扫描?你是如何确定的?
    用snort分析listen.pcap可知扫描工具为nmap。

使用snort对二进制记录文件进行入侵检测,首先将listen.pcap放进kali里面:

安装snort,此时若安装不成,可以先更新一下:
sudo apt-get update
sudo apt-get install snort

运行指令
update-rc.d snort disable
chmod 777 /etc/snort/snort.conf
snort sudo snort -A console -q -u snort -c /etc/snort/snort.conf -r listen.pcap
通过snort可以看出是采用namp发起的扫描。

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

将listen.pacp文件移到kali里,用Wireshark打开该文件,我们可以看到攻击主机的IP为172.31.4.178,网络扫描的目标IP是172.31.4.188

搜索arp过滤,发现攻击机和靶机有4组数据包,故推测共进行了4次扫描。

搜索icmp过滤发现有数据包交互,说明进行了nmap -sP 172.31.4.188.

搜索tcp过滤有大量进行了TCP SYN扫描,攻击机向靶机发送带[SYN]标志的请求包,靶机返回一个[SYN/ACK]确认连接,主机再发送一个[RST]断开连接,表名该端口开放。故推测攻击机进行了nmap -sS 172.31.4.188 扫描。

参考常用端口号及对应服务,以53号端口进行过滤tcp.port==53,发现,除了建立TCP的半开连接,建立了dns连接,这是为了探测靶机的网络服务,猜测攻击机对靶机进行了-sV的版本扫描

对多路复用的1号端口进行过滤,发现建立了发送了大量的标志位,以触发大量响应包,进而可探测出靶机的操作系统。推测使用的nmap -o 进行操作系统探测。

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

在wireshark过滤器中输入tcp.flags.syn == 1 and tcp.flags.ack == 1,可以过滤出SYN | ACK的数据包,即为目标主机反馈扫描机的端口活跃信息。

得到开放的端口有:21 22 23 25 53 80 139 445 3306 5432 8009 8180

  • 攻击主机的操作系统是什么?
    首先在kali中输入apt-get install p0f 安装

使用p0f -r listen.pcap进行操作系统类型的探测(首先用sudo apt-get install p0f安装), 结果应该是Linux 2.6.X

三、学习中遇到的问题及解决

安装snort时,安装不成,显示为Unable to locate package
解决方法:无法找到包,正常情况下只需要更新源: sudo apt-get update

四、学习感悟、思考

在实验过程中应该善于思考,这次实验内容需要很多计算机网络方面的专业知识,否则很难去理解每一步的含义。

posted @ 2022-03-29 21:13  bzhuihui  阅读(115)  评论(0编辑  收藏  举报