WiFiBeat:疑わしい無線トラフィックを検出







この記事では、802.11フレームをElasticsearchに送信できるエージェントであるWiFiBeatについて説明します。Elasticsearchでは、それらを分析し、グラフを作成し、攻撃を検出できます。 このシステム全体は、完全にフリーソフトウェア上に構築されています。



はじめに



ユーティリティ公式サイト

GitHub



WiFiBeatを使用すると、モニターモードでWi-Fiアダプターを操作し、JSONフレームからオブジェクトを作成して、 Elasticsearch分析エンジンのデータベースに送信できます。 さらに、WiFiBeatはPCAPファイルからフレームを読み取ることができます。



収集された情報の分析は、Elasticの別の無料製品であるKibanaビジュアライザーで行われます。







WiFiBeatは公式にUbuntu 16.04で安定して動作しますが、もちろん、他のディストリビューションでも実行できますが、ユーティリティが作成されたライブラリバージョンの依存関係と不一致に問題がある可能性があります。 WiFiBeatを起動するには、 TP-LINK TL-WN722N USB Wi-Fiアダプターがモニターモードで接続されている64ビットUbuntu 16.04を使用します。

ElasticsearchとKibanaは64ビットDebian 9にデプロイされます。



WiFiBeatをインストールする



インストールプロセスの詳細は、 GitHubで説明されています



libtinsをインストールする



wget https://github.com/mfontanini/libtins/archive/v3.5.tar.gz tar -zxf v3.5.tar.gz cd libtins-3.5 apt-get install libpcap-dev libssl-dev build-essential libboost-all-dev mkdir build cd build cmake ../ -DLIBTINS_ENABLE_CXX11=1 make make install ldconfig
      
      





不足しているパッケージをシステムにインストールします



 apt-get install libyaml-cpp-dev libpoco-dev rapidjson-dev libtsan0 libboost-all-dev libb64-dev libwireshark-data build-essential libnl-3-dev libnl-genl-3-dev libnl-idiag-3-dev
      
      





CodeliteをインストールしてWiFiBeatをビルドします



 apt-get install codelite codelite-plugins
      
      





codeliteを実行し、新しいワークスペースを作成します







タイプC ++







ディレクトリを覚えておいてください







ワークスペースが作成されたら、ディレクトリに移動し、GitHubからWiFiBeatとライブラリをダウンロードします。



 cd /root/WiFiBeat git clone https://github.com/WiFiBeat/WiFiBeat git clone https://github.com/WiFiBeat/elasticbeat-cpp git clone https://github.com/WiFiBeat/simplejson-cpp
      
      





codeliteで3つのプロジェクトすべてをワークスペースに追加します











結果は次のようになります







プロジェクトのリストでwifibeatをダブルクリックすると、目立つはずです







wifibeatを右クリックし、ビルドを選択します







コンパイラが選択されていない場合は選択し、再度ビルドします







すべての依存関係がシステムにインストールされ、その前にすべてを正しく行った場合、コンパイルプロセスの最後にエラーがないことを示すメッセージが表示されます。



 ====0 errors, 2 warnings, total time: 00:01:13 seconds====
      
      





カスタマイズ



ElasticsearchとKibanaのインストールプロセスについては、この記事では取り上げません。 このテーマに関する十分な資料がネット上にあります。 マシン192.168.1.30で動作し、マシン192.168.1.31でWiFiBeatで動作すると仮定します。 ElasticsearchはHTTPポート9200でリッスンし、認証を必要としません。



Wi-Fiアダプターをマシン192.168.1.31に接続し、モニターモードにしました。

システムでは、mon0として表示されます。



WiFiBeatのあるディレクトリから、設定ファイルをetcにコピーして編集します



 cp wifibeat.yml /etc vi /etc/wifibeat.yml
      
      





このファイルはよく文書化されており、主なオプションを簡単に説明します。



2.4 GHz帯域の5番目のチャネルで動作する1つのネットワークのトラフィックを分析します。

したがって、インターフェイス設定には1つのエントリを残します。 一度に複数のチャンネルを分析し、それぞれのリスニング時間を設定することが可能です。



 wifibeat.interfaces.devices: mon0: [5]
      
      





セクション出力ファイルからすべてを削除します

PCAPフィルターのセクションでは、以下を設定します



 wifibeat.interfaces.filters: mon0: type mgt
      
      





ここでは、 Wiresharkと同様にフィルターが示されています。この場合、802.11管理フレームのみに関心があることを示しています。 これらには以下が含まれます。





「ローカルファイル」セクションと「復号化」セクションでは、すべてコメントアウトしました。この例では暗号化キーは必要ありません。また、PCAPファイルからも読み取りません。



[キュー]セクションでは何も変更せず、[出力]セクションでElasticsearchのアドレスとポートを設定します。



 output.elasticsearch: enabled: true protocol: "http" # Array of hosts to connect to. hosts: [ "192.168.1.30:9200" ]
      
      





保存して、WiFiBeatのあるディレクトリとDebugサブディレクトリに移動します。 これには、コンパイルされたwifibeat実行可能ファイルが含まれている必要があります。



打ち上げ



192.168.1.30マシンでElasticsearchとKibanaを起動します。 ポート9200(Elasticsearch)およびKibana(5601)がリッスンしていることを確認します。



マシン192.168.1.31で、構成にエラーがなかったことを確認します



 ./wifibeat -d
      
      





設定ファイルの解析が表示されます。 エラーがある場合、wifibeatは問題を報告します。 すべてが順調であれば、実行



 ./wifibeat -f
      
      





-fスイッチを使用すると、wifibeatを非デーモンモードで実行できます。 これまでのところ、私たちにとってはより便利です。



Kibanaを開いてインデックスを確認すると、新しいwifibeat *インデックスが表示されていることがわかります。







Kibanaをセットアップします。 管理、インデックスパターンに移動







新しいテンプレートを作成します。











メインとしてマークする







WiFiBeatに付属のダッシュボードとビジュアライゼーションをインポートします











WiFiBeat / kibanaディレクトリからkibana.jsonファイルを選択します



インポートが成功した場合は、[ダッシュボード]タブに移動し、そこでWLANを見つけることができます







wifibeat.ymlでフィルターを使用しない場合、次のようになります。







フィルター(この場合)では、コントロールフレームとデータフレームにデータは表示されません。



ダッシュボードに加えて、新しい視覚化があります。











結論として



次に、Elasitcパッケージの別のコンポーネントであるX-Packを使用して、認証解除フレームのバーストを検出したときのアクションを設定できます。これは、DoS攻撃またはブルートフォースのハンドシェイクを取得しようとする可能性があります。 このようにして、ワイヤレス攻撃検出システムを構築できます。



All Articles