お久しぶりです。ゆーろんです。
今回はpwnagotchというWIFIに関する脆弱性調査ガシェットを紹介いたします。 アスキーアートで表現された顔文字が特徴なかわいらしい電子ペットです。
目次
Pwnagotchiとは
「Pwnagotchi(ポーナゴッチ)」はWi-Fiの脆弱性を突いてその情報を収集する電子ペットキット。
具体的にはWPA, WPA2の4Wayハンドシェイク、アソシエーションを傍受しその情報を集めるデバイスです。
これはKrackと呼ばれる脆弱性に関する情報を集めているのに等しいです。
特徴としてWi-Fiを探査する際に深層強化学習アルゴリズムを用いて行われることがあります。 なおこのガジェットはセキュリティの勉強のために設計されているため、WIFIの攻撃を直接できない設計になっています。
製作
筆者はAmazonとスイッチサイエンスで材料をそろえました。 材料費は1万円以内程度でした。
なお2022年現在、入手できる電子ペーパディスプレイWaveshareがV4.0となっていることが多いです。 このバージョンは公式ファームウェアがサポートしていないため、対応させる方法に関して後ほど紹介します。
材料
最低限の材料は以下の通り。
- Raspberry pi zero w(wh)
- Waveshare 2.13inch 電子ペーパディスプレイ
- MicroSD (最低8GB)
- 持ち運び用のモバイルバッテリなどの電源
オプショナルな材料は以下の通り。
- Raspberry pi zeroのケース
- Raspberry pi zero用バッテリ
構築
筆者は上記写真の部品を用意しました。
組み立て方自体は簡単でRaspberry pi zeroのGPIOピンにWaveshareを指すだけでハードウェア自体は完成します。
またMicroSDカードにEtcher等でOSを焼き、その後に日本語用の設定などを行います。 初回起動時はキーを作成するため5~10分程度時間がかかります。そのため途中で電源を切らないようにしてください。 日本語設定の方法は以下記事が役に立つと思いますので割愛し、代わりに以下記事を記載します。
なおWaveShareの電子ペーパディスプレイを最近購入される場合、Versionシールが4.0になっていることが多いようです。
この場合v1.5.5のファームウェアでは対応していないため、設定方法は以下記事(英文)に従ってください。
Error
CODE: 400 MESSAGE: Unable to retrieve content from the URL.簡潔に要約すると以下の通りです。
なおpwnagotchiのファームウェアは最新(2023/11時点)v1.5.5での使用を想定しています。
- コチラのリンクからファイルをすべてダウンロード
- /usr/local/lib/python3.7/dist-packages/にダウンロードしたファイルを上書きもしくは元あったファイルを削除して貼り付ける
- /etc/pwnagotchi/config.tomlのディスプレイ設定をwaveshare_3にする
- 再起動する
上記手法でWaveshare v4でのディスプレイの表示設定が可能となります。
まとめ
PwnagotchiはWIFIの脆弱性、特にWPA,WPA2セキュリティ規格の調査に最適なツールであると言えます。
傍受に成功した4wayハンドシェイクはpcapファイルで保存されるため解析なども可能です。
次回はこれを用いて調査を行い、傍受した結果からどれだけ脆弱性のあるアクセスポイントがあるのかを解析したいと思います。