2019-2020 -2 20199137 《网络攻防实践》第四次作业

本次作业属于那个课程 《网络攻防实践》
这个作业要求在哪里 第四次作业 网络嗅探与协议分析
作业正文 下述正文
其他参考文献 见文末

1.实践内容

网络嗅探

嗅探原理
嗅探器(Sniffer)最初是作为网络管理员检测网络通信的一种工具,它既可以是软件,又可以是一个硬件设备。软件 Sniffer应用方便,针对不同的操作系统平台都有多种不同的软件 Sniffer,而且很多都是免费的;硬件 Sniffer 通常被称作协议分析器,其价格一般都很高昂。 在局域网中,由于以太网的共享式特性决定了嗅探能够成功。因为以太网是基于广播方式传送数据的,所有的物理信号都会被传送到每一个主机节点,此外网卡可以被设置成混杂接收模式,这种模式下,无论监听到的数据帧目的地址如何,网卡都能予以接收。而 TCP/IP 协议栈中的应用。协议大多数明文在网络上传输,这些明文数据中,往往包含一些敏感信息(如密码、账号等),因此使用 Sniffer 可以悄无声息地监听到所有局域网内的数据通信,得到这些敏感信息。同时 Sniffer 的隐蔽性好,它只是“被动”接收数据,而不向外发送数据,所以在传输数据的过程中,根本无法觉察到有人监听。当然,Sniffer 的局限性是只能在局域网的冲突域中进行,或者是在点到点连接的中间节点上进行监听。在交换网络中,虽然避免了利用网卡混杂模式进行的嗅探。但交换机并不会解决所有的问题,在一个完全由交换机连接的局域网内,同样可以进行网络嗅探。主要有以下
三种可行的办法:MAC 洪水(MAC Flooding)、MAC 复制(MAC Duplicating)、ARP 欺骗,其中最常用的是 ARP 欺骗。

1.MAC 洪水

交换机要负责建立两个节点间的“虚电路”,就必须维护一个交换机端口与 MAC 地址的映射表,这个映射表是放在交换机内存中的,但由于内存数量的有限,地址映射表可以存储的映射表项也有限。如果恶意攻击者向交换机发送大量的虚假 MAC 地址数据,有些交换机在应接不暇的情况下,就会像一台普通的 Hub 那样只是简单地向所有端口广播数据,嗅探者就可以借机达到窃听的目的。当然,并不是所有交换机都采用这样的处理方式,况且,如果交换机使用静态地址映射表,这种方法就失灵了。

2.MAC 复制

MAC 复制实际上就是修改本地的 MAC 地址,使其与欲嗅探主机的 MAC 地址相同,这样,交换机将会发现,有两个端口对应相同的 MAC 地址,于是到该 MAC 地址的数据包将同时从这两个交换机端口发送出去。这种方法与后面将要提到的 ARP 欺骗有本质的不同,前者是欺骗交换机,后者是毒害主机的ARP 缓存而与交换机没有关系。 但是,只要简单设置交换机使用静态地址映射表,这种欺骗方式也就失效了。

3.ARP 欺骗

按照 ARP 协议的设计,为了减少网络上过多的 ARP 数据通信,一台主机,即使受到的 ARP 应答并非自己请求得到的,它也会将其插入到自己的 ARP 缓存表中,这样,就造成了“ARP 欺骗”的可能。如果黑客想探听同一网络中两台主机之间的通信,他会分别给这两台主机发送一个 ARP 应答包,让两台主机都“误”认为对方的 MAC 地址是第三方的黑客所在的主机,这样,双方看似“直接”的通信连接,实际上都是通过黑客所在的主机间接进行。黑客一方面得到了想要的通信内容,另一方面,只需要更改数据包中的一些信息,成功地做好转发工作即可。在这种嗅探方式中,黑客所在主机是不需要设置网卡的混杂模式的,因为通信双方的数据包在物理上都是发给黑客所在的中转主机的。

常见嗅探器

1. 网络嗅探软件:

1)类UNIX平台:libpcap抓包开发库、tcpdump以及wireshark嗅探器软件等。
2)windows平台:libpcap、tcpdump、wireshark。

网络嗅探检测与防护

网络嗅探检测:在同一主机上,可以通过检查网卡是否运行在混杂模式下,来发现正在监听的嗅探器。也可以基于混杂模式下操作系统和协议栈的不同特性,来检测出网络中其他主机上的嗅探器。
网络嗅探防护:
1)采用安全的网络拓扑,尽量将共享式网络升级为交换式网络,并通过交换机上设置vlan等技术手段,对网络进行合理的分段,从而尽量使得网络包只被转发到目的主机上。将网络分段工作进行的越细,网络嗅探能够收集到的信息就越少。
2)用静态ARP或者MAC-端口映射表代替动态机制,该措施主要是对渗透探测进行防范,通过在重要的主机或者网关上设置静态的ARP对应表,以及在交换机上设置静态的MAC-端口映射表,能够防止利用MAC地址欺骗、ARP欺骗等手段进行嗅探的手法。
3)重视网络数据传输的集中位置点的安全防范,如网关、路由器和交换机等,这些位置能够让网络嗅探发挥最大的网络数据捕获功效,成为攻击者的重要关注区域,因此也应该成为网络管理员的重要防范区域,以免在这些区域中存在网络嗅探攻击。
4)避免使用明文传输口令或敏感信息的网络协议,从而使用加密及安全增强的安全协议进行替代。

