Skip to content
KitploitKITPLOIT
ツールブログ
Log in
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2021-27289 — CVE-2021-27289: Ksix Zigbeeデバイスにおける再生保護バイパス | Kitploit
ツール/GitHubGitHub/themalwareguardian/cve-2021-27289
偵察IoTセキュリティエクスプロイトワイヤレスセキュリティハードウェアとIoTセキュリティ学習と教育
GitHubthemalwareguardian/cve-2021-27289

CVE-2021-27289

CVE-2021-27289: Ksix Zigbeeデバイスにおける再生保護バイパス

リポジトリを見る
11151年前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

🐝 CVE-2021-27289: Ksix Zigbee デバイスにおける再生保護バイパス




📑 目次

  • 本題に入る前に

  • この CVE の背景

  • 脆弱性

    • 影響を受けるデバイス
    • 技術的詳細
    • 攻撃シナリオ
    • 影響
    • 実証コード
    • デモ動画
  • オリジナルブログ記事

    • 研究者
    • Zigbee の基礎
    • 背景と動機
    • 初期の実験
    • 発見
    • 悪用
    • 実験環境
    • 関連研究



🎭 本題に入る前に

皆さん、こんにちは。

プロらしいやり方としては、このリポジトリのタイトルをまさに今のまま – 明確で説明的で、要点を突いたもの – にするのが正解だったと思います。しかし、まとめているときに、他にもいくつかのタイトルが頭に浮かびました。例えば以下のようなものです:

  • 「学生の時に報告した脆弱性…3年後に割り当てられた(それに気づいたのはさらに2年後でした😅)」
  • 「大学在学中、最後の数ヶ月に提出したCVEで、完全に無視されたと思っていたもの」
  • 「パッチも注目も得られなかった…でも製品の販売は中止された」
  • 「最終学位プロジェクトからCVEへ、その間に長い眠りがあった」

ともあれ、ここに物語があります。




📜 この CVE の背景

新しい脆弱性を開示する準備をしていたとき、何年も前に取り組んだ仕事を思い出しました – 最終学位プロジェクトで Thread や Zigbee といった IoT プロトコルを研究しているときに見つけたバグです。当時、MITRE に報告書を送りましたが、返事はなく、単に無視されたのだろうと思っていました。

ふと好奇心から、提出に使った昔の Gmail アカウントにログインしてみました…すると驚いたことに、2023年 – 3年後 – に実際に CVE が割り当てられているのを見つけました。

CVE-2021-27289、学生時代に報告した脆弱性に関連付けられたものです。

なぜこんなに時間がかかったのでしょうか?最初にベンダーに連絡したとき、彼らは修正するだけの人員がいないと言い、その言い訳を繰り返していました。私は MITRE に対し、誰もそれに対処しているようには見えないと伝えました。おそらく彼らは待っていたのでしょう – 結局この問題はパッチが当てられることは決してなかったからです。

このバグは Ksix が製造したいくつかの Zigbee ベースの IoT デバイスに影響を与えました。核心的な問題は、Zigbee 仕様で定義されフレームカウンタによって強制される再生保護メカニズムが適切に実装されていなかったことです。

デバイスがフレームカウンタを正しくチェックしなかったため、攻撃者はネットワークと通信し、シーケンス番号をデバイスが最後に認識した値よりも高い値に増やすだけでパケットを偽装できました。これにより、キャプチャしたメッセージを再生し、有効なものとして受け入れさせることが可能になり、結果として認証バイパスが発生しました。

このリポジトリには、最終プロジェクトで取り組んだすべてが含まれています:

  • 再生攻撃の明確な分析
  • 影響と影響を受けたデバイス
  • 元の記事とデモ動画へのリンク
  • 私が作成した実証コード(後に OffSec によって 2020 年に Exploit-DB で公開されました)



🛠️ 脆弱性

Ksix Zigbee IoT デバイスは、Zigbee の再生保護メカニズムの不適切な実装に起因する再生攻撃の脆弱性の影響を受けます。

  • CVE ID: CVE-2021-27289
  • CWE: CWE-294: キャプチャ・リプレイによる認証バイパス
  • Exploit-DB: Ksix Zigbee Devices - Playback Protection Bypass (PoC)

📦 影響を受けるデバイス

以下のバージョンでテストされ、脆弱であることが確認されました。それ以降のバージョンはテストしていないため、影響を受ける可能性もあります。

  • Ksix IoT Zigbee Gateway – v1.0.3
  • Ksix Zigbee Door Sensor – v1.0.7
  • Ksix Zigbee Motion Sensor – v1.0.12

これらの製品はベンダーのウェブサイトや Amazon などのプラットフォームではもう入手できず、製造中止になったようです。

🧬 技術的詳細

影響を受けるデバイスの Zigbee スタックは、Zigbee 仕様で定義されたフレームカウンタフィールドに依存する再生保護メカニズムを適切に強制しません。このフィールドは、受信したメッセージが新しいものであり、再生されたものではないことを保証するためのものです。

しかし、この実装ではフレームカウンタが無視されるか、正しく検証されません。その結果、攻撃者は正当な Zigbee パケットをキャプチャし、そのシーケンス番号をより高い値(例:250)に増やしてネットワークに再送信することができます。

