ワイヤレス監視:Kismetで不正APを半年間追跡して学んだこと

Networking tutorial - IT technology blog
Networking tutorial - IT technology blog

見えない外郭:なぜワイヤレス監視が重要なのか

ファイアウォールやVLAN、EDRには執着しがちですが、電波は後回しにされがちです。180日間の継続的なワイヤレス監査を経て、私は無線周波数(RF)スペクトルがしばしば巨大な死角になっていることに気づきました。30ドルのトラベルルーターや悪意のあるPineapple Nanoがあれば、数百万ドルのセキュリティ外郭を数秒でバイパスできてしまいます。それは想像以上に早く起こります。

最近の調査中、2階の物置から出ている不正なWi-Fi信号を特定しました。HVAC(空調)業者が、自分のTikTokを見るために電波を良くしようと、未許可のアクセスポイントを本番環境েরスイッチに接続していたのです。これは単なる趣味のプロジェクトではなく、セキュリティ上の必要事項です。電波を監視していないなら、本当の意味で安全とは言えません。

Kismetのアーキテクチャ:真のWIDS

一旦 airodump-ng のことは忘れてください。スポットチェックには最適ですが、Kismetは本格的なワイヤレス侵入検知システム(WIDS)です。ほとんどのスキャナーはチャネル間をホッピングしてパケットを取りこぼしますが、Kismetは複数の無線デバイスを同時に調整し、環境を隙間なく把握できます。

システムはサーバー・クライアントモデルを採用しています。サーバーがパケットのデコード、802.11フレームのフィンガープリント作成、アラートの発報といった重い処理を担当します。ユーザーは洗練されたリアルタイムのWebダッシュボードを通じて操作します。古臭いncursesインターフェースの時代は終わりました。モダンなUIにより、異常の特定を直感的かつ迅速に行えます。

知っておくべき主要コンセプト

  • モニターモード: 標準的なWi-Fi接続とは異なります。モニターモードでは、カードは「通信」を停止し、宛先に関係なく特定の周波数上のすべてのパケットを「傍受」し始めます。
  • データソース: Kismetは選り好みをしません。Wi-Fiカード, Bluetoothアダプター、ソフトウェア無線(SDR)からのデータを一つのストリームに統合します。
  • 情報要素(IE): Kismetは管理フレーム内の特定のIEタグを見てデバイスのフィンガープリントを作成します。これは単純なMACアドレスよりも偽装がはるかに困難です。

監視ステーションのセットアップ

ハードウェアの選択は重要です。Raspberry Pi 4は携帯性に優れていますが、本番環境の監査には専用のNUCを好んで使います。オフィスアワーのピーク時にKismetが毎秒2,000パケット以上を処理し始めると、CPUの余裕が必要になります。

1. インストール

標準リポジトリにある古いバージョンは避けましょう。最新のハードウェアをサポートするために、私は常にKismetの公式リリースビルドから直接取得しています。

wget -O - https://www.kismetwireless.net/repos/kismet-release.key | sudo apt-key add -
echo 'deb https://www.kismetwireless.net/repos/apt/release/jammy jammy main' | sudo tee /etc/apt/sources.list.d/kismet.list
sudo apt update
sudo apt install kismet

2. 無線デバイスの準備

ノートPC内蔵のカードでは不十分な場合が多いです。私はLinuxで非常に安定しているMT7612Uチップセットを搭載したAlfa AWUS036ACMを使用しています。手動でモニターモードに切り替えるには、iwを使用します:

# インターフェース名を確認
ip link show

# インターフェースをダウンさせ、モードを変更して、起動する
sudo ip link set wlan0 down
sudo iw wlan0 set type monitor
sudo ip link set wlan0 up

3. 権限と設定

Kismetサーバーをrootで実行してはいけません。重大なセキュリティリスクになります。代わりに、インストール時にユーザーを kismet グループに追加してください。変更を反映させるにはログアウトが必要です。設定を永続化させるには、/etc/kismet/kismet_site.conf にカスタム設定を記述します。そうすれば、次回の apt upgrade で消去されることはありません。

リアルタイムで不正デバイスを狩る

不正APの検出は、単に奇妙な名前を見つけるだけではありません。パターン認識が重要です。「エビルツイン(Evil Twin)」攻撃(攻撃者が企業のSSIDを複製する手法)は最も一般的な脅威です。従業員のスマホが、駐車場で信号強度が -30 dBm もある「Guest_WiFi」に接続し始めたら、何かがおかしいです。

異常の特定

http://localhost:2501 を開き、デバイスリストを監視します。私の毎日のチェックリストは以下の通りです:

  • BSSIDホワイトリスト: 稼働中の信号を、既知のCisco APのMACアドレスと比較します。もし当社のSSIDがTP-LinkやUbiquitiのMACアドレスから送信されていたら、侵入されたことがわかります。
  • 信号の近接性: Kismetが -45 dBm(非常に強い)の信号を報告しているのに、その発信源がフロアマップ上にない場合、ハンディユニットを持って物理的な捜索を開始します。
  • 暗号化の監視: 通常WPA3 Enterpriseが必要なネットワークが、突然WPA2-PSKを受け入れ始めた場合、Kismetは高優先度のアラートを発報します。

フォレンジック:ログからPCAPへ

Kismetはすべてを .kismet SQLiteデータベースに保存します。認証解除(deauthentication)フレームの洪水のような不審な動作を確認した場合は、特定の時間枠をWireshark解析用にPCAPとしてエクスポートします。

# データベースを標準のキャプチャファイルに変換
kismet_log_to_pcap --in suspicious_activity.kismet --out hunt.pcap

Wiresharkでは、wlan.fc.type_subtype == 0x0c でフィルタリングします。これらの「deauth」パケットが急増していれば、誰かがユーザーを本物のネットワークから切断させ、不正なネットワークに強制的に接続させようとしている明らかな証拠です。

6ヶ月後の結論:学んだ教訓

WIDSを24時間365日稼働させるのは「設定して終わり」ではありません。まず、ストレージを大量に消費します。忙しいオフィスでは、1日で4GBのキャプチャデータが生成されることもあります。最終的に、メタデータをアーカイブし、アラートが出ていない限り48時間ごとに生パケットを削除するスクリプトを自動化しました。

次に、ノイズのフィルタリングを学びましょう。スマート冷蔵庫や通り過ぎるテスラ車まですべて表示されます。私は現在、10分以上アクティブでないデバイスを除外するようにしており、ダッシュボードが一過性のトラフィックではなく、持続的な脅威に集中できるようにしています。

最後に

Kismetは「ウォードライビング」ツールから、私の防御スタックの要へと進化しました。標準的なネットワークコンソールでは太刀打ちできないレベルの可視性を提供してくれます。最近、電波の監査を行っていないのであれば、今週Kismetインスタンスを立ち上げてみてください。オフィスの空気に実際に何が浮遊しているかを知って、驚く(あるいは少し不安になる)かもしれません。

Share: