Kismetは、ワイヤレスWi-Fiネットワークを操作するための多機能の無料ユーティリティです。 主にハッキングのトピックに関する記事でユーザーになじみがあり、プログラムは隠されたネットワークの検出やパケットのキャプチャに使用されます。 他の人のネットワークをハックするのは悪いことですが、その一方でKismetは攻撃者の手にあるマスターキー以上のものです。 情報セキュリティエンジニアの武器として、このプログラムは802.11エーテルを監視および分析するための優れたツールになりつつあります。
Kismetプロジェクトは2001年に開始されました。 もともとGNU GPLの下でリリースされ、ほぼ10年間定期的に更新されていたこのプログラムは、コミュニティを成長させ、ネットワークアナライザーのトップ10に入りました。 Kismetはクロスプラットフォーム開発であるという事実にもかかわらず、一部の機能はLinuxでのみ利用可能であり、開発者はこの場合に最も完全なサポートを宣言しています。
設置
Kismetをインストールする前に、Wi-FiカードがRFMON監視モードをサポートしていることを確認する必要があります。 このモードは、802.11アダプターを監視モードに切り替えます。このモードでは、空中を通過するすべてのパケットをキャプチャします。 それはすべて特定のケースに依存し、一部のデバイスは問題なくこのモードをサポートします。一部のデバイスはサードパーティのドライバーによってのみサポートされ、個々のインスタンスにはそのような機能がまったくありません。
いつものように、リポジトリ内のパッケージは現在の開発よりも遅れているため、ソースコードの最新バージョンをダウンロードしてプログラムをビルドする方が合理的です。 ユーザーインターフェイスはCursesに基づいているため、適切なライブラリが必要になる場合があることを除いて、手順は標準と変わらず、システムの特定の要件は示されていません。 今後、Kismetには個別のQTグラフィカルインターフェイスがあることに注意してください。
開発者はさまざまなセキュリティ構成を提供します。 一部のアクション(たとえば、ネットワークアダプターの動作モードの変更)にはルートアクセスが必要なため、インストール中はセキュリティ設定に責任を持ってアプローチする必要があります。 このプログラムはクライアント/サーバーアーキテクチャ上に構築されているため、権利を配布するのは難しい作業ではありません。ドキュメントでは、この手順のニュアンスについて詳しく説明しています。
仕事の準備
すべてが正しく行われた場合、プログラムはkismetコマンドによって起動されます。

前述のように、Kismetはクライアントサーバーテクノロジー上に構築されているため、クライアントを起動すると、サーバーを起動するかそのアドレスを指定するように求められます。 この記事では、プログラムが同じマシンで使用されることを前提としているため、ローカルのマシンを実行する必要があります。

タスクに応じて、起動パラメータをサーバーに渡したり、ログを有効または無効にしたり、クライアントインターフェイスでサーバーコンソールを直接監視したりできます。

Kismetの紹介
サーバーに接続して起動すると、スキャンが開始されます。 Kismetは、見つかったネットワークに関する情報を表示します。 デフォルトでは、安全でないWEP暗号化を使用するネットワークは赤色で強調表示され、暗号化を使用しないネットワークは緑色で、WPA暗号化は黄色で表示されます。

リストの下の図は、放送中のパケットとデータを視覚的に表したもので、プログラムの他のウィンドウでも同様のグラフが見つかります。 ネットワークを選択すると、次の追加情報が表示されます:識別子(BSSID)、検出時間、暗号化方式、パケット数、および検出後に送信されるデータ量。 ネットワーク名の前にある感嘆符、ドット、またはスペースは、3つのレベルのアクティビティ、列T-ネットワークタイプ(A =アクセスポイント)、C-暗号化タイプ(W = WEP、N =なしなど)を示します。 データフィールドは、セットアップメニューから新しいフィールドを追加するのと同じように削除できます。 右側に、一般的な監視統計が表示され、フィルターされた値は、作成されたフィルターに該当するパケットの数を示します。 下部では、ログが保持されています。注意深い読者は、GPSDサーバーへの接続エラーに気付く可能性があります。 KismetはGPSデバイスと連携して、キャプチャしたデータに地理座標を提供できます。
ネットワークを選択すると、ウィンドウが開き、詳細情報が表示されます。

