如何通过欺骗Wi-Fi热点来更改手机坐标

  • 操纵手机认为它自己在您想要的地方

在许多城市地区,GPS并不能很好地工作。高大的建筑物会反射GPS信号,给手机造成混乱。

因此,大多数现代设备使用混合技术来进行地理定位,包括附近的 Wi-Fi 网络。

于是,通过使用 SkyLift 创建已知在其他区域的假网络,您就可以通过 ESP8266 单片机来操纵手机 “认为” 自己在哪里。

对于访问GPS受限的设备来说,Wi-Fi 网络是寻找设备位置的可靠途径。黑客可以通过广播看似来自已知网络的信号来利用这个缺陷。

虽然这种策略在有很多其他Wi-Fi网络或清晰的GPS信号的地区不起作用,但在强制智能设备依赖 aGPS 的场所却非常有效。

智能设备如何进行地理位置定位?

定位设备的问题并不新鲜,除了GPS之外,大多数智能设备都有一系列的选择可以用来确定它的位置。它可能涉及到手机信号塔等东西,这些信号塔不会移动,对于确定用户的相对位置很有用。

随着对GPS设备的需求开始增加,辅助GPS/aGPS,成为了设备克服传统GPS锁定所需的较长信号采集时间的一种方式。

为了帮助解决寻找GPS信号很少或没有的设备在哪里的问题,大多数智能手机不断记录附近Wi-Fi网络的位置。这些信息将添加到由多个用户进行地理定位的庞大的位置网络数据库中,提供确定设备所处的Wi-Fi网络所在位置所需的信息。

这对熟悉战争驾驶 (Wardriving)的人来说应该不会感到惊讶,因为像 Kismet 这样的项目已经做了相当一段时间了。Wigle.net 项目可以让黑客上传数据,并确定每个网络的位置,如果设备进入已知位置的网络范围内,就可以轻松识别设备可能在哪里。

aGPS和传统GPS锁定的区别在于,使用aGPS,设备会调用API,根据附近Wi-Fi网络的名称、MAC地址和信号强度与已知的地理标签网络数据库进行对比,得出自己的位置。

那么如何欺骗aGPS?

现在您已经知道了aGPS的工作原理,可以开始寻找操纵它的方法了。最明显的方法之一是简单地找到相比传统GPS更依赖于 aGPS 的区域来确定位置。

它可以是任何有房顶的地方,也可以是GPS信号无法穿透的建筑物或停车场深处。这些条件迫使智能设备依靠不太精确的数据来寻找自己的地理位置,比如附近的任何Wi-Fi网络。

一旦您能强迫智能手机进入一种状态,让它们更多的依靠aGPS而不是GPS来确定自己的位置,利用一个名为 SkyLift 的项目,您就可以使用以前记录的地理位置广播网络的Wi-Fi信标帧,开始迷惑设备。

只有在竞争网络很少的情况下,它才会起作用,比如在建筑物密集的城市地区。

如果处于一个绝佳的位置,就可以迫使手机使用aGPS来确定自己在哪,还可以选择您想要欺骗它相信的特定位置。

为此,您可以访问该站点并记录Wi-Fi流量,也可以使用 Wigle.net 来查询要欺骗的位置上存在哪些网络,然后复制网络详细信息。

您需要什么

要遵循本指南,您需要一个基于 ESP8266 的微控制器,从 D1 MiniNodeMCU 都可以,可以在网上找到非常便宜的。对于MCU的设置,你需要一个面包板跳线Micro-USB 电缆以及Wi-Fi天线和SMA电缆

本指南将不再详细介绍如何组装MCU,这里有很多指南您可以参考。

您还需要安装 Arduino IDE 的可连接互联网的计算机,将使用它来对微控制器进行编程,并使用 Micro-USB 数据线将 ESP8266 连接到计算机以进行供电和编程。

步骤1:将 ESP8266 添加到 Arduino

