「白帽子学习笔记」网络嗅探与身份验证
@一个在写实验报告的人,/(ㄒoㄒ)/~~
0x01 网络嗅探相关概念
1x01 网络嗅探概述
Sniffer(嗅探器)工作在OSI模型的第二层,利用计算机的网卡截获网络数据报文的一种工具,可用来监听网络中的数据,分析网络的流量,以便找出所关心的网络中潜在的问题。例如,假设网络的某一段运行得不是很好,报文的发送比较慢,而我们又不知道问题出在什么地方,此时就可以用嗅探器确定不同网络协议、不同用户的通信流量,相互主机的报文传送间隔时间等,这些信息为管理员判断网络问题、管理网络区域提供了非常宝贵的信息。
在正常情况下,一个合法的网络接口应该只响应这样的两种数据帧:
- 帧的目标区域具有和本地网络接口相匹配的硬件地址;
- 帧的目标区域具有“广播地址”。
如果网卡处于混杂(promiscuous)模式,那么它就可以捕获网络上所有的数据帧,处于对网络的“监听”状态,如果一台机器被配置成这样的方式,它(包括其软件)就是一个嗅探器。
在交换型以太网中,上述条件2是不满足的。所有的主机连接到SWITCH,SWITCH比HUB更聪明,它知道每台计算机的MAC地址信息和与之相连的特定端口,发给某个主机的数据包会被SWITCH从特定的端口送出,而不是象HUB那样,广播给网络上所有的机器。这种传输形式使交换型以太网的性能大大提高,同时还有一个附加的作用:使传统的嗅探器无法工作。
交换型网络环境嗅探的核心问题是:如何使本不应到达的数据包到达本地。通常的方法有MAC洪水包和ARP欺骗。其中MAC洪水包是向交换机发送大量含有虚构MAC地址和IP地址的IP包,使交换机无法处理如此多的信息,致使交换机就进入了所谓的"打开失效"模式,也就是开始了类似于集线器的工作方式,向网络上所有的机器广播数据包。
1x02 ARP欺骗
每一个主机都有一个ARP高速缓存,此缓存中记录了最近一段时间内其它IP地址与其MAC地址的对应关系。如果本机想与某台主机通信,则首先在ARP高速缓存中查找此台主机的IP和MAC信息,如果存在,则直接利用此MAC地址构造以太帧;如果不存在,则向本网络上每一个主机广播一个ARP请求报文,其意义是"如果你有此IP地址,请告诉我你的MAC地址",目的主机收到此请求包后,发送一个ARP响应报文,本机收到此响应后,把相关信息记录在ARP高速缓存中,以下的步骤同上。
ARP报文格式:
可以看出,ARP协议是有缺点的,第三方主机可以构造一个ARP欺骗报文,而源主机却无法分辨真假。如果发送者硬件地址字段填入攻击者的硬件地址,而发送者IP地址填入被假冒者的IP地址,那么就构造出了一个用于欺骗的ARP请求报文。那么被欺骗主机的ARP高速缓存,被假冒者的IP地址与其MAC地址的对应关系就会更改为欺骗者的,从而达到ARP欺骗的目的。特别的,如果攻击者冒充网关,将转发子网内到外网的所有通信量,以达到捕获其他主机的通信量,从而破坏数据传输的保密性。
1x03 密码安全
在现实网络中,攻击事件发生的频率越来越高,其中相当多的都是由于网站密码泄露的缘故,或是人为因素导致,或是口令遭到破解,所以从某种角度而言,密码的安全问题不仅仅是技术上的问题,更主要的是人的安全意识问题。
- 口令破解方法
口令破解主要有两种方法:字典破解和暴力破解。
字典破解是指通过破解者对管理员的了解,猜测其可能使用某些信息作为密码,例如其姓名、生日、电话号码等,同时结合对密码长度的猜测,利用工具来生成密码破解字典。如果相关信息设置准确,字典破解的成功率很高,并且其速度快,因此字典破解是密码破解的首选。
而暴力破解是指对密码可能使用的字符和长度进行设定后(例如限定为所有英文字母和所有数字,长度不超过8),对所有可能的密码组合逐个实验。随着可能字符和可能长度的增加,存在的密码组合数量也会变得非常庞大,因此暴力破解往往需要花费很长的时间,尤其是在密码长度大于10,并且包含各种字符(英文字母、数字和标点符号)的情况下。 - 口令破解方式
口令破解主要有两种方式:离线破解和在线破解。
离线破解攻击者得到目标主机存放密码的文件后,就可以脱离目标主机,在其他计算机上通过口令破解程序穷举各种可能的口令,如果计算出的新密码与密码文件存放的密码相同,则口令已被破解。 - 候选口令产生器
候选口令产生器的作用是不断生成可能的口令。有几种方法产生候选口令,一种是用枚举法来构造候选口令(暴力破解),另一种方法是从一个字典文件里读取候选口令(字典破解)。 - 口令加密
口令加密过程就是用加密算法对从口令候选器送来的候选口令进行加密运算而得到密码。这要求加密算法要采用和目标主机一致的加密算法。加密算法有很多种,通常与操作系统或应用程序的类型和版本相关。
Burp Suite是一个用于测试Web应用程序安全性的图形工具。该工具使用Java编写,由PortSwigger Security开发。该工具有两个版本。可免费下载的免费版(免费版)和试用期后可购买的完整版(专业版)。免费版本功能显着降低。它的开发旨在为Web应用程序安全检查提供全面的解决方案,Burp Suite是进行Web应用安全测试集成平台。它将各种安全工具无缝地融合在一起,以支持整个测试过程中,从最初的映射和应用程序的攻击面分析,到发现和利用安全漏洞。
0x02 网络嗅探部分
1x01 sinffer(Wireshark抓包)
A主机上外网,B运行sinffer(Wireshark)选定只抓源为A的数据)。
我们选择Metasploit2主机作为A,Kali作为B。首先我们需要确认kali和Windows处于同一网段(可相互ping通的状态)。(PS:这一步是使用的Metasploit2,后面因为需要到网页里面提交数据就换成了win7)
接下来在kali中打开Wireshark,如果想要抓源只为A的数据,那么过滤语句为:
ip.src == 10.34.80.4
接下来我们使用A去ping B观察一下wireshark的反应。
但是如果A ping的是百度,或者往某一个网址发送包含账号和密码的HTTP报文。就可以获取相应信息。
1x02 ARP欺骗
关于ARP的原理已经攻击原理我在以前的一篇博客中有写到:
【白帽子学习笔记20】arp协议原理与攻击应用
为了欺骗B,让B把报文全部发到A这里来。A需要冒充局域网中交换机的角色。(此时B为Win7主机)
这一步我们需要使用一个工具就是arpspoof。在安装这个包的过程中可能会遇到一些坑。下面记录一下我遇到的一些问题。
- 建议更换kali源,否则有可能出现找不到的情况
- 安装过程使用
sudo apt-get install dsniff
而不是直接install arpspoof
这里我们使用单向攻击:
受攻击主机将数据发送到攻击主机,并由攻击主机转发至网关,网关将数据发送至服务器,服务器返回数据给网关,网关返回数据给受攻击主机
步骤如下:
-
开启端口转发,允许本机像路由器那样转发数据包
echo 1 > /proc/sys/net/ipv4/ip_forward
-
ARP投毒,向主机B声称自己(攻击者)就是网关
arpspoof -i eth0 -t IP1 IP2
(IP1是我们的攻击目标、IP2是网关IP地址)
首先确认Win7的IP地址,然后确认网关地址。
接下来查询网关:
-
wireshark抓包分析
我们使用Win7尝试访问一下百度。
接下来到wireshark里面看一下。修改wireshark的筛选规则为ip.src == 10.34.80.3
。结果可以看到成功抓取到了数据!
接下来我们选择一个网站输入以下账号密码。就选择大家"最爱"的X班吧. 我记得他的信息上传是没有加密的。
点击登陆;
之后在wireshark里查找发送到易班服务器的http post包。
但是最后发现某班的密码是加密发送的,所以账号密码信息还是不能获得。但是可以从包里面获取到cookie信息,这样再通过Chrome修改cookie的插件就可以完成免密登陆。
由于没有完成任务,我们切换到某大学的学生选课系统的登陆界面。
经过相同的操作之后抓到了包。
在数据报里面成功的发现我过程输入的账号和密码的明文信息。
1x03 WireShark分析文件
1.如何发现有FTP服务器?且找到FTP服务器的IP地址?
通过观察流量数据,可以发现有大量基于FTP协议传输的数据库,所以推测有FTP服务器。
通过对部分数据包的分析,比如如下两个:
可以知道192.168.182.1是FTP文件服务器。
2.客户端登陆FTP服务器的账号和密码分别是什么?
通过这两个数据包可以确定服务器的账号和密码。
3.客户端从FTP下载或查看了2个文件,一个是zip文件,一个是txt文件,文件名分别是什么?
在数据包中可以发现,用户分别查看了1.zip 和 复习题.txt
4.还原ZIP文件并打开
这里我们需要知道的一个知识是对FTP服务器的操作虽然是基于FTP协议解决的,但是真正在下载文件的时候还是使用tcp协议。所以需要zip数据包的时候需要在TCP数据包里面找,可以根据zip文件的文件头和文件尾快速的确认zip包的位置。
将原始数据另存为a.zip, 可以得到一个正常的压缩包,但是有密码。
我们使用kali下的fcrakzip密码破解工具,对zip进行破解。先sudo apt-get install fcrackzip
安装
破解命令 fcrackzip -b -c1 -l 6 -u a.zip
接下来解释一下这个命令。
- -b:使用暴力模式
- -c1:使用纯数字进行破解
- -l:规定破解密码长度/范围
- -u:使用unzip
最后得到了我们的小企鹅。
5.TXT的内容是什么?
通过追踪TXT信息,可以确定文件内容如下:
6. 网站密码破解部分:
为了合法的完成渗透测试报告,我们选择Bugku中一道需要运用到暴力破解的题目为例,解析一下如何运用Burp Suite爆破一个网站。
网站网址: http://123.206.87.240:8002/baopo/
看到这个5位的密码,在检查源码和抓包之后都没有发现什么端倪,尝试bp一波
这里想尝试一下5位数字,5位字母需要的时间太长了. 使用BP自带的字典就可以满足我们的需求
这里可以根据Length的大小来判断时候爆破出密码,密码正确和密码错误的返回长度肯定是不一样的。
爆破成功啦!
1x04 MD5破解
打开一个在线md5解密网站就可以解开简单的md5码。
1x05 John the Ripper
John the Ripper 是一款速度很快的密码破解工具,目前可用于 Unix、macOS、Windows、DOS、BeOS 与 OpenVMS 等多种操作系统。最初其主要目的是检测弱 Unix 密码,而现在,除了支持许多 Unix crypt(3) 密码哈希类型,John the Ripper “-jumbo”版本还支持数百种其它哈希类型和密码。
0x03 做有所得
1x01 如何防止ARP攻击
-
终端对网关的绑定要坚实可靠,这个绑定能够抵制被病毒捣毁。
-
接入路由器或网关要对下面终端IP-MAC的识别始终保证唯一准确。
-
网络内要有一个最可依赖的机构,提供对网关IP-MAC最强大的保护。它既能够分发正确的网关信息,又能够对出现的假网关信息立即封杀。
1x02 安全的密码(口令)应遵守的原则
- 避免出现弱密码
- 记住的密码才是好密码
- 每个平台密码最好能够有一定的区别
1x03 字典的重要性
在破解密码或密钥时,逐一尝试用户自定义词典中的可能密码(单词或短语)的攻击方式。与暴力破解的区别是,暴力破解会逐一尝试所有可能的组合密码,而字典式攻击会使用一个预先定义好的单词列表(可能的密码)。对于暴力破解社会工程学是经常用到的方法。根据社会工程学生成的字典可以极大的增大密码破译的成功率。
1x04 小结
通过本次的实验我们学习到了以下内容:
- 什么是网络嗅探
- ARP协议原理
- FTP协议
- 如何使用WireShark抓包并对数据包进行分析
- MD5加密方式
- 如何使用密码字典爆破数据
- 密码安全
通过这次的实验我对网络嗅探有了比较充分的了解,对网络中的协议如ARP,FTP等又有了更深的了解。可以更加熟练的使用WireShark, 了解了暴力破解网站和压缩文件的基本操作。以及对于密码安全防护的意识加强。收益良多