さらに2つのグラフィックインジケータを追加できます。[表示]メニューからの信号レベルと繰り返し回数です。 [表示]→[クライアント]コマンドは、選択したアクセスポイントに接続されているクライアントのリストを表示します。

ここでは、基本情報に加えて、重要なパラメーター、クライアントのIPアドレスが追加されます。
最後のKismetウィンドウには、顧客情報が表示されます。

プログラムを実際に使用する
従来、Kismetを使用して解決されるタスクは、分析と保護の2つの領域に分類できます。 前者の場合、蓄積された情報はサードパーティのアプリケーションで処理する必要があり、後者の場合、Kismetはさまざまな種類のネットワーク攻撃の検出器として機能します。 特定の例を使用して両方のプロファイルを検討する方が適切です。
地理統計収集
最近では、GoogleがWi-Fiアクセスポイントに関する情報を収集し、トラフィックの一部をキャプチャしたため、スキャンダルがなくなりました。 実際、Googleのブランドマネージャーであるラファエルライテリッツによると、ストリートビューの車は、ナビゲーションサービスと善行の全リストを開発するために、Wi-FiポイントとGSM基地局の座標を収集しました。 そのシステムは次のように機能しました。GoogleStreet View車はMaxrad BMMG24005アンテナを使用して802.11ブロードキャストを受信し、ルートに沿って移動し、周囲のWi-Fi範囲内のすべてのデータを取得しました。 受信したデータはKismetによって処理され、GPSレシーバーに関連して高品質の傍受ステーションを構築できます。
いわゆるストリートビューを扱う独自のストリートビュー車を作成します ウォードライビングは、一見すると思えるほど難しくはありません。 追加の機器のうち、GPS受信機があれば、データを地理的な場所にバインドできます。
情報の収集を開始するには、GPSデバイスを接続し、GPSDデーモンを介して動作するように構成する必要があります。 KismetはJSON形式で動作するため、GPSDキットに含まれるgpsfakeユーティリティが既存のナビゲーターログを再生できない限り、テストにGPSエミュレーターを使用することはできません。 ただし、GPSのセットアップはKismetの議論の範囲を超えています。
今回は、情報の収集を開始するためにサーバーをログモードで起動する必要があります。 デフォルトでは、アラームプロトコル、地理的XMLログ、検出されたネットワークのテキストリスト、ネットワークXMLログ、および
Pcap形式のダンプパケットの5種類のログが使用可能です。 理論的には、このファイルには空中を飛ぶ個人データが含まれている可能性があるため、Googleが一般から嫌がらせを受けたのは後者のせいです。
すべてが正しく行われると、メインウィンドウに現在の地理的位置のデータが表示されます。 一般的な考えに反して、KismetはWi-Fiポイントの座標を知らず、地理データはGPS受信機の座標にすぎません。 そして、大量の情報が存在する場合、ポイントを見つけることはかなり可能ですが、プログラムはそのようなタスクを設定しません-それはサードパーティ製品の問題です。