デバイスはシーケンス番号のみをチェックするため、メッセージを新しいものとして受け入れます – これにより、認証や暗号化を破ることなく、偽装された通信と不正な操作が可能になります。

🎯 攻撃シナリオ

  1. 攻撃者はスニッファデバイス(例: APImote で KillerBee を実行、または TI CC2531 を Zigbee2MQTT と SmartRF Packet Sniffer 2 で使用するためにフラッシュしたもの)を使用して Zigbee パケットをキャプチャします。
  2. 攻撃者はキャプチャしたパケットのシーケンス番号を編集し、以前に見られた値よりも高い値(例:250)に設定します。
  3. 変更されたパケットが Zigbee ネットワークに再送信されます。
  4. 受信デバイスはそれを有効な新しいメッセージとして受け入れます。

デバイスの種類と環境への統合方法によっては、これにより、ユーザーがネットワークを設定するために使用した元のアプリに、偽のアラートやセンサー状態(例:動体検知、ドア開放)が表示される可能性があります – 実際には何も起こっていないにもかかわらずです。より複雑なセットアップでは、偽装されたデータに基づいて自動化ワークフローが不安定になったり、意図しない動作が引き起こされたりする可能性もあります。

💣 影響

これらのデバイスは通常、Tuya Smart などのアプリを使って設定され、センサーがトリガーされると(例えばドアが開いたり動体を検知したりすると)リアルタイムでユーザーに通知します。これにより、物理的なイベントが決して発生しなかったとしても、以下の攻撃が特に効果的になります。

  • 偽のアラートとセンサーのなりすまし:範囲内の攻撃者はキャプチャしたパケットを再生して、アプリ上でドアや窓が開いたように、あるいは家の中で動体が検知されたように見せかけることができます。実際には発生していませんが、アプリは家の中での実際の活動をシミュレートするプッシュ通知を送信するため、ユーザーを簡単に欺くことができます。
  • 混乱とサービス拒否(DoS):私の最終学位プロジェクトで実証したように、Zigbee パケットを操作することで、デバイス間の通信を破壊し、デバイスがモバイルアプリ上ではオンラインに見えるものの、実際にはネットワークの一部ではなくなるようにすることができます。この静かなサービス拒否により、アラートがユーザーに届かなくなり、物理的な侵入が隠蔽されたり、対応が遅れたりする可能性があります。

この特定の再生脆弱性の直接的な影響は限定的ですが、プロトコルをより深く理解することで – 私が最終学位プロジェクトで探求したように – 最小限のリソースで実行可能な、より高度な攻撃シナリオが明らかになります。

💻 実証コード

  • Exploit-DB
  • Packet Storm```

Exploit Title: Ksix Zigbee Devices - Playback Protection Bypass (PoC)

Date: 2020-11-15

Exploit Author: Alejandro Vazquez Vazquez

Vendor Homepage: https://www.Ksix.com/

Firmware Version: (Gateway Zigbee Module - v1.0.3, Gateway Main Module - v1.1.2, Door Sensor - v1.0.7, PIR Motion Sensor - v1.0.12)

Tested on: Kali Linux 2020.3

The coordinator of the Zigbee network (Zigbee gateway) does not correctly check the sequence number of the packets that are sent to it, which allows forging messages from an end device to the coordinator (example: turn on a light bulb, open a door, ...) by injecting a very large value in the "sequence number" field.

To exploit this vulnerability

1. Capture Zigbee traffic with a sniffer (Api-Mote) and save it in .pcap format

2. Open the file with Wireshark and locate the packet you want to forward (turn on a light bulb, open a door, ...)

3. Copy that packet as "hex dump" and save it to a .txt file

4. Modify the "sequence number" field to a high value such as 250

5. Convert the txt file to .pcap again

6. Forward the packet to the network, using a tool such as Killerbee

#!/bin/bash

function usage(){ echo -e "\nUsage: $0 [ZigbeeChannel] [SecuenceNumber] [HexDumpFile] [ShortSource] [ExtendedSource] [ShortDestination] [ShortPanId] [FCS]" echo -e "Example: $0 11 250 Open_Door_Alert_Hex_Dump 0x0001 11:ff:11:ff:11:ff:11:ff 0x0000 0x3333 0x0000 \n" echo -e "IMPORTANT: This is a script that I developed to understand how an IEEE 802.15.4 / Zigbee packet is formed, modify some fields of the packet in a simple way and see the effect when forwarding it to the network. If you want to exploit the vulnerability, follow the steps that I specify in the comments I make in the script. I exploited the vulnerability by spoofing a packet (sequence number 250) that contained the message "Door open".\n" }

function message(){ echo -e "\nProof of Concept" echo -e "There is an incorrect check of the "sequence number" field on Ksix Zigbee devices\n" echo -e "IMPORTANT: This is a script that I developed to understand how an IEEE 802.15.4 / Zigbee packet is formed, modify some fields of the packet in a simple way and see the effect when forwarding it to the network. If you want to exploit the vulnerability, follow the steps that I specify in the comments I make in the script. I exploited the vulnerability by spoofing a packet (sequence number 250) that contained the message "Door open".\n" }

ツールをダウンロード