网络嗅探与身份认证-实验二

网络嗅探与身份认证

实验目的

1、通过使用Wireshark软件掌握Sniffer(嗅探器)工具的使用方法,实现捕捉HTTP等协议的数据包,以理解TCP/IP协议中多种协议的数据结构、通过实验了解HTTP等协议明文传输的特性。

2、研究交换环境下的网络嗅探实现及防范方法,研究并利用ARP协议的安全漏洞,通过Arpspoof实现ARP欺骗以捕获内网其他用户数据。

3、能利用BrupSuite实现网站登录暴力破解获得登录密码。

4、能实现ZIP密码破解,理解安全密码的概念和设置。

系统环境:Kali Linux 2、Windows

网络环境:交换网络结构

实验工具:Arpspoof、WireShark、BurpSuite、fcrackzip(用于zip密码破解)。

实验内容、原理

网络嗅探

网络嗅探概述

嗅探(Sniffers)是一种网络流量数据分析的手段,常见于网络安全攻防技术使用,也有用于业务分析领域,本文主要介绍了嗅探的原理、常见的嗅探工具以及如何防范嗅探。

一、嗅探简介

嗅探(Sniffers)一般是指使用嗅探器对数据流的数据截获与分组分析。

任何工具均有两面性,网络管理员使用嗅探器可以随时掌握网络的真实情况,搜索网络漏洞和检测网络性能,当网络性能急剧下降的时候,可以通过嗅探器分析网络流量,找出网络阻塞的来源。

但是,黑客使用嗅探器可以攫取网络中的大量敏感信息,进行ARP欺骗手段,很多攻击方式都要涉及到arp欺骗,如会话劫持和ip欺骗。黑客使用Sniffer 可以很轻松截获在网上传送的用户账号、验证码、口令、身份证、银行卡号、等信息,冒充用户消费或套现。

二、嗅探的工作原理

嗅探(Sniffers)安装了嗅探器的计算机能够接收局域网中计算机发出的数据包,并对这些数据进行分析。以太网中是基于广播方式传送数据的,所有的物理信号都要经过主机节点。TCP/IP 协议栈中的应用协议大多数明文在网络上传输,明文数据可能会包含一些敏感信息(如账号、密码、银行卡号等)。使用嗅探工具后,计算机则能接收所有流经本地计算机的数据包,从而实现盗取敏感信息。由于嗅探器的隐蔽性好,只是被动接收数据,而不向外发送数据,所以在传输数据的过程中,难以觉察到有人监听。

如果网卡处于混杂(promiscuous)模式,那么它就可以捕获网络上所有的数据帧,处于对网络的“监听”状态,如果一台机器被配置成这样的方式,它(包括其软件)就是一个嗅探器。

ARP欺骗

高速缓存

每一个主机都有一个ARP高速缓存,用于记录最近一段时间内其它IP地址与其MAC地址的对应关系。如果本机想与某台主机通信,则首先在ARP高速缓存中查找此台主机的IP和MAC信息:

  • 如果存在,则直接利用此MAC地址构造以太帧。

  • 如果不存在,则向本网络上每一个主机广播一个ARP请求报文,得到其他主机的MAC地址,目的主机收到此请求包后,发送一个ARP响应报文,本机收到此响应后,把相关信息记录在ARP高速缓存中,然后进行构造以太帧。

ARP报文格式:
img
ARP协议的缺点

ARP它的诞生使得网络能够更加高效的运行,是建立在网络中各个主机互相信任的基础上的,故此本身也存在缺陷:

ARP地址转换表是依赖于高速缓存动态更新的,而高速缓存的更新是受到更新周期的限制的,只保存最近使用的地址的映射关系表项,这使得攻击者有了可乘之机,可以在高速缓冲存储器更新表项之前修改地址转换表,实现攻击。