ログを移動する過程で急速に成長するため、空きメモリについて考える必要があります。
プログラムが受信したデータは、わかりやすいシンプルな形式で保存されます。 したがって、たとえば、関心のある地理的なXMLログは、次のような多くの要素で構成されています。
< gps-point bssid ="00:0C:42:2C:DA:C6" source ="00:0C:42:2C:DA:C6" time-sec ="1280155487" time-usec ="724329" lat ="47.133453" lon ="28.504967" spd ="0.000000" heading ="0.200000" fix ="3" alt ="1225.000000" signal_dbm ="-61" noise_dbm ="0" />
すべての属性は直感的であり、データを理解することはプログラマにとって難しくありません。 このデータの使用方法は、開発者が決定します。 お住まいの地域のアクセスポイントのWi-Fiマップを構築し、方向探知システムを開発できます。 Googleは、ベースステーションがガイドとして使用されていない場合に、擬似GPSナビゲーション用にこのデータを収集することを発表しました。 さまざまなログのデータを組み合わせることで、統計を収集し、マップやグラフを分析、編集できます。すべては想像力によってのみ制限されます。 誰でも自分の車でGoogleストリートビューの一部を構築し、有用な調査を行うことができます。
侵入検知
Kismetには、あまり求められていない機能ではありますが、より深刻な機能もあります。 多くの企業が内部通信にWi-Fiを使用していることは周知の事実です。 そのようなネットワークに関する情報は、一般の人々を対象としていないことがよくあります。 ワイヤレス保護は、内部セキュリティのレベルを維持することを目的とした他のどの手段よりも重要な手段です。 Kismetは、リンクおよびネットワークレベルでネットワーク攻撃の大規模なリストを検出できます。 これを行うために、プログラムはアラームアラートのメカニズムを実装します。
特定のケースのアラームルールは、構成ファイルで指定されます。 APSPOOFルールの例を使用して、侵入検知システムの操作を検討してください。 これは、おそらく最も簡単な方法の1つです。これにより、攻撃者が偽のアクセスポイントとして動作している
攻撃を認識することができます。
このルールの構成は次のようになります。
apsproof=Rule1:ssid="Politia", validmacs="70:3A:02:01:CE:AF"
Validmacs —保護する「Politia」という名前のアクセスポイントの有効なMACアドレス値。 Karma Toolsをトリガーとする攻撃であるKismetは、それを即座に検出し、アラートウィンドウとログに報告します。

他のアラームルールもまったく同じ方法で構成されます。 Kismetを使用してワイヤレスネットワークを保護することは、パケットをキャプチャすることと同じくらい難しくありません。また、他の手段と組み合わせて、セキュリティの全体的なレベルははるかに高くなります。
モルドバ共和国の情報とセキュリティサービスの元従業員の話から。 2005年に、ある会社が助けを求めて経営陣に頼りました。 ほぼ1年間、会社は間違った方向への送金を定期的に行いました。 内部のセキュリティサービスは肩をすくめました。会計士の出入りが確認され、銀行のエラーはありませんでしたが、何らかの方法で支払い注文が現れ、口座番号が変更されました。 すべてが些細なものであることが判明しました:一部の企業家は、1階下にオフィスを借り、Wi-Fiネットワークのパスワードを見つけ、支払いのデータを時々変更しました。会計士は、重要なオフィスで慎重に共有フォルダーに保存し、プリンターで一度に印刷しました。 作業中に、詐欺師はかなりの金額を盗みました。
これが真実であるかどうかは不明ですが、そのような話はよく起こり得たので、情報セキュリティエンジニアに、現代の企業ネットワークの重要で脆弱なコンポーネントであるWi-Fiワイヤレスデータテクノロジーについて再度思い出させることを目的としています。
おわりに
実際、この小さなプログラムはさらに議論することができます。 この記事では、その機能を大幅に拡張するプラグインのトピックについては触れていません。 少し前まで、Kismetは新しいコアに切り替えたため、プラグインの数はそれほど多くありませんが、それらの中にはまともなコピーもあります。DECTSnifferは、Kismetを使用して電話ネットワークを操作できるようにし、Bluetooth用のプラグインもあります。 しかし、これは別の出版物のトピックです。 そして、この記事は、ロシア語を話すユーザーに別の優れたネットワーク開発を紹介するという課題に対処したことを願っています。 おそらくKismetは、かつて私を助けてくれたように、仕事で誰かを助けるでしょう。
この記事の準備では、
Kismetのドキュメントを使用しました。この
ドキュメントには 、プログラムの操作に関する詳細が記載されています。 興味深い
Googleメール ワイヤレスネットワークに対するあらゆる種類のネットワーク攻撃を含む
wve.orgサイトの資料。
GPSDプロジェクトWebサイト (Linuxでの非常に優れたGPSドキュメント)、個人的な経験、友人の話、ネットワークの前線のベテラン支持者。
プログラムの最新バージョンは、常に
https://www.kismetwireless.net/download.shtmlで入手可能です
UPD:「情報セキュリティ」ブログに移動しました。