20199118《网络攻防实践》第四周作业

学号:20199118《网络攻防实践》第四周作业

1.知识点梳理与总结

在第四章的课程中学习了 网络嗅探与协议分析的重要内容:

①网络嗅探基本介绍

网络嗅探利用计算机的网络接口截获目的地址为其他计算机的数据报文,以监听数据流中所包含的私密信息;实现网络嗅探技术的工具称为网络嗅探器;截获到的是经过封包的二进制数据,通常会结合网络协议分析技术来解析嗅探到的网络数据;网络嗅探是攻击者经常使用的内网渗透技术,通常在攻击者获得内部网络中的一台主机的访问权后实施;可以静默地、被动地嗅探网络上传输的数据;所以针对网络嗅探的检测与防范还是比较困难的,基本的检测防范方法如下:

  • 网络嗅探的检测:如检查网卡是否运行在混杂模式下。也可以通过操作系统和协议栈对混杂模式的香型不同来判断。

  • 网络嗅探的防范:采用安全的网络拓扑(交换式网络),用静态ARP代替动态,避免明文传输,重视网络集中节点的保护(路由器,交换机等)。

②网络嗅探原理及实现

以太网的工作原理:以太网是共享通信信道数据以帧为单位传输,以太网帧头中包括发送源的MAC地址与目标MAC地址。当站点需要发送数据时,通过协议栈进行TCP/IP封包,在数据链路层“装配”帧头与帧尾,发送至共享通信介质上。网卡驱动程序在正常模式下,只会接受目标MAC地址与自身MAC地址相匹配的数据帧。但是网卡的混杂模式将会接收一切通过它连接共享通信媒介的数据帧。

  • 共享式网络嗅探:使用集线器连接,集线器上任意一台主机都能够嗅探整个集线器上的全部网络流量。

  • 交互式网络嗅探:通过MAC地址映射表来发送数据。通常有三种方式实现嗅探:
    (1)MAC地址泛洪攻击:向交换机发送大量含有虚构MAC地址和IP地址的数据包,使映射表溢出无法处理,交换机进入类似集线器的工作方式。
    (2)MAC欺骗:通常用于突破基于MAC地址的局域网访问控制。
    (3)ARP欺骗:利用IP地址与MAC地址之间进行转换时的协议漏洞,达到MAC欺骗,这里推荐详细参考ARP欺骗窃听秘密及实现。

  • 类Unix网络嗅探技术实现:通过内核态的BPF和用户态的libpcap抓包工具库实现。BPF是数据链路层上的原始接口,提供原始链路层封包的收发功能。如果网卡处于混杂模式,将会收到网络上所有包。libpcap与内核态BPF包嗅探与过滤机制想配合,为类Unix平台上的应用程序提供标准的网络嗅探接口,网络数据包的标准格式为pcap。

  • Windows网络嗅探技术实现:Windows操作系统内核不提供标准的网络嗅探与抓包接口。NPF是一个内核态虚拟设备驱动程序,功能是过滤数据包,将数据包原封不动传给用户模块。WinPcap包括packet.dll和wpcap.dll两层模块的标准抓包接口。

③网络嗅探器软件

通常使用的网络嗅探器软件一般基于标准接口BPF和libpcap,最常用包括libcap抓包开发库、tcpdump以及wireshark嗅探器软件(类Unix平台和Windows平台)。

  • libpcap抓包开发库:libpcap开发的基本步骤是打开网络设备、设置过滤规则、捕获数据、关闭网络设备。
  • tcpdump:tcpdump是通用的命令行网络嗅探器与数据包分析协议。通过src 192.168.199.200 and tcp dst port 80可以查看源主机向外连接的HTTP网络流量的情况。通过tcpdump将监视第一个网络接口上所有流过的数据包。
  • Wireshark嗅探器软件:是一款开源数据包分析工具,主要作用是捕获网络数据包,对于数据包进行协议分析以尽可能显示详细的情况,并以更容易理解的格式呈现给用户。
④网络协议分析技术

网络嗅探截获的是通过封包过程组装的二进制格式原始报文内容,为了获取其包含信息,要根据TCP/IP协议栈的协议规范重新还原数据包在各个协议层上的协议格式及内容。目前主要的网络协议分析工具是wireshark。网络协议分析的典型过程包括以下几个步骤:

  • 网络嗅探得到的原始数据是在链路层传输的二进制数据包。
  • 对帧结构进行分析,得到帧头各字段结构,根据帧头字段确定网络层的协议类型,并提取包含网络层数据的内容。
  • 进一步对IP数据包进行分析,确定传输层协议类型,提取传输层数据内容。
  • 根据TCP或UDP目标端口确定确定具体的应用层协议,得到应用层特定协议的应用交互内容。
  • 依据相应应用层协议对数据进行整合恢复,得到实际传输数据。