ARP请求为广播形式发送的,网络上的主机可以自主发送ARP应答消息,并且当其他主机收到应答报文时不会检测该报文的真实性就将其记录在本地的MAC地址转换表,这样攻击者就可以向目标主机发送伪ARP应答报文,从而篡改本地的MAC地址表。ARP欺骗可以导致目标计算机与网关通信失败,更会导致通信重定向,所有的数据都会通过攻击者的机器,因此存在极大的安全隐患。

ARP 攻击

如果发送者硬件地址字段填入攻击者的硬件地址,而发送者IP地址填入被假冒者的IP地址,那么就构造出了一个用于欺骗的ARP请求报文。那么被欺骗主机的ARP高速缓存,被假冒者的IP地址与其MAC地址的对应关系就会更改为欺骗者的,从而达到ARP欺骗的目的。特别的,如果攻击者冒充网关,将转发子网内到外网的所有通信量,以达到捕获其他主机的通信量,从而破坏数据传输的保密性。

那么第三方主机可以构造一个ARP欺骗报文,而源主机却无法分辨真假。

黑客向对方计算机不断发送有欺诈性质的ARP数据包,数据包内包含有与当前设备重复的Mac地址,使对方在回应报文时,由于简单的地址重复错误而导致不能进行正常的网络通信,或者如果不及时处理,便会造成网络通道阻塞、网络设备的承载过重、网络的通讯质量不佳等情况。。

一般情况下,受到ARP攻击的计算机会出现两种现象:

  1. 不断弹出“本机的XXX段硬件地址与网络中的XXX段地址冲突”的对话框。
  2. 计算机不能正常上网,出现网络中断的症状。

因为这种攻击是利用ARP请求报文进行“欺骗”的,所以防火墙会误以为是正常的请求数据包,不予拦截。因此普通的防火墙很难抵挡这种攻击。

因为这种攻击是利用ARP请求报文进行“欺骗”的,所以防火墙会误以为是正常的请求数据包,不予拦截。因此普通的防火墙很难抵挡这种攻击。

密码安全

口令破解方法

口令破解主要有两种方法:

1.暴力破解

暴力破解是指把所有的数字、字母、包括特殊字符等等进行排列组合,把所有的组合尝试一遍来猜测这是不是用户正在使用的密码。虽然看起来比较笨拙,但是却是最有效的密码攻击的手段。但是破解的时间随着密码长度的增加和密码的组成类型复杂度的提高而快速上升。

2.字典攻击

字典攻击比暴力破解稍微智能一点,根据受害人的个人信息,比如昵称、别名、名字、生日邮箱等等,生成一个可能使用的密码的字典。字典跑完,攻击也就随之结束,所以字典攻击的效果取决于这个字典的精准程度。

实验过程

1、A主机上外网,B运行sinffer(Wireshark)选定只抓源为A的数据)。

实验网络拓扑图:

image-20211212124843050

两台主机应该在一个网关,并且都采用“Bridge connect”

1.1 写出以上过滤语句。

采用wireshark进行抓包

ip.addr==192.168.43.225

1.2 B是否能看到A和外网的通信(A刚输入的帐户和口令)?为什么?

不能,因为A输入的账号和口令是采用https加密协议后进行传输,B看到的只是密文。

2.1 为了捕获A到外网的数据,B实施ARP欺骗攻击,B将冒充该子网的什么实体?

B冒充子网的网关。

为了欺骗B,让B把报文全部发到A这里来。A需要冒充局域网中交换机的角色**(此时B为Win7主机)**。

我们要告诉B,我们是网关,由于ARP协议是基于不存在欺骗的特性,所以B会把A当做网关,向A发送相关信息。

2.2 写出arpspoof命令格式

既然B的请求给了A,那么B的请求得不到网关的回应,上不了网,这样实行ARP欺骗很容易被B发现异常,所以我们应该也让B在正常上网的情况下进行信息窃取。

A需要将B发发送的请求转接给网关:

echo 1 > /proc/sys/net/ipv4/ip_forward
arpspoof -i eth0 -t 被欺骗ip 伪装的网关ip
  • -i interface
  • eth0 网卡
  • -t target

