第5章KaliLinux渗透测试实验 5.1 Wireshark简介 5.1 rsak的特点 1.Wiehr Wireshark是一个网络封包分析软件。网络封包分析软件的功能是捕获网络封包,并 尽可能显示出详细的网络封包信息。作为目前世界上最受欢迎的协议分析软件,Wireshark 可将捕获的各种协议的网络二进制数据流翻译为人们容易读懂和理解的文字和图表等形 式,极大地方便了对网络活动的监测分析和教学实验。它有十分丰富和强大的统计分析功 能,可在Windows、Linux和UNIX等系统上运行。Wireshark于1998年由美国GeraldCombs 开发,原名Ethereal,2006年5月改为Wireshark。目前世界各国有100多位网络专家和软 件人员共同参与此软件的升级、完善和维护。它大约每两三个月推出一个新的版本,目前的 最新版本号为3.1。它是一个开源代码的免费软件, 也可参与共同 4.任何人都可自由下载, 开发。 Wireshark可以十分方便、直观地应用于计算机网络原理和网络安全教学实验、网络日 常安全监测、网络性能参数测试、网络恶意代码捕获和分析、网络用户行为监测、黑客活动追 踪等。因此它在世界范围的网络管理、信息安全、软硬件开发以及大学的科研、实验和教学 工作中得到广泛的应用。Wireshark在日常应用中具有许多优点,无论是初学者还是数据 包分析专家,Wireshark都能通过丰富的功能满足其需要。 Wireshark的特点体现在以下6方面。 1.支持的协议 Wireshark在支持协议的数量方面是出类拔萃的,Wireshark提供了对超过1000种协 议的支持。这些协议既包括最基础的IP协议和DHCP协议,也包括高级的专用协议(例如 DNP3和BitTorent等)。由于Wireshark是在开源模式下开发的,因此每次更新都会增加 一些对新协议的支持。在特殊情况下,如果Wireshark不支持用户需要的协议,那么用户还 可以自己编写代码以提供相应的支持,并将代码提供给Wirshark的开发者,以便他们考虑 是否将之包含在以后的版本中。可以在Wireshark的项目网站上找到更多的相关信息。 2.用户友好度 Wireshark的界面是数据包嗅探工具中用户友好度比较高的。它基于图形用户界面并 提供了清晰的菜单栏和简明的布局。为了增强实用性,它还提供了针对不同协议的彩色高 亮显示以及通过图形展示原始数据细节等功能。与tcpdump等使用复杂命令行的数据包 嗅探工具相比,Wireshark的图用户化界面对于数据包分析初学者而言是十分方便的。 3.价格 由于Wireshark是开源的,因此它是免费的。Wireshark是遵循GPL协议发布的自由 软件,任何人无论出于私人目的还是商业目的都可以下载并且使用。虽然Wireshark是免 ·102· 费的,但是仍然会有一些人由于不了解这一点而付费“购买”它。如果在eBay搜索“数据包 嗅探”, 95美元的“ 出售Wireshark的“专业企业级许可 会发现会有很多人以39.跳楼价” 证”。显而易见,这些都是骗人的把戏。 4.软件支持 一个软件的成败取决于其后期支持的好坏。像Wireshark这样的自由软件很少提供类 似于商业软件的官方正式支持,它们主要依赖于开源项目社区的用户群提供帮助。 Wireshark社区是最活跃的开源项目社区之一。Wireshark网站上给出了很多软件帮助的 相关链接,包括在线文档、支持与开发维基条目和FAQ 。很多顶尖的开发者也加入并关注 Wireshark的邮件列表。河床技术(RiverbedTechnology)公司也提供对Wireshark的付费 支持。 5.源码访问 因为Wreshark是开源软件,所以用户可以在任何时间访问其源码。这对查找程序漏 洞、理解协议解释器的工作原理或上传自己的代码都有很大帮助。 6.支持的操作系统 Wireshark对主流的操作系统都提供了支持,其中包括Windows、MacOSX以及基于 Linux的系统。用户可以在Wireshark的主页上查询Wireshark支持的所有操作系统的 列表。 1.安装Wiehr 5.2 rsak Wireshark的安装过程极其简单,但在安装之前要确保计算机满足如下要求: ●32位或64位CPU 。 至少400MB可用内存(主要为了处理大流量文件) 。 ● ● 至少300MB的可用存储空间(不包括捕获的流量文件需要的存储空间)。 ● 支持混杂模式的网卡。 ●WinPcap或LibPcap。 WinPcap是Windows平台pcap数据包捕获软件包的应用程序接口(API)的实现。简 单来说,WinPcap能够通过操作系统捕捉原始数据包、应用过滤器,并能够让网卡切入或切 出混杂模式。 虽然可以单独下载并安装WinPcap,但最好使用Wireshark安装包中的WinPcap。这 个版本的WinPcap经过了测试,能够和Wireshark一起工作。 1.在Windows系统中安装Wireshark 在Windows中安装Wireshark的第一步就是在Wireshark的官方网站上找到下载页 面,并选择一个镜像站点下载最新版的安装包。 在下载好安装包之后,按照如下步骤安装Wireshark: (1)双击安装包中的EXE文件开始安装,在介绍界面上单击Next按钮。 (2)阅读许可证协议,如果接受此协议,单击IAgre 按钮。 (3)选择要安装的Wireshark组件,如图5-1所示,然后单击Next按钮。 (4)在AditionalTasks界面单击Next按钮。 (5)选择Wireshark的安装位置,然后单击Next按钮。 ·103· 图5-1 选择要安装的Wireshark 组件 nPcanstal Npcap0. (6)当弹出询问是否需要安装Wip的对话框时,确保I9986复选框 被选中,如图5-2所示,然后单击Instal 按钮开始安装。 图5-2 选中Install Npcap 0.9986 复选框 (7)Wireshark的安装过程进行了大约一半的时候,会开始安装WinPcap。在WinPcap ·104 · 介绍页面单击Next按钮之后,阅读许可证协议并单击IAgree按钮。 (8)选择是否安装USBPcap工具。USBPcap用于从USB设备中收集数据。完成必要 的选择后单击Next按钮。 (9)WinPcap和USBPcap安装完成后,单击Finish按钮。 (10)Wireshark安装完成后,单击Finish按钮。 (11)在安装完成确认界面中单击Finish按钮。 2.在Linux系统中安装Wireshark Wireshark可以在大部分Linux系统中运行。可以通过Linux系统包管理器下载并安 装适合用户当前系统的Wireshark版本。这里只介绍在几个常见的Linux系统中安装 Wireshark的步骤。 一般来说,如果作为系统软件安装,安装者需要具有root权限;而如果通过编译源代码 使之成为本地软件,通常就不需要root权限了。 1)在使用RPM 的Linux系统中安装Wireshark 对于类似红帽Linux(RedHatLinux)等使用RPM 的Linux系统,很可能系统默认安装 了Yum包管理器。如果是这样,可以从Linux系统软件源中获取并快速安装Wireshark。此 时,打开控制台窗口,并输入以下命令: sudo yum install Wireshark 如果需要依赖组件,可以根据提示安装它们。如果一切顺利,就可以使用命令行启动 Wireshark并通过图形界面来操作它。 2)在使用DEB的Linux中系统安装Wireshark 对于类似于Debian和Ubuntu等使用DEB的Linux系统,可以使用APT包管理器安 装Wireshark。要从Linux系统软件源中安装Wireshark。此时,打开控制台窗口并输入如 下命令: sudo apt-get install Wireshark Wireshark-qt 如果需要依赖组件,那么可以根据提示安装它们。 3)使用源代码编译 因为操作系统架构和Wireshark功能的改变,所以从源代码安装Wireshark的方法可 能也会随之变化,这也是建议从系统包管理器安装Wireshark的一个原因。然而,如果用户 的Linux系统没有自动安装包管理器,那么安装Wireshark的一种高效的方法就是使用源 代码编译。下面给出这种安装方法。 (1)从Wireshark网站下载源代码包。 (2)输入下面的命令将压缩包解压: tar -jxvf 源代码包括名.tar.bz2 (3)在安装和设置Wireshark之前,可能需要安装一些依赖组件。例如,Ubuntu14.04 需要一些额外的软件包才能让Wireshark工作。这些依赖组件可以用以下的命令安装(可 能需要root权限): sudo apt-get install pkg-config bison flex qt5-default libgtk-3-dev libpcap-dev ·105· qttools5-dev-tools (4)进入源代码包解压缩后创建的文件夹。 (5)root权限的用户使用jconfigure命令配置源代码,以便它能正常编译。如果不使用 默认的设置,那么可以在这时指定安装选项。如果缺少相关软件支持,用户会得到相关错误 信息;如果安装成功了,用户会得到安装成功提示。 (6)输入make命令,将源代码编译成二进制文件。 (7)输入sudomakeinstall命令完成最后的安装。 (8)输入sudo/sbin/ldconfig命令结束安装。 3.在MacOS Ⅹ系统中安装Wireshark 在MacOSⅩ系统中安装Wireshark的步骤如下: (1)从Wireshark网站下载针对MacOSⅩ系统的软件包。 (2)运行安装程序,阅读并接受许可证协议。 (3)按照安装向导的提示完成安装。 5.1.3 Wireshark入门 1.主窗口 Wireshark的主窗口将捕获的数据包拆分并以更容易使人理解的方式呈现。也是用户 花费时间较多的地方。Wireshark的主窗口如图5-3所示。 图5-3 Wireshark 的主窗口 Wireshark主窗口有3个面板。下面介绍每个面板的内容。 (1)数据包列表(packetlist)面板。这个面板用列表显示当前捕获文件中的所有数据 包,其中包括数据包序号、数据包被捕获时的相对时间、数据包的源地址和目的地址、数据包 的协议以及在数据包中找到的概况信息等。 ·106· (2)数据包细节(packetdetails)面板。这个面板分层次显示了一个数据包中的内容, 并且可以通过展开或收缩来显示从这个数据包中捕获的全部内容。 (3)数据包字节(packetbytes)面板。这个面板可能是最令人困惑的,因为它显示了一 个数据包未经处理的原始状态,也就是其在链路上传播时的样子。这些原始数据看上去不 容易理解。 2. 首选项 Wireshark提供了一些首选项设定,可以让用户根据需要进行定制。如果需要设定 Wireshark首选项,那么需要在主菜单中选择“编辑”→“首选项”命令,然后便可以看到“首 选项”对话框,里面有一些可以设置的选项,如图5-4所示。 图5-4 “Wireshark·首选项”对话框 Wireshark首选项分9部分,下面介绍其中的7部分。 (1)NameResolutions(名称解析)。通过其中的选项设置,可以开启Wireshark将地址 (包括MAC 地址等)解析成更容易分辨的名字的功能,并且可以设置并发处理名称解析请 求的最大数目。 (2)Protocols(协议)。其中的选项可以调整关于捕捉和显示各种Wireshark解码数据 包的功能。虽然并不是针对每一个协议都可以进行调整,但是有一些协议的选项可以更改。 除非用户有特殊的原因修改这些选项,否则最好保持它们的默认值。 (3)Statistics(统计)。其中提供了Wireshark统计功能的选项。 (4)外观。其中的选项决定了Wireshark将如何显示数据。用户可以根据个人喜好对 大多数选项进行调整,例如是否保存窗口位置、3个主要窗口的布局、滚动条的摆放、数据包 列表面板中列的摆放、显示捕获数据的字体、前景色和背景色等。 (5)捕获。其中选项可以对捕获数据包的方式进行设置,例如默认使用的设备、是否默 认使用混杂模式、是否实时更新数据包列表面板等。 (6)过滤器按钮。其中的选项用于生成和管理过滤器。 ·107· (7)高级。在以上 6 部分中不包括的设置会被归入这里。通常这些设置只有 Wireshark的高级用户才会修改。 3. 数据包彩色高亮显示 数据包列表面板中用不同颜色显示数据包,如图5-5所示。看上去这些颜色是随机分 配给每一个数据包的,但其实并不是这样的。 图5-5 数据包彩色高亮显示 每一个数据包的颜色都是有依据的,不同颜色对应数据包使用的不同协议。例如,所有 DNS 数据包都是蓝色的,而所有HTTP 数据包都是绿色的。将数据包以彩色高亮形式显 示,可以让用户迅速将不同协议的数据包分开,而不需要查看每个数据包的Protocol(协议) 列。在浏览较大的捕获文件时,这样可以节省很多时间。 如图5-6所示,可以在“着色规则”对话框中查看每个协议对应的颜色。在主菜单中选 择“视图”→“着色规则”命令,即可打开这个对话框。 图5-6 “Wireshark·着色规则Default”对话框 用户可以创建自己的着色规则,也可以修改已有的着色规则。 在使用Wireshark时,有可能处理某个协议的工作比较多。这时,对着色规则进行相应 的修改能让工作更加方便。例如,如果网络中有一个恶意的DHCP 服务器在分发IP 地址 , ·108 · 那么可以修改DHCP 的着色规则,使其呈现明黄色(或者其他易于辨识的颜色), 这样就可 以更快地找出所有DHCP 数据包,使数据包分析工作效率更高。还可以通过用户自定义的 过滤器创建新的着色规则,以扩展着色规则。 5.渗透测试实验 2 实验器材 PC(Linux/Windows10)1台。 预习要求 做好实验预习,掌握数据还原内容。 熟悉实验过程和基本操作流程。 撰写预习报告。 实验任务 通过本实验,掌握以下技能: (1)利用nc、ncat建立网络连接通道,进行信息传递。 (2)利用Wireshark捕获并分析数据。 (3)利用ncat进行SSL 加密传输。 实验环境 在VMware中安装两个KaliLinux虚拟机,分别作为服务器和客户机。安装nc、ncat、 Wireshark工具(KaliLinux默认已安装这些工具)。 预备知识 了解VMware、KaliLinux、nc、ncat、Wireshark的安装以及使用方法。 实验步骤 本实验主要在两台虚拟机上用nc建立网络连接通道并进行信息传递,然后用 Wireshark捕获数据包。开始实验之前,需要对两台虚拟机进行网络设置,将两台虚拟机的 “网络连接” 仅主机模式”一台定义为服务器(168.131), 选项设置为“ , 192.241.另一台定义为 客户机(192.241.如图5-7所示。 168.130), 用nc建立网络连接通道。在服务器上打开一个接口。例如,打开333 号端口进行通信 的命令为nc-lp333-cbash,如图5-8所示。 在客户机上打开Wireshark并选择用于捕获数据包的网卡,然后开始捕获数据包,如 图5-9所示。 打开客户机的终端,输入n168.131333 命令,连接服务器的333 号端口 并进行通信,如图5-10 所示。 cat-nv192.241. ·109· 图5-7 “虚拟机设置”对话框 图5-8 打开333 号端口 ·110 · 图5-9 选择用于捕获数据包的网卡 图5-10 连接服务器的333 号端口并进行通信 查看Wireshark捕获的数据包并进行分析:首先是ARP 协议,ARP 用来查看对方的 MAC 地址(ARP 解析); 有了MAC 地址,接下来组装二层包头;然后建立TCP 连接(三次 ·111·