20199311 2019-2020-2《网络攻防实践》第4周做业

问题 回答
这个做业属于哪一个课程 https://edu.cnblogs.com/campus/besti/19attackdefense
这个做业的要求在哪里 https://edu.cnblogs.com/campus/besti/19attackdefense/homework/10518
我在这个课程的目标是 学习教材第四章,掌握网络嗅探的原理和步骤
这个做业在哪一个具体方面帮助我实现目标 相关知识点和实践任务

1. 实践内容

1.1 网络嗅探

  • 网络嗅探技术的定义:网络嗅探 (Sniff) 是一种黑客经常使用的窃听技术, 与传统的电话窃听在电话线路上对特定号码的通话内容进行监听相似, 网络嗅探利用计算机的网络接口截获目的地为其余计 算机的数据报文,以监听数据流中所包含的用户帐户密码或私密信息等。
  • 网络嗅探的做用:网络嗅探做为攻击者常用的内网渗透技术, 一般在攻击者得到内部网络中一台主机的访问权后实施, 可以被动地、 静默地嗅探网络中传输的数据,并从中窃取机密信息,包括各种用户名和口令、电子邮件正文及附件、网络打印的文档等,此外还能够用来嗅探 底层的网络协议信息,为发起进一步攻击收集信息。因为网络嗅探的被动性与非干扰性,使其具备很强的隐蔽性,每每让网络信息泄漏很难被发觉。

1.1.1 网络嗅探的原理

  • 以太网工做原理:以太网经过使用CSMA/CD协议的共享通讯信道进行消息传输。以太网中的数据以帧为单位,将上层的数据包装配上帧头和帧尾,经过MAC地址匹配数据包的目标。当网卡处于混杂模式下,可以接受一切经过它链接的以太网络的数据帧。
  • 共享式网络与交换式网络中的嗅探:在共享式网络中,当主机A向主机C发送数据包时,集线器先接收到数据,而后再把它所接收到的数据发送到全部接口,因此集线器上全部接口所连按 的主机上的网卡也能收到数据,如主机B网卡若是处于混杂模式,就能够嗅探到主机A到主机C的通讯数据包。 而在交换式网络中,交换机能够检查每个收到的数据帧,并对数据帧进行转发处理,在交换机内存中保存有 "MAC地址-端口映射表”,在转发数据帧时,只容许与目标MAC地址匹配成功的数据包经过交换机,并只发送到特定端口上。
  • 交换式网络的网络嗅探技术:MAC地址洪泛攻击、MAC欺骗、ARP欺骗
  • 类 UNIX 平台的网络嗅探技术实现:类 UNIX 平台的网络嗅探技术主要经过内核态的 BPF (Berkeley Packet Filter) 和用户态的 libpcap 抓包工具库实现,如图所示
    图片描述
  • Windows 平台的网络嗅探实现技术:Windows 橾做系统内核并不提供标准的网络嗅探与抓包接口,所以须要经过增长一个驱动程序或网络组件来访问内核网卡驱动中捕获的数据包,而目前最经常使用的是与类 UNIX 平台上的 BPF 模块兼容的 NPF (NetGroup Packet Filter)。
    图片描述
  • 网络嗅探软件:类Unix平台下的嗅探软件有libpcap、tcpdump、wireshark和dsniff、sniffit等等;windows平台下的嗅探软件有wireshark、snifferPro等等。

1.1.2 网络嗅探技术的检测与防范

  • 网络嗅探的检测:网络嗅探是一种被动的攻击手段,较为难以检测。在同一主机上,能够经过检查网卡是否运行在混杂模式下,来发现正在进行监听的嗅探器。 此外,也能够基于混杂模式下操做系统和协议栈的不一样特性,来检测出网络中其余主机上的嗅探器。
  • 网络嗅探的防范措施:
    1. 采用安全的网络拓扑, 尽可能将共享式网络升级为交换式网络, 并经过在交换机上设置 VLAN 等技术手段, 对网络进行合理的分段, 从而尽散使得网络包只被转发到目的主机上。
    2. 用静态ARP或者MAC-端口映射表代替动态机制
    3. 重视网络数据传输的集中位甡点的安全防范
    4. 避免使用明文传输口令或敏感信息的网络协议, 而使用加密及安全加强的网络协 议进行替代。

1.2 网络协议分析

网络协议分析是网络嗅探器进一步解析与理解捕获数据包必需的技术手段。如前所述, 网络嗅探截获的是在经过封包过程组装的二进制格式原始报文内容, 为了获取其中包含的 信息,就须要根据 TCP/IP 协议栈的协议规范,从新还原出数据包在各个协议层士的协议格 式及其容, 以及在应用层传输的实际数据。linux