2.3 B是否能看到A和外网的通信(A刚输入的帐户和口令)?

可以,因为在很多网址的登陆界面的账户密码都是明文传输的,所以可以采用抓包的形式看到。

2.4 在互联网上找到任意一个以明文方式传递用户帐号、密码的网站,截图Wireshark中显示的明文信息。

image-20211214105351201

3.FTP数据还原部分:利用WireShark打开实验实验数据data.pcapng。

3.1 FTP服务器的IP地址是多少?你是如何发现其为FTP服务器的?

采用FTP 过滤:

tcp.stream eq 1

ftp服务器开在21端口,我们只要看21端口对应的ip即可:

192.168.182.1为服务器

.1 不一定是网关,一般情况下将网关的ip设置为.1

image-20211123104935708

3.2客户端登录FTP服务器的账号和密码分别是什么?

应该是输入了两次账号密码,第一次错误,第二次正确

USER student
PASS sN46i5y

image-20211123102427603

3.3 客户端从FTP下载或查看了2个文件,一个为ZIP文件,一个为TXT文件,文件名分别是什么?提示:文件名有可能是中文。

image-20211123101954444

3.4 还原ZIP文件并打开(ZIP有解压密码,试图破解,提示:密码全为数字,并为6位)。截图破解过程。

FTP服务器为数据传输提供可靠保证,采用的是TCP传输。所以在TCP数据包里筛选查找,根据zip文件的文件头和文件尾快速的确认zip包的位置。

zip文件头504B0304

image-20211212132222556

保存文件并下载,打开需要密码。

暴力密码破解:设置六位数范围

image-20211123103353214

得到密码:123456

image-20211123103306818

3.5 TXT文件的内容是什么?

通过追踪TXT信息,可以文件内容如下

image-20211123105739646

网站密码破解部分

利用人们平时常用的词、句破译,如果说暴力破解是一个一个的尝试那么字典破译就是利用人们习惯用人名、地名或者常见的词语设置成密码的习惯进行破译。字典破译速度比暴力破译更快但是有时候密码设置中包含了没有字典库中的词句就无法破解出来了,因此有好的字典是关键。

以为目标网站,构造字典(wordlist),其中包含你的正确密码,利用burpsuite进行字典攻击,实施字典攻击,你是如何判断某个密码为破解得到的正确密码,截图。

4、MD5破解

MD5的作用

  1. 数据完整性校验
  2. 文件完整性校验 文件经过网络传输、拷贝或其他操作后,可以通过文件的md5值判断文件内容是否发生了改变。文件名改变、但文件内容不变时,文件的md5值会保持不变。md5是校验文件内容,与文件名是否相同无关;md5是逐位校验,所以文件越大,校验时间越长。 md5校验,可能极小概率出现不同的文件生成相同的校验和,比md5更安全的校验算法还有SHA*系列,如sha1sum/sha224sum/sha2…
  3. 密码保存 服务器不能明文保存密码,万一数据库被攻破损失很惨重,通常是保存经过md5之后的128位字节。当用户输入密码后,直接把用户的输入值经过md5加密,对比加密后的输出和服务器保存的128字节是否相同,以此来判断用户密码是否输入正确

SqlMap得到某数据库用户表信息,用户口令的MD5值为7282C5050CFE7DF5E09A33CA456B94AE

那么,口令的明文是什么?(提示:MD5值破解)

image-20211123104224307

5、John the Ripper的作用是什么?

John the Ripper免费的开源软件,是一个快速的密码破解工具,用于在已知密文的情况下尝试破解出明文的破解密码软件,支持目前大多数的加密算法,如DES、MD4、MD5等。

它支持多种不同类型的系统架构,包括Unix、Linux、Windows、DOS模式、BeOS和OpenVMS,主要目的是破解不够牢固的Unix/Linux系统密码。

除了在各种Unix系统上最常见的几种密码哈希类型之外,它还支持Windows LM散列,以及社区增强版本中的许多其他哈希和密码。它是一款开源软件。Kali中自带John。