2.实践过程

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

  • 将Kali-Linux虚拟机网络模式改变成桥接模式,使它能够连上网络。

  • 查询本机IP地址为192.168.31.149 打开Kali-Linux虚拟机终端 输入命令sudo tcpdump -n src 192.168.31.149 and tcp port 80 and "tcp[13] & 18 =2"

  • 在浏览器中打开网址《天涯论坛》

  • 监听结果进行分析

20199118《网络攻防实践》第四周作业_第1张图片
  • 观察发现,发现主要访问的Web服务器如下:
    99.86.84.76
    99.86.84.220
    99.86.84.65
    124.225.214.206
    99.86.84.97
    124.225.65.154
    202.108.23.152

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

  • 本地打开 Wireshark,并开启捕获。

  • 打开Kali-Linux虚拟机终端,并输入luit -encoding gbk telnet bbs.fudan.edu.cn(指定编码格式)访问复旦大学 BBS 服务器,们发现其IP地址为202.120.225.9

20199118《网络攻防实践》第四周作业_第2张图片 20199118《网络攻防实践》第四周作业_第3张图片
  • 通过Wireshark 发现其端口为23,通过追踪TCP流发现用户名guest。
20199118《网络攻防实践》第四周作业_第4张图片

实践三:取证分析实践:解码网络扫描
1.攻击主机的IP地址是什么?
2.网络扫描的目标IP地址是什么?
3.本次案例中是使用了哪个扫描工具发起这些端口扫描?你是如何确定的?
4.你所分析的日志文件中,攻击者使用了那种扫描方法,扫描的目标端口是什么,并描述其工作原理。
5.在蜜罐主机上哪些端口被发现是开放的?
6.攻击主机的操作系统是什么?

  • 下载云班课资源库里的listen.pacp文件,用Wireshark打开该文件,发现攻击机的IP为172.31.4.178 网络扫描的目标IP为172.31.4.188

  • sudo sucd 'Desktop'sudo apt-get install snort安装snortsudo chmod 777 /etc/snort/snort.conf给予snort.conf可读可写可执行权限→运行指令sudo snort -A console -q -u snort -c /etc/snort/snort.conf -r listen.pcap

  • 通过snort可以看出是采用namp发起的扫描

20199118《网络攻防实践》第四周作业_第5张图片
  • nmap每次探测主机活跃是在广播域内广播arp request报文,所以要在Wireshark中筛选ARP,我们可以从最前面的序号看到,找到了四次who has 172.31.4.188?tell172.31.4.178,从而判定四次扫描。
20199118《网络攻防实践》第四周作业_第6张图片
  • 使用p0f -r listen.pcap进行操作系统类型的探测 发现系统为 Linux 2.6X
20199118《网络攻防实践》第四周作业_第7张图片

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

  • 攻击机为kali 192.168.2237.129 靶机为Metasploitable2 172.16.8.128

  • 在Metasploitable2上运行tcpdump -i eth0 -w listen.pcap 监听

20199118《网络攻防实践》第四周作业_第8张图片
  • 在kali主机上用nmap进行攻击,包括-sP,-sV,-sS,-O攻击。
20199118《网络攻防实践》第四周作业_第9张图片
  • 在利用tcpdump -r listen.pcap查看和分析
20199118《网络攻防实践》第四周作业_第10张图片

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

  • 问题①:访问复旦大学 BBS 时出现乱码

  • 问题①的解决方案:下载汉化文件并且使用luit -encoding gbk telnet bbs.fudan.edu.cn(指定编码格式)命令《kali linux 中文出现乱码问题的解决》

  • 问题②:使用apt-get时出现这种情况:
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    E: Unable to locate package
    问题②的解决方案:通过万能的百度发现需要更新APT库《apt-get》

4.学习感悟、思考等

  • 加深了对网络攻防技术的认识,理论与实践相结合,提高了自己利用网络嗅探的能力。
  • 培养了实践学习的能力,对网络攻防的实际运用产生了极大的兴趣。

参考资料

  • 《网络攻防技术与实践》诸葛建伟 著

  • 《解建国同学博客》

  • 《窦山雀同学博客》

  • 在此特别感谢窦山雀同学在遇到困难问题时给予的帮助。

你可能感兴趣的:(20199118《网络攻防实践》第四周作业)