随着WIFI(IEEE 802.1)和蓝牙等无线技术成为标准,寻找和控制它们连接,对于成为一名成功的黑客至关重要。如果有人可以破解无线连接,他们进入设备并访问机密信息。第一步是学习如何找到这些设备。
在前面的文章中,研究了linux中的一些基本网络命令,包括无线网络的一些基本原理,在本章中我们将研究两种linux最常见的无线技术:WIFI和蓝牙。
WI-FI网络
我们要知道的东西有:如何查找、检查和连接WI-FI接入点。在进行此操作之前,先花点时间了解一些基本的知识,以帮助更大的外行人放弃他们的行业转入网络安全中来。其他行业不会教,教不会你或者不想教你,无聊且开源资源少,直接转行不就OK了嘛。谁叫其他行业沙雕老板多,留不住人呢,选择网络安全,报效国家安全也是很有面子的。一个行业的难学还是易学,不是取决于你有没有天赋的问题,而是取决于这个知识的上下文是否完善的问题,切记。要转行的本质也在于此,没有上下文,找不到上下文,切莫信之。你要坚信兵法云:知己知彼百战百胜,学习也是一样的道理,知道它的上下文,才能胜它,掌握它。能做到这一点,或者有了,跨行无惧失败。成功就变成只是时间投入的问题了。
要跨行挖人才,培养人才,知识的上下文我当然要帮你给准备得妥妥的。不是好的教程咱看都懒得看。争取做到,一字千金。在这里使用优秀教学目的,就是为了实现学习一分钟等于别人学垃圾教程一天的效率。他们搜索文档,我们当然是系统的整体学习而且从转行开始一直到高级的学,孰优孰劣,比一比出分晓。哈哈。
AP(access point)无线用户连接到互联网的设备。比如无线路由器,移动基站等
ESSID(extended service set identifier)这和SSID相同,不过它可以用户无线局域网中的多个AP中。
BSSID(basic service set identifier)每个AP的唯一标识符,与设备的MAC地址相同。
SSID(service set identifier)网络的名称。没名称的话,你咋知道连到哪里去了。
Channels WI-FI可以在14个信道(1-14)中任何一个信道上工作。在美国,WI-IF被限制在信道1-11
Power 你距离WI-FI AP越近,功率越大,连接越容易破解。(还记得freebuf的伪基站,无人机等文章吗,不就是比功率大吗)
Security WIFI AP上使用的安全协议。WIFI有三种主要安全协议。最初的有线等效保密(WEP)存在严重缺陷,容易破解。它的替代品,WIFI保护访问(WPA),更安全一点。最后,WPA2-PSK更加安全且使用所有用户共享的预共享密钥(PSK),现在几乎所有WIFI AP(企业WIFI除外)都使用它。
Modes WI-FI可以在三种模式下切换:managed,master,或者monitor。后面说这些模式。
Wireless range 在美国,WI-FI AP必须合法的以0.5W的上限广播其信号。在此功率下,它约100米的正常访问。Highgain天线有6公里的范围
Frequency WI-FI被设计用户2.4GHz和5GHz。无人机也一样。现代WI-FI AP和无线网卡经常使用这两个。不是2.4网卡就是5G网卡。
基本无线网络命令
ifconfig 它列出系统上每个激活的网络接口以及一些基本信息。
在kali linux中,WI-FI接口通常被指定为wlanX,X代表该接口的编号。第一个是wlan0,第二个是wlan1
如果只想查看无线接口的信息 iwconfig
iwlist 查看网卡可以访问的所有无线接入点
语法 iwlist interface action
可以使用iwlist执行多个操作。我们将使用扫描操作来查看自己所在地区的所有WIFI AP(注意:使用标准天线,你的范围将为100-200米,这可以通过廉价的高增益天线来扩展)
为了进行各种不同的入侵攻击,你将需要目标的AP的MAC地址(BSSID),客户端的MAC地址以及AP操作的通道来执行任何类型的黑客攻击,因此这些信息是有价值的。
nmcli 网络管理器命令行界面 为网络接口提供高级接口的linux守护程序称为网络管理器。通常,linux用户从其图形用户界面(GUI)熟悉此守护程序,但也可以从命令行使用它。
nmcli 查看附件WIFI AP和一些关键信息,跟iwlist一样,但它提供了更多信息。
语法 nmcli dev networktype,其中dev是设备的简称以及类型是wifi
nmcli dev wifi
还可以使用nmcli连接到AP
nmcli dev wifi connect AP-SSID password APpassword
在一个你知晓的网络尝试此操作,成功连接无线AP时,再一次运行iwconfig来观察一下有什么变化。
nmcli dev wifi connect hackers-arise password 12345678
iwconfig 查看的这些信息都是WIFI入侵攻击所必需的关键信息。
使用aircrack-ng进行WIFI侦查
最受欢迎的攻击实验就是破解WIFI接入点。这套工具包含在kali中,不需要下载或安装。
要使用这些工具,需要将无线网卡设置为监控模式,查看所有经过它的流量。
通常情况下,网卡只捕获特定于该卡的流量(不是它的IP不看)。监控模式类似于有线网卡上的混杂模式。
借助aircrack-ng套件中的命令,将无线网卡设置为监控模式。
airmon-ng start|stop|restart intreface
airmon-ng start wlan0 监控模式
发现了三个可能导致故障的过程,如果airodump-ng、aireplay-ng货airtun-ng在短时间运行后停止工作,可能需要运行airmon-ng check kill
如果遇到故障,分别使用stop和restart命令来恢复,比如stop monitor模式和restart monitor模式
请注意,airmon-ng将重命名你的无线接口,一定要记下无线的新的指定名称,后续操作需要这些信息。
使用aircrack-ng套件中的另一个工具从无线通信中查找关键数据。airodump-ng命令捕获并显示来自广播AP和连接到这些AP或附近的任何客户端的关键数据。
语法:airodump-ng 后面跟刚才运行airmon-ng得到的接口名。
BSSID ap或客户端的mac地址 PWR 信号强度 ENC 用户保护传输安全的加密类型 #Data 数据吞吐量 CH AP运行的信道 ESSID AP的名字
airodump-ng wlan0mon
输出屏幕分成上下两部分,上面部分是AP广播信息,下面是客户机部分。
以上命令,让我妈已经掌握了破解AP所需的所有信息。尽管破解的主题非常多,总而言之,要破解无线AP,你需要客户端MAC地址、AP MAC地址、目标操作的信道和密码列表。
为了破解WIFI密码,你需要打开三个终端。第一个终端中,填写客户机和AP MAC地址以及信道
airodump-ng -c 10 --bssid 01:01:AA:BB:CC:22 -w hackers-arisePSK wlan0mon
此命令使用-c选项捕获通过信道10上的AP的所有数据包
在另一个终端中,使用aireplay ng命令取消(取消身份验证)与AP连接的任何人,并强制他们重新身份验证到AP,当他们重新验证时,你可以捕获在WPA2-PSK四次握手中交换的密码散列。密码散列将出现在airodump-ng终端的右上角
aireplay-ng --deauth 100 -a 01:01:AA:BB:CC:22-c A0:A3:E2:44:7C:E5 wlan0mon
最后,在最后一个终端中,你可以使用密码列表(wordlist.dic)在捕获的散列(hacker-arisesk.cap)中查找密码
aircrack-ng -w wordlist.dic -b 01:01:AA:BB:CC:22 hacker-arisePSK.cap
总结:使用常规查看命令获取基本信息,使用aircrack-ng套件开三个命令行终端,三条命令分别运行,让用户断网重新输入密码,捕获到密码哈希值,通过密码字典匹配密码哈希值。
这种破解方式的关键在于:用户网断了,并重新登录。密码复杂度不强,可被枚举破解。
检测并连接到蓝牙
能够入侵蓝牙会导致设备上任何信息的泄露,设备的控制,以及向设备发送不需要的信息等威胁,比如给高速行驶的汽车,发送致命的停止命令。捕获汽车钥匙信号,打开汽车门。
为了利用这项技术,需要了解它是如何工作的。对蓝牙的深入了解已超过这次主题的讨论,这里提供一些基本知识,帮你扫描和连接蓝牙设备,为黑客的入侵攻击做好准备。
蓝牙的工作原理
低功耗近场通信的通用协议,使用扩频在2.4-2.485GHz下工作,跳频速度为每秒1600跳(这种跳频是一种安全措施)。
蓝牙规范的最小范围为10米,但没有上限,制造商可在其设备中实施。许多装置射程可达100米。特殊天线可以更远。
连接两个蓝牙设备被称为配对。几乎任何两个蓝牙设备都可以相互连接,但只有在处于可发现模式时才能配对。处于可发现模式的蓝牙设备传输以下信息:
名称 类别 服务清单 技术信息
两个设备配对时,它们交换一个密钥或链接密钥。每个存储这个链接键,以便在将来的配对中识别另一个。
每个设备都有一个唯一的48位标识符(类似于MAC的地址),通常还有一个制造商指定的名称。当我们想要识别和访问一个设备时,这些将是有用的数据片段。
蓝牙扫描于侦察
linux有一个称为bluez的蓝牙协议栈的实现,使用它来扫描蓝牙信号。大多数发行版,包括kali都默认安装了它。
如果没有,通常可以在存储库中找到它
apt-get install bluez
BlueZ有许多简单的工具,可以用来管理和扫描蓝牙设备:
hciconfig 与ifconfig非常相似,使用它来打开蓝牙接口并查询设备的规格
hcitool 查询工具可为我们提供设备基本信息,使设备能够同步工作
hcidump 这个工具使我们能够嗅探蓝牙通信,这意味着我们可以捕获通过蓝牙信号发送的数据。
扫描和侦查步骤是检查我们使用的系统上的蓝牙适配器是否被识别和启用,使用它扫描其他设备。使用内置的Bluez工具hciconfig来实现这一点
hciconfig
下一步是检查连接是否已启用,也可以通过提供名称和up命令来使用hciconfig
hciconfig hci0 up
如果命令成功运行,将看不到输出,只看到一个新的提示。
使用hcitool扫描蓝牙设备
使用hcitool来扫描范围内的其他蓝牙设备。
hcitool
hcitool inq 收集有关具有查询功能的已检测设备的更多信息
这给了我们设备的MAC地址、时钟偏移量和设备类别。该类指示你找到的蓝牙设备的类型,你可以通过访问蓝牙SIG站点来查找代码并查看它是什么类型的设备 就是class:0x5a020c 类似这样的代码
hcitool是一个强大的命令行接口蓝牙栈,可以做很多很多事情
hcitool --help 亲自查看它们
你将看见许多蓝牙黑客工具的脚本简单地使用这些命令,知道本质了你也可以很容易的创建自己的工具或者修改脚本,使用系统自带的命令在你自己的bash或python脚本中。后面将研究这些脚本,本章中暂不涉及。
脚本小子中的脚本,指的就是这些黑客工具中的脚本中包含的内置命令。脚本小子就是只会用工具,连工具中的配置,脚本中包含的内置命令都看不懂。工具用得不受自己的控。
使用sdptool扫描服务
服务发现协议(SDP)是一种用于搜索蓝牙服务的蓝牙协议(蓝牙是一套服务),bluez提供了sdp tool工具,用于浏览设备上提供的服务。设备不必处于要扫描的发现模式
语法 sdptool browse MACaddress
sdptool browse 76:6E:46:63:72:66
在这里,可以看到sdptool工具能够获取关于这个设备可使用的所有服务信息。特别地,我们看到这个设备支持ATT协议,即低能量属性协议。这可以为我们提供更多关于设备是什么的线索,以及可能进一步与之交互的途径。
通过l2ping查看设备是否可以访问
收集了所有附件设备的MAC地址,就可以向这些设备发送ping,不管它们是否处于发现模式,以确认它们是否在可访问范围内。
要发送ping,使用L2ping
l2ping 00:11:22:33:44:55:66 -c 4
这是有用的知识,在我们考虑黑客攻击前,必须知道设备是否可以访问。