1.2.1 网络协议分析技术

  • 网络协议分析技术原理:网络协议分析是指对网络上传输的二进制格式数据包进行解析,以恢复出各层网络协议信息以及传输内容的技术方法。
  • 网络协议技术分析步骤
  1. 首先网络嗅探获得的原始数据是在链路层传输的二进制数据包,大多数状况下是以太网数据帧
  2. 对以太网数据帧进行结构分析,定位出帧头各字段结构,根据帧头的Type字段确 定网络层协议类型,大多数状况下是 IP 协议 (0800), 并提取数据帧中包含的网络层数据内容
  3. 对IP数据包进行分析,若是设置了分片位,则进行IP分片重组,根据IP协议头中的Protocol字段,肯定传输层协议类型,一般状况下是TCP(6)或者UDP(17), 并提取1P数据包中的传输层数据内容
  4. 继续根据TCP或UDP的目标端口肯定具体的应用层协议,如http、ftp、telnet等协议数据包,并对TCP或者UDP数据包进行拼接重组,获得应用层特定协议的应用交互内容
  5. 依据相应的应用层协议对数据进行整合恢复,获得实际传输的数据
  • 网络协议分析技术实现:对TCP/IP协议栈中基本网络协议的分析技术实现比较简单,而且在开源的网络嗅探器软件如Tcpdump、W订eshark和Snort等都有相应的源码实现。

2. 实践过程

2.1 动手实践: tcpdump

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

在terminal运行命令sudo tcpdump src 192.168.200.3 and tcp dst port 80(src表示源,dst表示目的)
图片描述
一共访问6个服务器,通过的服务器的ip地址有windows

ip地址 位置
221.182.218.238 海南省海口市
221.182.218.229 海南省海口市
221.182.218.244 韩国釜山
221.182.218.151 海南省海口市
183.203.69.14 山西省太原市
117.18.237.29 澳大利亚
72.21.202.25 美国弗吉尼亚阿什本 亚马逊云

其中221.182.218.229是www.tianya.cn的ip地址
图片描述浏览器

2.2 动手实践: Wireshark

任务: 使用 Wireshark 开源软件对在本机上以 telne·t 方式登陆 BBS 进行嗅探与协议分析, 回答以下问题并给出操做过程:安全

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

我登录的是水木社区,用telnet bbs.newsmth.net链接社区论坛,同时经过wireshark抓捕网络包
图片描述
在搜索框中搜索telnet便可从数据包中筛选出Protocol为TELNET的数据包。
图片描述
由图可知,服务器的ip地址为120.92.121.76服务器

由捕获的数据包的详细信息可知,能够看到用户名和登陆口令是由本地一个字符一个字符的逐次明文传送到服务器,并由服务器返回确认信息。
图片描述
经过对捕获的数据包的数据流分析(分析—追踪流—TCP流),选定192.168.0.102 -> 120.92.212.16
能够查看到个人用户名和登录口令
图片描述
(话说这个竟然是明文传输.....也太危险了吧)网络

2.3 取证分析实践:解码网络扫描

案例分析挑战内容: 此次案例分析挑战是彻底为刚入门的安全分析师准备的,目标是分析由人为构造的到一台蜜罐主机的5次不一样类型端口扫描。须要指出的是,此次案例分析中的端口扫描流量并非从 “ 野外“ 捕获的,而是特地构造的,此次入门级的案例分析 挑战的目的彻底是为了提供学习和训练的机会。
网络入侵检测器-snort 捕获每次扫描的流噩并存入 tcpdump 格式二进制网络日志文件中。此次挑战的任务每组从这5次扫描的日志文件中随机选择两个,分析这两个文件,回答所列的问题,并撰写详细的实验分析报告。经过此次挑战,你可以学习到数据包抓取技术的使用方法,以及使用数据包解码工具 tcpdump 或 Wireshark 分析网络数据包的技能。
问题:ssh

  1. 攻击主机的 IP 地址是什么?
  2. 网络扫描的目标 IP 地址是什么?
  3. 本次案例中是使用了哪一个扫描工具发起这些端口扫描?你是如何肯定的?
  4. 你所分析的日志文件中,攻击者使用了哪一种扫描方法,扫描的目标端口是什么,并描述其工做原理。
  5. 在蜜罐主机上发现哪些端口是开放的?
  6. 额外奖励问题: 攻击主机的操做系统是什么?

