1.实验目的和要求
1、通过使用Wireshark软件掌握Sniffer(嗅探器)工具的使用方法,实现捕捉HTTP等协议的数据包,以理解TCP/IP协议中多种协议的数据结构、通过实验了解HTTP等协议明文传输的特性。
2、研究交换环境下的网络嗅探实现及防范方法,研究并利用ARP协议的安全漏洞,通过Arpspoof或(pktbuilder、pktplayer)实现ARP欺骗以捕获内网其他用户数据。
3、能利用BrupSuite实现网站登录暴力破解获得登录密码。
4、能实现ZIP密码破解,理解安全密码的概念和设置。
系统环境:Kali Linux 2、Windows
网络环境:交换网络结构
实验工具:Arpspoof(pktbuilder、pktplayer)、WireShark、BurpSuite、fcrackzip(用于zip密码破解)
2.实验步骤
网络嗅探部分:
网络嗅探:Wireshark 监听网络流量,抓包。
ARP欺骗: ArpSpoof(pktbuilder、pktplayer),实施ARP欺骗。
防范: 防范arp欺骗。
实验网络拓扑
1、A主机上外网,B运行sinffer(Wireshark)选定只抓源为A的数据)。
1.1 写出以上过滤语句。
ip.addr==ip
1.2 在互联网上找到任意一个以明文方式传递用户帐号、密码的网站,B是否能看到A和外网(该网站)的通信(A刚输入的帐户和口令)?为什么?
不能,因为还没有开始实施arp欺骗攻击,A主机直接将数据发送给默认网关,未经过虚拟机,所以虚拟机的wireshark抓包是抓不到的
2.1 为了捕获A到外网的数据,B实施ARP欺骗攻击,B将冒充该子网的什么实体?
网关。
2.2 写出arpspoof命令格式。(物理机使用pktbuilder、pktplayer工具完成)
arpspoof -i 网卡 -t 目标IP +发起进攻者的网关
echo 1 >> /proc/sys/net/ipv4/ip_forward
2.3 B是否能看到A和外网的通信(A输入的帐户和口令)?截图Wireshark中显示的明文信息。
可以。
3.FTP数据还原部分:利用WireShark打开实验附件data.pcapng。
用WireShark打开实验附件data.pcapng,在搜索栏中输入FTP,过滤出所有FTP服务的数据,FTP服务器控制端口号为21。
3.1 FTP服务器的IP地址是多少?你是如何发现其为FTP服务器的?
从上图可以看出192.168.182.1回复了192.168.182.132的请求,可知FTP服务器的IP地址是192.168.182.1。
3.2客户端登录FTP服务器的账号和密码分别是什么?
账号:student
密码:sN46i5y
3.3 客户端从FTP下载或查看了2个文件,一个为ZIP文件,一个为TXT文件,文件名分别是什么?
图中MDTM返回指定文件的最后修改时间,RETR为下载命令,用于获取远程主机当前目录下的一个文件。
ZIP文件的后缀为zip,TXT文件后缀为txt,可知ZIP文件名为1.zip,TXT文件名为复习题.txt。
3.4 还原ZIP文件并打开(ZIP有解压密码,试图破解,提示:密码全为数字,并为6位)。截图破解过程。
在搜索栏中输入ftp-data
选中zip文件,右键选择TCP追踪流
保存为1.zip,发现打开它需要密码,我们使用archpr工具暴力破解(长度改为1-6),archpr工具可直接搜索下载。
可以得到这个文件的口令为123456,输入口令打开文件,得到一张图片
3.5 TXT文件的内容是什么?
在搜索栏中输入ftp-data,选中文件,右键选择TCP追踪流,发现直接出现文件内容,为PETS Nmap。
4、网站登录密码
利用人们平时常用的词、句破译,如果说暴力破解是一个一个的尝试那么字典破译就是利用人们习惯用人名、地名或者常见的词语设置成密码的习惯进行破译。字典破译速度比暴力破译更快但是有时候密码设置中包含了没有字典库中的词句就无法破解出来了,因此有好的字典是关键。
以*****为目标网站,构造字典(wordlist),其中包含你的正确密码,利用burpsuite进行字典攻击,实施字典攻击,你是如何判断某个密码为破解得到的正确密码,截图。
打开burpsuite,先关闭已拦截。
随便输入账号与密码,这里我输的是admin,000000进行尝试性登录,可以看到其提示用户名或密码不存在,登陆失败。
打开bp抓包
右击发送到intruder,查看intruder,bp给出了四个可能的密码位置,即被“§”包括的绿色的部分,点击清除§,然后在000000前后,分别添加§对数据进行标记。
随后点击右上角start attack进行爆破,爆破结束后,我们可以根据返回数据长度来判断正确的账号密码,返回长度不同于其他数据包的,就是正确的账号密码,我们可以看到其账号:admin 密码:123456,随后放包,重新打开pikachu输入账号:admin 密码:123456,即可登入成功。
5、MD5破解
SqlMap得到某数据库用户表信息,用户口令的MD5值为7282C5050CFE7DF5E09A33CA456B94AE
那么,口令的明文是什么?(提示:MD5值破解)
明文口令为iampotato
使用网址为https://www.somd5.com/
6、John the Ripper的作用是什么?
John the Ripper 是一个广泛使用的密码破解软件,主要用于对多种类型的密码进行破解测试。它最初设计用于 Unix 操作系统,但现在支持包括 Windows 在内的多个平台。这个工具的主要功能是通过字典攻击(使用常见的密码列表)和暴力攻击(尝试所有可能的字符组合)来破解密码。
John the Ripper 可以用来测试系统的安全性,组织和个人可以使用 John the Ripper 来评估他们所使用的密码强度,从而提高账户的安全性。安全专家在进行渗透测试或安全审计时,可能会使用该工具来发现潜在的安全弱点。
思考问题:
1.谈谈如何防止ARP攻击。
ARP(Address Resolution Protocol,地址解析协议)攻击是一种常见的网络攻击方式,它通过伪造ARP响应来篡改目标计算机的ARP缓存表,使数据包被错误地转发到攻击者指定的MAC地址。这种攻击可能导致网络性能下降、数据泄露甚至服务中断。以下是一些防止ARP攻击的方法:
(1)静态ARP绑定。在路由器或交换机上配置静态ARP条目,将IP地址和对应的MAC地址进行绑定。这样可以确保即使收到伪造的ARP响应,设备也会使用已知正确的MAC地址。同样地,在客户端也可以设置静态ARP条目,固定网关的IP地址与MAC地址之间的映射。
(2)启用ARP防护功能。一些高级防火墙和安全设备提供了ARP欺骗检测功能。开启这些功能可以帮助识别并阻止异常的ARP流量。使用专门的安全软件,如360流量防火墙等,它们通常包含局域网防护模块,能够防御ARP攻击。
(3)使用交换机端口安全特性。配置交换机的端口安全,限制每个端口允许连接的MAC地址数量,以及自动禁用或保护受到过多ARP请求影响的端口。
(4)启用DAI (Dynamic ARP Inspection)。DAI是Cisco交换机上的一个特性,它可以验证所有ARP请求和响应的有效性。只有来自合法源的ARP报文才会被转发,其他报文则会被丢弃。
(5)利用802.1X认证。实施基于端口的访问控制,例如802.1X认证,可以确保只有经过身份验证的设备才能接入网络,从而减少未授权设备引发ARP攻击的风险。
(6)监控网络流量。定期检查网络日志,寻找异常的ARP活动。使用网络监控工具可以实时发现并警告潜在的ARP攻击行为。
(7)使用VLANs。通过划分虚拟局域网(VLAN)来隔离不同的网络区域,减少ARP广播的范围,从而降低攻击的影响。
(8)定期更新和打补丁。确保所有网络设备的操作系统和固件都是最新版本,及时修补可能被利用的安全漏洞。
2.安全的密码(口令)应遵循的原则。
(1)密码应该足够长,通常建议至少12个字符以上。更长的密码更难被猜解。
(2)密码应该具有一定的复杂性,包含大写字母、小写字母、数字以及特殊符号的组合。避免使用容易被猜测到的信息,如生日、电话号码等。许多网站对密码的长度和字符都有要求,并且有一些网站已经禁止将手机号码作为密码了。
(3)尽量避免使用任何与个人相关的信息作为密码的一部分,比如名字、昵称或者重要的日期,尽量选择没有明显关联的单词或短语。
(4)每个账户都应该有自己独特的密码,即使是在不同的网站上也不要重复使用相同的密码。这样即使一个密码被泄露了,其他账户也相对安全。
(5)定期更新密码。虽然频繁更改密码可能带来不便,但是定期更新密码仍然是一个好的习惯,特别是对于那些包含敏感信息的账户。
使用密码管理器:密码管理器可以帮助记住复杂的密码组合,同时提供生成随机密码的功能。这使得用户能够为每个账户设置不同的强密码而不用担心记忆的问题。
(6)避免使用太常见的密码,及时更改默认密码。不要使用像“123456”、“password”这样的常见密码,因为这些是最容易被破解的密码之一。
(7)除了设置强密码外,启用两步验证(也称为双因素认证)可以增加额外的安全层,即使密码被破解,攻击者也无法轻易访问账户。
3.谈谈字典攻击中字典的重要性
(1)相比于暴力攻击,字典攻击更加高效。暴力攻击需要尝试大量的组合,耗时且计算成本高;而字典攻击则直接使用预定义的密码列表,大大减少了尝试次数,提高了破解速度。
(2)字典文件可以根据特定的目标群体或文化背景进行定制。例如,针对中文用户的字典可以包含更多的中文词汇及其变形,而针对技术社区的字典则可能包括更多与编程或技术相关的术语。
(3)随着新密码泄露事件的发生,攻击者会不断更新他们的字典文件,加入新的密码组合。这意味着字典的有效性随着时间的推移而增强,攻击者可以利用最新的数据来提高成功几率。
(4)高级的字典攻击工具不仅限于简单的匹配,还会运用启发式算法来生成可能的密码变体。例如,将常见的单词替换为数字(如“l”换成“1”,“e”换成“3”),或是添加常见的符号和数字组合。
(5)了解字典攻击的工作原理有助于个人和组织采取相应的防护措施。使用复杂且独一无二的密码,避免使用字典中常见的词汇,可以有效抵御此类攻击。
(6)字典在字典攻击中扮演着核心角色,它直接影响到攻击的成功率和效率。为了防范字典攻击,用户应遵循之前提到的创建强密码的原则,避免使用易被猜测到的密码。
4.实验小结
1.学习了wireshark的使用方法以及一些搜索指令
IP地址筛选可以根据源地址或目的地址进行筛选。例如:
ip.src == 192.168.1.1 筛选源IP地址为192.168.1.1的数据包
ip.dst == 192.168.1.1 筛选目的IP地址为192.168.1.1的数据包
ip.addr == 192.168.1.1 筛选源或目的IP地址为192.168.1.1的数据包
2.协议筛选
可以根据协议类型进行筛选,例如TCP、UDP、HTTP等。只需输入协议名称即可:
tcp 筛选TCP协议的数据包
udp 筛选UDP协议的数据包
http 筛选HTTP协议的数据包
3.端口筛选
可以根据端口号进行筛选,包括源端口和目的端口。例如:
tcp.port == 80 筛选TCP端口为80的数据包
tcp.srcport == 80 筛选源端口为80的TCP数据包
tcp.dstport == 80 筛选目的端口为80的TCP数据包
4.方法筛选
(1)对于HTTP协议,可以根据请求方法进行筛选,例如GET和POST:
http.request.method == "GET" # 筛选HTTP GET请求的数据包
http.request.method == "POST" # 筛选HTTP POST请求的数据包
(2)了解了burp suite抓包和爆破的基本操作,以及archpr工具可以暴力破解密码。
(3)我们在设计和使用密码时,应养成良好习惯,如密码应该足够长,尽量避免使用任何与个人相关的信息作为密码的一部分,在不同的网站上也不要重复使用相同的密码。定期更新密码,避免使用太常见的密码,及时更改默认密码。
(4)了解了防止ARP欺骗的的措施,如何恢复损坏的zip和txt文件,以及初步了解字典攻击的原理,技术还不成熟,所以还需继续学习。