20211902 毕鑫杰 2021-2022-2 《网络攻防实践》第五周作业

1.实验内容

1.1网络嗅探 

  • 网络嗅探定义:1.利用计算机网路接口截获目的地为其他计算机的数据报文,已监听数据流中所包含的用户账户密码或私密信息等。2.通常在攻击者获得内部网络中一台主机的访问权后实施,能够被动地、静默地嗅探网络L传输的数据, 并从中窃取机密估息。3.网络管理员可以利用网络嗅探来捕获与分析网络的流量信息,以便找出所关心网络中潜打的问题, 并加以解决。
  • 网络嗅探分类:1.网络嗅探技术可以按照所监听的链路层网络进行分类。 无线嗅探器与 “ 有线” 嗅探器唯一区别是无线嗅探器可以读取和分析符合如lEEE 802.11等无线传输协议的数据包。2.网络嗅探器也可以按照实现形式分为软件嗅探器和硬件嗅探器两种,硬件件嗅探器是通过专用硬件对网络数据进行捕获和分析的,速度快、捕获数据全面但是成本高,软件型则成本更低,但速度和全面性有所欠缺
  • 网络嗅探原理:1.以外网卡工作原理:网卡驱动程序支持一种混杂模式,处千该模式下的网卡能够接收一切通过它连接共享通信媒介的数据帧,而不管该数据帧是否是传给它的。而为了嗅探以太网上的流量,就需要将网卡设置为混杂模式。2.共享式网络与交换式网络:在共享网络中,集线器的工作模式使得同一集线器上连接的所有主机在发送数据包时,都会发往每一台主机,因此其中任一主机都能够嗅探整个集线器上的全部网络流量。2.交换式网:交换机根据映射表与数据包的目标MAC地址进行转发的,因此可以有效地避免网络广播风暴,减少网络数据被嗅探的风险。但还是可以通过一些手段进行嗅探:MAC地址洪泛攻击、MAC欺骗、ARP欺骗
  • 不同平台网络嗅探实现:1.类UNIX平台的网络嗅探技术主要通过内核态的BPF和用户态的libpcap抓包工具库实现。2.Windows橾作系统拥有一个与libpcap库相兼容的标准抓包接口WinPcap
  • 网络嗅探软件:1.类UNIX 平台上的网络嗅探器软件一般都是基千标准接口BPF与libpcap, 最常用的包括 libpcap 抓包开发库、tcpdump以及 wireshark嗅探器软件等。2.windows平台下的嗅探软件:wireshark、snifferPro等
  • 网络嗅探的检测与防范:1.网络嗅探的检测:在同一主机上,可以通过检查网卡是否运行在混杂模式下,来发现正在进行监听的嗅探器。此外,也可以基千混杂模式下操作系统和协议栈的不同特性,来检测出网络中其他主机上的嗅探器。2.网络嗅探的防范措施:①采用安全的网络拓扑。②用静态ARP或者MAC-端口映射表代替动态机制。③重视网络数据传输的集中位甡点的安全防范。④避免使用明文传输口令或敏感信息的网络协议,而使用加密及安全增强的网络协议进行替代。

1.2网络协议分析

  • 网络协议分析技术原理:网络协议分析是指对网络上传输的二进制格式数据包进行解析, 以恢复出各层网络协议伈息以及传输内容的技术方法。
  • 基本流程:得到链路层传输的二进制数据包->对以太网数据帧进行结构分析->进一步对IP数据包进行分析->继续根据TCP或UDP的目标端口确定具体的应用层协议->依据相应的应用层协议对数据进行整合恢复,得到实际传输的数据。

2.实验过程

(1)动手实践tcpdump

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

 

 

在kali虚拟机上终端输入tcpdump src 192.168.31.129 and tcp dst port 80,浏览器访问www.tianya.com   tcpdump嗅探到的数据包如下:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 可知:浏览器访问了如下服务器:

117.18.237.29来自澳大利亚
124.225.206.22来自海南省 电信
111.206.209.249来自北京市北京 联通
218.218.135.105来自日本神奈川 ODN
13.227.90.102来自阿根廷布宜诺斯艾利斯 亚马逊云
124.225.69.77来自海南省海口市 电信
218.77.130.160来自海南省海口市 电信
60.217.246.6来自山东省济南市 联通
124.225.65.170来自海南省海口市 电信
124.225.65.155来自海南省海口市 电信
124.225.159.113来自海南省儋州市 电信
211.88.112.61来自北京市北京 电信&联通
220.194.223.23来自河北省唐山市 联通

 

(2)动手实践Wireshark

  • 使用Wireshark开源软件对在本机上以TELNET方式登录BBS进行嗅探与协议分析,回答如下问题并给出操作过程:
  1. 你所登录的BBS服务器的IP地址与端口各是什么?
  2. TELNET协议是如何向服务器传送你输入的用户名及登录口令?
  3. 如何利用Wireshark分析嗅探的数据包,并从中获取你的用户名及登录口令?

 