这里将使用免费且跨平台的 Arduino IDE,这将使您能够快速构建所需原型。

您可以从官网下载 Arduino IDE。安装完成后,您需要点击 “Arduino” 下拉菜单,然后选择 “Preferences”。接下来,将下面的URL粘贴到 “附加板管理器URLs” 字段中。

http://arduino.esp8266.com/stable/package_esp8266com_index.json

完成后,单击“确定”关闭菜单。

接下来,您需要将 NodeMCU 添加到 Boards Manager。单击 “工具”,然后将鼠标悬停在 “Board” 部分上,以查看下拉列表。在顶部,单击 “ Boards Manager” 以打开允许您添加更多板的窗口。

当 “ Boards Manager” 窗口打开时,在搜索字段中键入 “esp8266”。通过 “ ESP8266Community” 选择 “esp8266” 并安装。

现在您应该已经准备好对基于 ESP8266 的微控制器进行编程了。将 ESP8266 插入您的电脑。当您点击 “Tools” 时,应该看到正确的端口被自动选择。

从 “Board” 菜单中选择 “NodeMCU 1.0”,或者您正在使用的 ESP8266。如果您使用的USB电缆不好,端口可能不会显示出来,所以如果您在完成其他步骤后没有看到任何东西,请先尝试其他电缆。

顶部有两个主要按钮。选中标记会编译并检查您的代码是否有错误,右箭头将代码推送到 NodeMCU。

步骤2:下载 SkyLift

现在您已经设置了 Arduino IDE,需要下载 SkyLift demo。可以通过在新的终端窗口中键入以下内容来克隆其 GitHub 存储库

~$ git clone https://github.com/adamhrv/skylift.git

完成后就可以把目录换成下载的文件夹,在 Arduino IDE 中打开草图。

~$ cd skylift
~$ cd skylift_demo/
~$ open skylift_demo.ino

在这里,您将看到配置文件以及主脚本。

本演示将不会对其进行修改。可以插入 ESP8266,并且只要看到LED闪烁,就可以继续进行下一步。

步骤3:将代码推入 ESP8266

现在是时候将代码推入到 ESP8266 了,应该通过 Micro-USB 电缆将其插入运行 Arduino IDE 的计算机。

确保在 Arduino 中选择了正确的板,并且端口设置正确。一旦确定设置正确,您就可以点击箭头图标将代码上传到基于 ESP8266 的板上。这应该不会花很长时间,当它完成时您应该看到附近有几个开放的网络正在广播。

在本示例中,这些开放网络就是我们要欺骗的信号,它们是已知的网络,已经被地理定位到 Facebook 的总部。如果能把智能设备放在一个只有这些信号来确定其可能位置的地方,就可以做到欺骗它相信自己在 Facebook 总部的网络附近,而不是它的实际位置。

步骤4:在合适的位置测试本演示

将代码推入 ESP8266 后就可以在一个合适的位置对其进行测试了。您可以在 Android 上使用 Wigle WiFi 来测量附近网络的数量,并搜寻其他网络接收不良的地方。一旦找到,请关闭手机上的地理定位服务,然后再次打开它。

当您的手机试图定位时,它只能依靠 ESP8266 的欺骗信号。因为这些信号并不可靠,所以它应该将自己的位置确定为 Facebook 总部。

这个假位置应该被编码到启用地理定位后拍摄的照片中;它将持续存在,直到你停止广播欺骗的网络、或目标从GPS卫星或合法的附近网络中获得良好的信号。

A-GPS很容易进行欺骗只要在正确的地方

对智能设备来说有许多确定其位置的方法,黑客可以利用它们来创造一种设备将依靠虚假信息的情况。

虽然它可能不会在每个环境中都成为问题,但要格外警惕那些在建筑物或其他区域深处得出的GPS位置,这些位置迫使设备依赖容易被欺骗的信号。⚪️

Change a Phone’s Coordinates by Spoofing Wi-Fi Geolocation Hotspots

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据