下载老师在云班课上给出的文件listen.pcap,用wireshark打开待分析的二进制记录文件,使用菜单栏中统计下的Conversation,选择IPV4获得以下图:
图片描述
能够看到ip地址172.31.4.178172.31.4.188之间有大量的数据包交换,基本上能够肯定这两个ip就是攻击机和靶机的ip地址
又由双方交换的数据包的详细信息可知,172.31.4.178172.31.41.188发送带有SYN标志的消息,后者向前者返回带有SYN+ACK的数据包,前者又向后者返回带RST的数据包重置链接,这是一次TCP SYN扫描,而且目标主机端口开放,由此可知是172.31.4.178主动发起扫描,因此攻击主机的ip地址为172.31.4.178,目标主机的ip地址为172.31.41.188
图片描述
首先安装在kail上安装snort和websnort(安装方法见参考资料),执行sudo snort -A console -q -u snort -c /etc/snort/snort.conf -r ~/listen.pcap(console模式表示在屏幕上显示报警而不记录到文件;-q表示安静模式,不显示标志和状态报告;-u snort表示初始化后改变Snort的UID;-c表示使用配置文件snort.conf,这会使得snort进入IDS模式,并从snort.conf中读取运行的配置信息。),能够看到扫描主机经过nmap工具进行端口扫描
图片描述
固然也能够用websnort查看结果(看得更舒服一点),执行sudo websnort,浏览器打开localhost:8080
图片描述
咱们已经知道攻击主机的ip地址以及它所采用的扫描工具,经过nmap每次扫描以前,会经过arp协议获取目标的mac地址,输入过滤字段arp,能够看到攻击机(172.31.4.178)一共发起了四次arp请求,因此进行了四次扫描(5,6;7,8;2071,2072;133220,133221)
图片描述
又由第一次扫描(5,6)与第二次扫描(7,8)之间没有发送数据,能够肯定是第一次扫描仅仅是作了一次主机探测,所用参数-sP
能够看到第二次扫描交换的数据包大概有2000多个,主要针对 ssh、 TCP 和 UDP 的 1 端口,并使用了大量构造的标志位,以触发不一样的响应包,并尝试从响应包中识别目标主机的操做系统信息。这显然是攻击主机在进行对目标主机的操做系统的探测,由于主动探测方式就是从扫描主机向目标主机主动的发送一系列特殊定制的数据包,而后根据反馈数据包中的一些指纹信息识别目标主机操做系统类型,因此第二次扫描应该是攻击机主动探测目标主机的操做系统,所用参数为-O
图片描述
第三次扫描扫描的端口数将近有六万个,以3306端口为例,攻击方发起SYN请求包;若是端口开启,目标主机回应SYN ACK包,攻击方再发送RST包。所以能够知道此次扫描为半链接扫描,又由于nmap默认扫描端口数为1000,而这次扫描端口包括端口65535,因此猜想此次所用参数为-sS -p 1-65535,即对全部端口进行TCP SYN扫描
图片描述
图片描述
第四次扫描,以23号端口为例,23号端口提供提供远程登录(telnet)服务,而攻击机经过TCP三次握手与23号端口创建了链接,并交换了使用telnet协议的数据包,猜想是攻击机想要得到目标主机的端口上运行的服务以及版本,故这次扫描应该使用的参数为-sV
图片描述tcp

使用tcp.flags.syn == 1 and tcp.flags.ack == 1能够过滤出SYN | ACK的数据包,即为目标主机反馈扫描机的端口活跃信息。能够肯定21,22,23,25,53,80,139,445,3306,3632,5432,8009,8180这几个端口是活跃的。
图片描述工具

经过命令sudo p0f /home/wl/listen.pcap能够查看到攻击机的操做系统为linux 2.6.x
图片描述

2.4 攻防对抗实践

攻击方用 nmap 扫描(达到特定目的), 防守方用 tcpdump 嗅探, 用Wireshark 分析,并分析出攻击方的扫描目的以及每次使用的 nmap 命令。 撰写实验报告。

重点的分析过程参考上一个实验,这里只展示一些攻击过程
攻击主机的ip为192.168.200.4,目标主机ip为192.168.200.3
在目标主机上运行tcpdump -i eth0 -w listen.pcap进行监听,使用wireshark分析,攻击过程以下图
图片描述
将listen.pcap导入wireshark,以下图所示,使用arp过滤发现进行了四次扫描,因为四次攻击步骤与上一个实验相似,故再也不赘述,只展现过程
图片描述
nmap -sP 192.168.200.3
图片描述
nmap -O 192.168.200.3
图片描述
nmap -sS 192.168.200.3
图片描述
nmap -sV 192.168.200.3
图片描述

3. 学习中遇到的问题

  • 问题1:安装snort遇到问题
  • 问题1解决方案:经过学习snort安装教程,以及询问娄豪同窗安装成功了
  • 问题2:对日志文件的分析不明白
  • 问题2解决方案:经过学习网上的一些分析博客和资料,以及参考其它同窗的博客最终完成了实验

4. 实践总结

本次实验学习了网络嗅探的原理和方法,使用了wireshark,tcpdump和snort三个网络嗅探工具,初步了解了两个工具的使用方法,而且经过对日志文件进行分析,学习了一些分析的技巧,可是因为对一些网络协议和知识不了解,因此对分析过程还不能彻底明白,在往后的学习中要复习计算机网络的相关知识。

参考资料

网络攻防技术与实践
nmap经常使用命令
snort命令行参数
snort原理,搭建与应用
tcpdump用法详解
网络嗅探与协议分析
wireshark教程

相关文章
相关标签/搜索