1.打开KALI虚拟机终端,在命令行输入telnet bbs.fudan.edu.cn, 访问复旦大学bbs服务器。可见其ip地址为202.120.225.9

 

 

 

本地打开wireshark,并开启捕获

 

 

 

 

 

 

 选择eth0,双击打开

 

 

 1.游客登录

 

 

 

 

 

 

 在Wireshark抓包后,通过查询,可以获得BBS服务器的IP为202.120.225.9,端口为23。

 

 

 

通过追踪TCP流发现用户名guest。

 

 

 

2.注册账号rainrise登入

 

 

 

 打开wireshark,捕获对应登录数据包

获得账号信息:rainrise

 

 

 

 

 

 

......

 ......

 ......

 

 

 

 

 

 

 获得密码信息:1902bxj

 

 

 

 

 

 ......

 ......

 ......

 

 

 

 

  

 

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

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

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

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

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

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

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

 

 

通过老师给予的云班课资源下载listen.pcap

 

 

 

通过sudo apt update 更新apt,再通过sudo apt-get install snort安装snort工具。

 

 

 

 

 

 

 

 

 安装完毕,输入snort -A console -q -u snort -c /etc/snort/snot.conf -r /tmp/listen.pcap。其中/tmp/listen.pcap是指文件路径,火狐浏览器下载默认位置。

其中参数意义:

-A 设置报警模式 console 控制台

-q 安静模式,不显示标志和状态报告

-u 初始化后改变Snort的UID

-c 设置snort的配置文件

-r 指定pcap格式的文件

可以获取到攻击机IP 172.31.4.178;靶机IP 172.31.4.188;使用的工具:nmap

 

 

 

 

 

 

  打开listen.pcap

通过发送数据也可粗略判断攻击机IP地址为172.31.4.178,目标主机IP地址为172.31.4.188,与上文一致。

因为TCP在其协议头中使用大量的标志位或者说1位(bit)布尔域来控制连接状态

SYN - 创建一个连接
FIN - 终结一个连接
ACK - 确认接收到的数据

 

 

 

 

 

 

 一直是172.31.4.178在创建连接,172.31.4.188返回接受到的数据。

 

 

 

使用tcp.port == 57738 and tcp.flags.syn == 1 and tcp.flags.ack == 1指令,可获得开放端口的数据。

 

 

 通过arp筛选和字符串攻击机IP查找,确定攻击开始的标知

 

 

 可见第一次扫描和第二次扫描间没有数据包,第一次扫描是探测目标IP是否活跃,对应的指令为nmap -sP

 

 

 再看第二次扫描的末尾数据包,发现有大量的TCP协议、ICMP协议、UDP协议数据,并使用了大量构造的标志位,以触发不同的响应包,从而判断是对目标主机的操作系统的探测,对应的指令为nmap -O

 

 

 第三次扫描ARP后均是TCP协议数据包,并且数据量庞大,可以看到在数据包中存在大量SYN请求包,对每个端口扫描,对应的指令为== nmap -sS -p 1-65535

 

 

 第四次扫描ARP后有TCP协议数据包,还有HTTP、TELNET、SMB应用层协议数据包,这是为了探测靶机的网络服务,对应的指令为namp -sV

 

 

 在过滤器内输入tcp.flags.syn == 1 and tcp.flags.ack == 1,可以看到目标主机的开放端口有:21 22 23 25 53 80 139 445 3306 3632 5432 8009 8180

 

 

 在终端输入sudo apt-get install p0f安装p0f,输入p0f -r/tmp/listen.pcap进行探测。

 

 

 

 

 

 

 

可见版本是Linux 2.6.X。

 

 

 

 

 

 

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

 

 

问题:更改kali虚拟机hostname致虚拟机问题

解决:重装,左侧听取同学建议新建文件夹命名20211902BXJ作标识。

问题:在打开listen.pcap文件时,因为不熟悉Linux相关命令操作,p0f -r listen.pcap等命令无法执行

解决:通过向景小宇同学学习,结合自己文件位置,添加文件路径信息。

问题:无法安装snort工具。

解决:通过sudo apt update 更新apt,再通过sudo apt-get install snort安装snort工具。

四.学习感想和体会

对于Linux系统的操作不熟悉,好些一般性问题仍需去学习请教,也使作业过程很是跌宕不流畅。因为非科班专业,在计算机网络、网络安全等方面基础知识的缺乏也让我在实验的过程中,同步有了知识和应用双重的获得感。

posted @ 2022-04-03 22:59  再来人  阅读(91)  评论(0编辑  收藏  举报