はじめに
本記事はGeekのためのマルチツールであるFlipper Zeroについて、記載しています。
以下は2023年9月18日、XでFlipper Zeroの公式アカウントによって投稿されたポストです。
ポストの通りですがついに日本でもJoom経由でFlipper Zeroが購入可能になりました。
このポストが投稿される前までは、日本からだと正規のルートでは購入できなかったため、このポストを知った時は心躍りました。
Flipper Zero
Flipper Zeroは無線プロトコル、アクセス制御システム、ハードウェアなどのデジタル要素をハッキングできるマルチツールです。
たまごっちのように育成ゲームのような側面もあります。
信号を読み込んだりエミュレートすることで、ペットのイルカが成長します。
イルカは色々なアニメーションが用意されています。
本を読んでいるかと思えば...
SENPAI !!!
機能
以下のような無線通信を用いたハッキングができます。
- Sub-1 GHz Transceiver
- ガレージのドアやIOTセンサーなど1 GHz 未満の周波数帯域で動作するトランシーバー
- 125kHz RFID
- 低周波数帯域で動作するRFIDタグなどデータを非接触で読み書きするシステム
- NFC
-
Bluetooth
- デジタル機器用の近距離無線通信規格
- Infrared Transceiver
- テレビやエアコンなど赤外線を使用したデータの送受信
仕様
Flipper Zeroで使用するデータは、microSDカードに保存されます。
従ってFlipper Zeroを使用するためには、事前にmicroSDカードの購入が必要です。
※製品には含まれていません。
公式ドキュメントのMicroSD card setupを踏まえて、ファイルシステムはFAT12/16/32などFile Allocation Table及びExFATをサポートします。
容量は最大256GBのSDカードと互換性があますが、4GBで十分です。
SanDiskやKingstonなどのブランドが推奨されています。
技適マーク
技適について総務省のサイトを確認したところ、技術基準適合証明に関する以下の番号が確認できました。
工事設計認証番号:210-175991
技術基準適合証明とは、特定無線設備(小規模な無線局に使用するための無線設備)が電波法令の技術基準に適合していることを証明する制度1です。
技適マークは、製品が梱包されていた箱から確認できます。
また、Flipper Zeroの設定画面から「Rのマーク」も確認できます。
電波法に基づく技適マークは、Rに続く番号が付与されます。
技適マークは、電波法令で定めている技術基準に適合している無線機であることを証明するマークです。不明点については、総務省の技適マークのQ&Aをご参考にください。
購入方法
JoomのMarketplaceからの購入方法について以下に記載します。
購入に必要な流れは以下の通りです。
- アカウント登録
- Marketplace購入
Marketplace購入後の商品到着にかかる時間については、日本からの発送だったため、思ったより時間はかかりませんでした。
余談ですが、Flipper Zeroはその人気の高さからビットコイン目的のフィッシングサイトにも利用されました。
興味がある場合は「ハッカー向けたまごっち「Flipper Zero」のフィッシングサイト」の記事をご参照ください。
Amazonやメルカリでも出品されていますが、Joom経由の正規ルートで購入した方が、粗悪品を購入することなく安く入手できると思います。
アカウント登録
JOOM GEEKにアクセスして画面上部の「ログイン」を押します。
FacebookやGoogleアカウントが利用できます。
「ログイン方法をさらに表示」を押すと、メールアドレスなどを使用したアカウント登録もできます。
決済に関するクレジットカードの情報は、支払い時に入力します。
Marketplace購入
Flipper Zeroの公式サイトからの購入手順は、以下の通りです。
画面右上または中央の「BUY NOW」のボタンを押します。
「JOOM GEEK」を押します。
Flipper Zeroのストアが表示されます。
画面左上から支払い時の通貨を選択できます。
以下は、Flipper Zero本体とシリコンケースの2点を購入する場合の例です。
筆者は少しでも安く買うためにUSDを選択しました。
為替レートを考慮すると、支払い時の通貨の選択によって、実際に支払う金額に差が出ることが確認できます。
セットアップ
Flipper Zeroで遊ぶために最低限必要な作業は、公式ドキュメントのFirst startを踏まえて、以下の通りです。
- 電源投入
- Flipper Mobile Appのインストール
- SDカードのフォーマット
- ファームウェアのアップデート
ファームウェアのアップデートを行うためには、Flipperのモバイルアプリまたはデスクトップアプリケーション(qFlipper)のインストールが必要です。本記事ではモバイルアプリのiOSを使用します。
また、デスクトップアプリケーション(qFlipper)については、macOS、Windows、Linuxなど各種プラットフォームが用意されています。Firmware Updateのページからダウンロードできます。
電源投入
開封して箱の中身を確認します。
箱の中には本体、充電に使用するケーブル(USB Type-C)、説明書、シールが付属されています。
Flipper Zeroの本体を取り出します。
以下はシリコンケースです。
シリコンケースを装着しました。ケースの裏側はカタカナでフリッパーと書かれています。
BACKボタンを3秒間押し続けて、電源を投入します。
Flipper Zeroが起動します。
メッセージを確認して、引き続きSDカードのセットアップを行います。
Flipper Mobile Appのインストール
iOSの場合はApp Storeから、Flipper Mobile Appのアプリをインストールします。
Flipper Zeroの方は、Bluetoothの設定を「ON」に変更します。
Flipperのモバイルアプリ起動後、以下のような画面が表示されるので「Connect」を押します。
Flipperのモバイルアプリを確認すると、Flipper Zeroのデバイスが認識されているので「Connect」を押します。
Flipper Zeroのデバイスに接続されました。
SDカードのフォーマット
使用するのはSanDiskのSDカードです。
SDカード挿入後「OK」を押します。
「Format SD Card」を押します。
しばらくすると、フォーマットが完了するので「OK」を押します。
ファームウェアのアップデート
Flipperのモバイルアプリを起動後、以下のような画面が表示されている場合は「Update」を押します。
ファームウェアのアップデートが始まります。
アップデート終了後「OK」を押します。
Demo
いくつかの機能を紹介します。
Infrared Transceiver
テレビのリモコンを使用して赤外線を学習してみましょう。
メニュー画面から「Infrared」を押します。
「Learn New Remote」を選択します。
Flipper Zeroに対して、学習させたいリモコンのボタンを押します。
以下のような画面が表示されれば成功です。「Save」を押して保存します。
1度学習させれば、Flipper Zeroを用いてテレビを操作できます。
なお、1つのボタンに対して1回の学習が必要です。
Bad USB
Flipper ZeroをUSBデバイスとして認識させることでペイロード2の実行が可能です。
本記事では、最初から登録されていたdemo用のペイロードを実行してみます。
Flipper ZeroとPC(macOS)がUSB接続された状態で、Flipper Zeroのメニュー画面から「Bad USB」を押します。
「demo_macos」を押します。
「Run」を押します。
以下のような画面が表示されます。
PC(macOS)のターミナルを見ると、以下のような出力が確認できます。
Your Terminal % cat > /dev/null << EOF
heredoc> Hello World!
heredoc> ============================================================
heredoc>
heredoc> _.-------.._ -,
heredoc> .-"'''"--..,,_/ /'-, -, ¥
heredoc> .:" /:/ /'¥ ¥ ,_..., '. | |
heredoc> / ,----/:/ /'¥ _¥~'_-"' _;
heredoc> ' / /'"""'¥ ¥ ¥.~'_-' ,-"'/
heredoc> | | | 0 | | .-' ,/' /
heredoc> | ,..¥ ¥ ,.-"' ,/' /
heredoc> ; : '/'""¥' ,/--==,/-----,
heredoc> | '-...| -.___-Z:_______J...---;
heredoc> : ' _-'
heredoc> _L_ _ ___ ___ ___ ___ ____--"'
heredoc> | __|| | |_ _|| _ ¥| _ ¥| __|| _ ¥
heredoc> | _| | |__ | | | _/| _/| _| | /
heredoc> |_| |____||___||_| |_| |___||_|_¥
heredoc>
heredoc> Flipper Zero BadUSB feature is compatible with USB Rubber Ducky script format
heredoc> More information about script syntax can be found here:
heredoc> https://github.com/flipperdevices/flipperzero-firmware/blob/dev/documentation/file_formats/BadUsbScriptFormat.md
heredoc> EOF
新規にスクリプトを作成する場合は、.text
形式でペイロードを記述します。
スクリプト作成後、モバイルアプリまたはデスクトップアプリケーション(qFlipper)を使用して、SD Card/badusb
配下にアップロードします。
以下はデスクトップアプリケーション(qFlipper)の画面です。
Rubber Ducky スクリプトの構文については、BadUsbScriptFormat.mdから確認できます。
Flipper Lab
Flipper Labでは、コミュニティが開発したFlipper Zero用アプリケーションをインストールすることができます。
アプリケーションはGitHubで管理されているため、flipper-application-catalogのリポジトリに対して貢献することもできます。
おわりに
ハッカーとしてこんなにも心をくすぐられるガジェットは他にもないのではないでしょうか。
本記事では紹介しきれてませんが、Flipper Zeroは他にもGPIOピンを接続してハードウェアの制御、iButton、U2F (Universal 2nd Factor)の機能なども搭載しています。
遊ぶ際には、法に触れないようにしましょう。
-
Rubber Ducky スクリプト言語で書かれた一連のコマンド ↩