可执行文件位置: /usr/sbin/john

密码字典所在目录:/usr/share/john/

John the Ripper支持字典破解方式和暴力破解方式。

思考问题:

1、 谈谈如何防止ARP攻击。

「防御措施」

  • 不要把网络安全信任关系建立在IP基础上或MAC基础上(RARP同样存在欺骗的问题),理想的关系应该建立在IP+MAC基础上。
  • 设置静态的MAC–>IP对应表,不要让主机刷新设定好的转换表。
  • 除非很有必要,否则停止使用ARP,将ARP做为永久条目保存在对应表中。
  • 使用ARP服务器。通过该服务器查找自己的ARP转换表来响应其他机器的ARP广播。确保这台ARP服务器不被黑。
  • 使用“proxy”代理IP的传输。
  • 使用硬件屏蔽主机。设置好路由,确保IP地址能到达合法的路径(静态配置路由ARP条目),注意,使用交换集线器和网桥无法阻止ARP欺骗。
  • 管理员定期用响应的IP包中获得一个RARP请求,然后检查ARP响应的真实性。
  • 管理员定期轮询,检查主机上的ARP缓存。
  • 使用防火墙连续监控网络。注意有使用SNMP的情况下,ARP的欺骗有可能导致陷阱包丢失。
  • 若感染ARP病毒,可以通过清空ARP缓存、指定ARP对应关系、添加路由信息、使用防病毒软件等方式解决。

2、 安全的密码(口令)应遵循的原则。

1.谐音混合法
可以利用数字的谐音或相似的字符来设计密码。例如生日为“19950824”则可以设置为“199wo82s”。

2.造句法
使用一句容易记住的句子。例如“吃葡萄不吐葡萄皮”则可以设置为“cptbtptp”。

3.6步密码设置法

  1. 第一步:密码不要过短,最好大于8位数
  2. 第二步:使用一句话的缩写作为基础密码例如“just for you”的缩写是“jfy”
  3. 第三步:加上数字可使基础密码更复杂密码增强为“2018jfy"
  4. 第四步:加上符号可进行强化密码增强为“2018jfy?”
  5. 第五步:使用大小写进一步强化密码增强为“2018Jfy?"
  6. 第六步:创建一个规则,在不同的网站使用不同的密码例如:新浪微博+密码则为“XLWB2018Jfy?”

3、 谈谈字典攻击中字典的重要性。

在破解密码或密钥时,逐一尝试用户自定义词典中的可能密码(单词或短语)的攻击方式。与暴力破解的区别是,暴力破解会逐一尝试所有可能的组合密码,而字典式攻击会使用一个预先定义好的单词列表(可能的密码)。

4、 实验小结

了解许多相关知识

  • 网络嗅探知识:arp欺骗

  • 密码安全

  • 常用wireshark搜索过滤:

    • 过滤源ip、目的ip。:

      • 目的ip:ip.dst==192.168.101.8;查找源地址为ip.src==1.1.1.1
    • 端口过滤:

      • tcp.port==80,这条规则是把源端口和目的端口为80的都过滤出来:
        • 使用tcp.dstport==80只过滤目的端口为80的
        • tcp.srcport==80只过滤源端口为80的包
    • 协议过滤:

      • http.request.method==“GET”
      • http.request.method==“POST”
    • 连接符and的使用

  • wireshark抓取数据流

  • 暴力破解密码

目的ip:ip.dst==192.168.101.8;查找源地址为ip.src==1.1.1.1

  • 端口过滤:

    • tcp.port==80,这条规则是把源端口和目的端口为80的都过滤出来:
      • 使用tcp.dstport==80只过滤目的端口为80的
      • tcp.srcport==80只过滤源端口为80的包
  • 协议过滤:

    • http.request.method==“GET”
    • http.request.method==“POST”
  • 连接符and的使用

  • wireshark抓取数据流

  • 暴力破解密码

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>