电话会广播它们曾经连接过的所有网络的 SSID。攻击者如何获得这些信息?

信息安全 无线的 互联网
2021-09-07 13:05:50

我刚刚看了格伦·威尔金森(Glenn Wilkinson)的一篇有趣的演讲,题目是:背叛他们主人的机器

他说你的手机一直在广播它曾经连接过的所有 SSID。攻击者如何能够捕获这些 wifi 请求?

4个回答

老实说相当容易,你需要做的就是倾听探测请求。有一个很好的博客解释了如何设置一台带有 BT5 的计算机来收听它们

使用支持“监控模式”的网卡,您可以接收所谓的“探测请求”。将网卡设置为监控模式后,您可以使用aircrackwiresharkhoover之类的工具来捕获探测请求。

例如使用ubuntu和wireshark时,将网卡设置为监控模式:

sudo ifconfig wlan0 down
sudo iwconfig wlan0 mode monitor
sudo ifconfig wlan0 up

现在启动wireshark并为“wlan.fc.type_subtype eq 4”设置过滤器。

就是这样,现在您可以看到您周围正在探测的所有 SSID。

例如,使用出色的 aircrack-ng,特别是其中的airodump-ng实用程序。您要查找的信息将显示在下部的“探针”下。

这应该适用于大多数 Linux:

sudo apt-get install aircrack-ng

sudo airmon-ng start <card>

sudo airodump-ng mon0

这将输出所有设备尝试连接的列表。有些设备只探测可用的网络,然而,正如你所怀疑的,智能手机会探测他们知道的所有网络,无论它们是否可用·

如其他答案所述,将无线网卡置于监控模式后,您可以执行以下操作以打印出 MAC 地址和 ssid。此代码依赖于 scapy 库/工具。

#!/usr/bin/env python

from scapy.all import *
conf.iface = "mon0"


def handle_pkt(pkt):
    if Dot11 in pkt and pkt[Dot11].type == 0 and pkt[Dot11].subtype == 4:
        hwaddr = pkt[Dot11].addr2
        ssid = pkt[Dot11Elt][0].info
        print hwaddr, repr(ssid)

sniff(prn=handle_pkt)

快乐的黑客

airmon-ng 的替代方法是使用 iwconfig 将卡设置为监控模式(如果它支持) - 这种方法的缺点是您在嗅探原始无线数据包时无法与接入点关联。

ifconfig wlan0 down
iwconfig wlan0 mode Monitor
iwconfig wlan0 channel 1
ifconfig wlan0 up