动手实践:tcpdump

使用tcpdump开源软件对在本机上访问www.tianya.cn网络过程进行嗅探,回答问题:你在访问www.tianya.com网站首页时,浏览器将访问多少个web服务器?他们的ip地址都是什么?
我们使用kali里自带的tcpdump进行网络嗅探,首先将我们的kali网络模式改变成桥接模式,使它能够连上网络。


可以看到系统访问了6个web服务器,ip地址分别为124.225.65.154、124.225.135.230、13.35.112.2、52.94.234.174、218.77.130.200、214.255.214.206
(不知道为什么大家都只访问了四个但我访问了六个。。。我们我的kali比较笨,需要多走几圈。。。)
我们再nslookup一下看看是否正确

验证正确

网络协议分析

由于TCP/IP协议是Internet的基础协议,所以对TCP/IP协议的完善和改进是非常必要的。TCP/IP协议从开始设计时候并没有考虑到 现在网络上如此多的威胁,由此导致了许多形形色色的攻击方法,一般针对协议原理的攻击(尤其是DDOS)我们无能为力。
现将TCP/IP攻击的常用原理介绍如下:
  (1) 源地址欺骗(Source Address Spoofing)、IP欺骗(IP Spoofing)和DNS欺骗(DNS Spoofing).其基本原理:是利用IP地址并不是出厂的时候与MAC固定在一起的,攻击者通过自封包和修改网络节点的IP地址,冒充某个可信节点的 IP地址,进行攻击。主要有三种手法:
  1. 瘫痪真正拥有IP的可信主机,伪装可信主机攻击服务器;
  2. 中间人攻击;
  3. DNS欺骗(DNS Spoofing)和“会话劫持”(Session Hijack);
  (2) 源路由选择欺骗(Source Routing Spoofing)。原理:利用IP数据包中的一个选项-IP Source Routing来指定路由,利用可信用户对服务器进行攻击,特别是基于UDP协议的由于其是面向非连接的,更容易被利用来攻击;
  (3) 路由选择信息协议攻击(RIP Attacks)。原理:攻击者在网上发布假的路由信息,再通过ICMP重定向来欺骗服务器路由器和主机,将正常的路由器标志为失效,从而达到攻击的目的。
  (4) TCP序列号欺骗和攻击(TCP Sequence Number Spoofing and Attack),基本有三种:
  1. 伪造TCP序列号,构造一个伪装的TCP封包,对网络上可信主机进行攻击;
  2. SYN攻击(SYN Attack)。这类攻击手法花样很多,蔚为大观。但是其原理基本一致,让TCP协议无法完成三次握手协议;
  3. Teardrop攻击(Teardrop Attack)和Land攻击(Land Attack)。原理:利用系统接收IP数据包,对数据包长度和偏移不严格的漏洞进行的。

动手实践:wireshark

使用Wireshark开源软件对在本机上以TELNET方式登录BBS进行嗅探与协议分析,回答如下问题并给出操作过程:
你所登录的BBS服务器的IP地址与端口各是什么?
TELNET协议是如何向服务器传送你输入的用户名及登录口令?
如何利用Wireshark分析嗅探的数据包,并从中获取你的用户名及登录口令?
首先下载wireshark,在官网,然后打开wireshark进行抓包,、
我们选择在主机上进行telnet,首先将telnet打开

然后访问bbs.fudan.edu.cn(或者可以访问北邮bbs.byr.cn,但北邮的如果注册的话需要进入网页,所以我还是选择复旦来访问哈哈)

我们可以看到ip地址为202.120.225.9 端口为23
进入之后注册用户名与密码,然后登录即可,我们可以看到已经进入bbs论坛。。。嗯。。。复旦的学生每天都在讨论些什么

回到wireshark界面,找到telnet进行分析,同样验证了登录bbs的ip地址为202.120.225.9

首先我们寻找用户名,我们首先寻找用户名,输入用户名之前telnet服务器会向我们发出login字符串:
然后可以看到data处显示了第一个用户名字母w

接着往下就是u

接着往下就是z

一直往下分析,就可以看到我设置的用户名为wuzhouming
在接着分析就可以看到我设置的密码,第一位是1

第二位是9

分析完就可以得出我们的密码是19970319
我们可以看到telnet是明文传输,是十分不安全的。
那么,telnet是如何传送用户名与密码的呢,我们可以看下telnet的登录过程。
使用Telnet协议进行远程登陆时需要满足以下条件:在本的计算机上必须装有包含Telnet协议的客户程序;必须知道远程主机的Ip地址或域名;必须知道登录标识与口令。
  Telnet远程登录服务分为以下4个过程:
  1)本地与远程主机建立连接。该过程实际上是建立一个TCP连接,用户必须知道远程主机的Ip地址或域名;
  2)将本地终端上输入的用户名和口令及以后输入的任何命令或字符以NVT(Net Virtual Terminal)格式 传送到远程主机。该过程实际上是从本地主机向远程主机发送一个IP数据包;
  3)将远程主机输出的NVT格式的数据转化为本地所接受的格式送回本地终端,包括输入命令回显和命令执行结果;
  4)最后,本地终端对远程主机进行撤消连接。该过程是撤销一个TCP连接。

实践作业

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

参考资料

tcpdump参数解析及使用详解
wireshark之抓telnet密码

猜你喜欢

转载自www.cnblogs.com/xiaoming319/p/12531666.html