Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
infected-drones — 针对现代GCS的漏洞与利用集合 | Kitploit
工具/GitHubGitHub/nicholasaleks/infected-drones
嵌入式系统安全漏洞分析漏洞利用逆向工程渗透测试硬件与物联网安全论文与研究学习与教育
GitHubnicholasaleks/infected-drones

infected-drones

针对现代GCS的漏洞与利用集合

查看仓库
1161天前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

受感染的无人机

无人机到地面控制站的攻击向量、漏洞与利用

如今的无人机机群通常是由一名操作员从单一地面站操控数十或数百架无人机。这使得地面控制站成为对手的宝贵目标。飞行员通常位于此处,这里往往存储任务数据,并且是横向移动至 UxS 网络及机群中其他无人机的首要途径。

受感染的无人机

大多数无人机安全研究都聚焦于攻击无人机本身。受感染的无人机研究采取了另一种方法,重点揭示单架被攻陷的无人机如何攻击与其连接的地面站。由于大多数地面控制软件信任无人机发送的任何内容,缺乏身份验证、校验和清理,使得来自被攻陷无人机的数据可能导致操作员机器上的文件增删改查、代码执行或崩溃。


负责任的使用

本仓库记录了地面控制站软件中的漏洞,并附带了可用的概念验证代码。发布此内容仅用于教育目的,供操作员了解自身暴露风险,并让维护者能够复现和修复这些问题。

仅对您拥有或已获得书面许可测试的系统运行这些 PoC。每一个 PoC 都是为测试台编写的:有效载荷是良性标记,且此处没有任何内容被打包用于针对他人的飞行器或地面站。在您无法控制的系统上使用此材料,在您所在的任何地方都可能违法。

每个发现的“复现”部分说明了其所需条件和功能。在运行任何内容之前请先阅读。


发现

图例:

  • ✅ 该向量可靠
  • ⚠️ 可能,但有条件、存在竞争或需要额外步骤
  • ❌ 该发现通过该向量不适用

投递类别是攻击者必须在链路上执行的操作,它决定了哪些向量有效。 推送类发现仅需一个帧到达 GCS,因此任何具备注入能力的向量都足够。 握手和请求/响应类发现需要攻击者成为或完全控制对话对端,这更有利于总线上的外设、被攻陷的伴飞计算机、供应链或完整的中间人攻击。

修复列链接了已提交的上游拉取请求。十五个发现中有十个附带了针对供应商自身仓库提交的补丁。

ID产品严重性CWE汇聚点类别投递类别受感染飞控 / 供应链?恶意总线外设?被攻陷的伴飞计算机?WiFi/UDP 注入?TCP/云中间人?SiKW00F 注入?SiK 完整中间人?修复
QGC-01QGroundControl🟠 高22/73/170CAMERA_INFORMATION → 路径遍历写入(连接时零点击写入)推送(CAMERA_INFORMATION)+ 通过 cam_definition_uri 提供内容✅✅ 最自然(摄像头)✅✅✅✅ 触发为推送;名称字段内联✅PR #15083
QGC-02QGroundControl🔴 严重22/73/494/918COMPONENT_METADATA uri → 任意文件写入 → 连接时零点击 RCE请求/响应(通过 IP 获取 URI)✅✅ 发出元数据 uri✅✅ 用于触发✅⚠️ 推送触发可以;获取通过 IP✅PR #15084
QGC-03QGroundControl🟠 高22/770FTP 列表 → 遍历写入 + 偏移磁盘填充握手(MAVFTP 列表/下载)✅✅ 对端响应 FTP✅⚠️ 注入可以,自行握手较难✅⚠️ 会话/序列存在竞争✅ 桥接提供列表PR #15085
QGC-04QGroundControl🟡 中191/125DataFlash .bin 解析器越界读取 + 下溢握手(下载恶意 .bin 日志)✅✅ 对端提供 DataFlash✅⚠️✅⚠️ 必须提供日志块✅ 桥接馈送 .binPR #15086
MP-01Mission Planner🟠 高22→94MAVFTP 遍历 → 插件加载器 RCE握手(MAVFTP 请求/确认 → RCE)

投递向量

矩阵为每个发现评分七列:以下五个向量,加上两种 SiK 无线电(射频遥测)模式,鉴于注入与中间人的细微差别,后者在下方单独说明。

  1. 受感染的飞控、串行连接或供应链。 本地攻击者或恶意飞控被物理连接到 GCS 主机或无线电。飞行器或固件是操作员未构建的:演示单元、租赁、被扣押的机体或二手飞行器,其固件被植入以在 GCS 连接时立即发出恶意 MAVLink。操作员自己的 GCS 是受害者;“飞行器”在通电之前就已是敌对的。适用于每个发现,并且是投递连接时握手漏洞利用最干净的方式。这延伸到可能直接连接或从受感染飞行器提取数据的取证分析师。这些工件如果处理不当,可能会感染或传播到分析师的计算机和网络。

  2. 飞行器自身总线上的恶意/伪造 MAVLink 外设。 第三方摄像头、云台、ADSB-in、测距仪或任何使用 MAVLink 通信且自身即为攻击者的设备。它是链路上的合法参与者,发出恶意帧。一个伪造的“智能摄像头”宣告被投毒的消息,其行为与真实摄像头完全相同,只是携带了恶意值。

  3. 机载被攻陷的伴飞计算机(运行 mavlink-router / MAVProxy 的 Raspberry Pi / Jetson)。一旦被攻陷,它成为飞行器端点,拥有对链路的完全双向访问权限及其实时状态的可见性。它可以响应任何握手并发出任何推送帧,这使其对本集合中的每个发现都可行。

  4. WiFi / UDP 遥测桥(ESP8266 / ESP32“wifi 遥测”)。接入点或局域网上的任何人都可以注入 MAVLink 数据。这将注入向量的成本降至接近零,并且对于还能拦截(ARP/AP 中间人)的攻击者,也能实现完全握手控制。

  5. TCP / 云中继(SITL、mavlink-router TCP、mavp2p、4G/LTE 云 GCS,如商业无人机云服务)。在中继处进行中间人攻击,或任何能访问暴露的 TCP 端口的人,都可以重写数据流。云/4G 链路极大地扩大了地理影响范围,并且通常缺乏双向认证。

SiK 无线电(射频遥测链路)

ArduPilot/PX4 爱好者和专业消费级飞行器的主要真实射频遥测路径是 SiK 无线电对,这是一种透明的串行桥接,不解析或校验 MAVLink,因此对 GCS 不提供任何针对恶意内容的保护。一个流氓 SiK 模块使用 sikw00f 加入或桥接现有链路。两种攻击模式,可靠性差异很大:

  • 注入(单个流氓无线电)。 sikw00f 在同步到链路后,可以将恶意帧发送到共享信道。对于一次性推送/流消息(STATUSTEXT、PARAM_VALUE、CAMERA_INFORMATION 等)可靠,无需回复。对于握手协议(MAVFTP、参数/日志下载)不可靠,因为注入器必须赢得空口竞争并匹配其无法控制的会话/序列。
  • 完整中间人(流氓对)。 两个 sikw00f 无线电,一个面向 GCS,一个面向飞行器,以桥接并重写飞行中的帧(可选在干扰以强制重新关联之后)。这掌控了整个对话,因此也能可靠地满足握手。

注意:SiK 加密(AES-128,在支持的情况下)默认关闭,并使用静态共享密钥。

下载工具
✅
✅ 对端响应列表
✅ 完全链路控制
⚠️ 注入容易,但需掌控握手
✅ 在中继处重写
⚠️ 必须赢得竞争 + 匹配会话/序列
✅ 桥接掌控 FTP 对话
PR #3774
MP-02Mission Planner🟠 高94/78gst:// → gst_parse_launch(文件读写 + 外泄)推送(VIDEO_STREAM_INFORMATION → gst)✅✅ 摄像头宣告 uri✅✅ UDP 数据报✅✅ 一次性流帧✅ 轻而易举PR #3775
MP-03Mission Planner🟠 高74/601STATUSTEXT 标记 → Process.Start推送(STATUSTEXT → ShellExecute)✅✅ 任何组件发出✅✅✅✅ 即发即忘文本✅PR #3776
MP-04Mission Planner🟡 中248/20/1050RALLY_TOTAL/FENCE_TOTAL → 未校验的 int.Parse + UI 线程上的 O(n²)(连接时零点击)推送(PARAM_VALUE,连接后自动)✅✅ 发出 PARAM_VALUE✅✅✅⚠️ 必须将参数落入 MP 的字典✅PR #3777
MAVSDK-01MAVSDK🟡 中918/749组件元数据 curl SSRF + file://(无协议允许列表)请求/响应(通过 IP 获取 COMPONENT_METADATA.uri)✅✅ 发出元数据 uri✅✅ 用于触发✅⚠️ 推送触发可以;通过 IP 获取✅无
MAVSDK-02MAVSDK🟠 高22/73/918摄像头定义 SSRF + mftp:// 遍历 → 零点击破坏沙箱外的文件推送(CAMERA_INFORMATION.cam_definition_uri,自动)✅✅ 最自然(摄像头)✅✅✅✅ 自动消费的推送✅PR #3073
MAVSDK-03MAVSDK🟠 高409/400/770/459.xz 摄像头定义或 COMPONENT_METADATA → 无限制解压 → 持久性磁盘耗尽推送(CAMERA_INFORMATION.cam_definition_uri,自动)—— 一个裸 HEARTBEAT 即可启动✅✅ 最自然(摄像头)✅✅✅✅ 自动消费的推送;每 2 GiB 约 50 秒的 57.6 kbps 空口时间✅PR #3074
MAVPROXY-01MAVProxy🟠 高502asterix 通过 UDP 的 pickle.loads → RCEIP 侧信道(UDP,非 MAVLink 射频链路)❌ 不在 MAVLink 链路上❌ 独立的 UDP 套接字⚠️ 仅当能访问 :45454✅ UDP 到主机:45454❌ 自有 UDP 套接字,非中继❌ 不在射频/MAVLink 链路上❌ 不在射频/MAVLink 链路上上游已由 #1728 修复,未发布
MAVROS-01mavros🟡 中345/770PARAM_VALUE → 伪造全局 /parameter_events + 无上限映射推送/流(注入 PARAM_VALUE,无需握手)✅✅ 发出 PARAM_VALUE✅✅ UDP 洪泛✅✅ 洪泛 PARAM_VALUE✅无
MAVROS-02mavros🟠 高125/617/248FTP 写入确认 → 无限制 std::advance → 堆泄露 + 进程中止握手(毒化 FTP 回复 → 崩溃)✅✅ 对端发送错误 FTP✅⚠️✅⚠️ 必须落入畸形回复✅ 桥接注入错误回复无
DRONEKIT-01DroneKit⚪ 信息20信任边界交接(param_id / STATUSTEXT)推送(遥测 → 应用回调;设计上的交接)✅✅ 任何组件✅✅✅✅ 任何推送帧到达回调✅不适用