はじめに
Fluxion は、Wi-Fi セキュリティ監査に使用される人気のツールです。他の複雑なソフトウェアと同様に、操作中に問題が発生したり失敗したりすることがあります。このような場合、生成されるログファイルは、何が問題だったのかを理解するための貴重なリソースとなります。
この実験 (lab) では、トラブルシューティングを目的とした Fluxion のログファイルの分析の基本的なプロセスを学びます。基本的ながら強力な Linux コマンドラインツールを使用して、ファイルシステムをナビゲートし、ログファイルを検査し、特定のエラーメッセージを検索します。このスキルは、あらゆるセキュリティ実務家やシステム管理者にとって不可欠です。
Fluxion フォルダ内の 'logs' サブディレクトリに移動する
このステップでは、Fluxion がログファイルを保存するディレクトリに移動することから始めます。この実験 (lab) では、~/project フォルダ内に fluxion ディレクトリをシミュレートしました。ログは logs という名前のサブディレクトリにあります。
cd (change directory) コマンドを使用して、正しいフォルダに移動します。これは、検査する必要のあるファイルにアクセスするための最初のステップです。
ターミナルで次のコマンドを実行します。
cd fluxion/logs
コマンドを実行した後、ターミナルのプロンプトは新しい場所を反映するように変更され、現在は ~/project/fluxion/logs になっているはずです。現在の場所を確認するために pwd (print working directory) コマンドを使用することもできます。
pwd
次の出力が表示されるはずです。
/home/labex/project/fluxion/logs
最も新しいファイルを見つけるためにログファイルを一覧表示する
このステップでは、logs ディレクトリ内のファイルを一覧表示します。トラブルシューティングを行う際、最新の試行に対応する最も新しいログファイルに興味があることがよくあります。
ls コマンドは、ファイルやディレクトリを一覧表示するために使用されます。最も新しいファイルを見つけやすくするために、-lt フラグを使用できます。
lは、パーミッション、所有者、サイズ、変更日などの詳細を含む長いリスト形式を提供します。tは、変更時刻でファイルを並べ替え、最も新しいファイルが最初に表示されます。
次に、ls -lt コマンドを実行してログファイルを表示します。
ls -lt
次のような出力が表示され、最も新しいログファイルが一番上にあります。
total 8
-rw-r--r-- 1 labex labex 298 Oct 27 14:00 fluxion_20231027_140000.log
-rw-r--r-- 1 labex labex 234 Oct 26 10:30 fluxion_20231026_103000.log
この出力から、fluxion_20231027_140000.log が最も新しいログであることが簡単にわかります。
ログファイルの内容を表示するために 'cat' または 'less' を使用する
このステップでは、特定した最も新しいログファイルの内容を表示します。ファイルの内容を表示するためのコマンドはいくつかありますが、cat と less は最も一般的な 2 つです。
cat(concatenate) はファイルを読み込み、その内容全体をターミナルに出力します。小さなファイルに適しています。lessはファイルをスクロールできるページャーです。大きなファイルに最適です。
ログファイルは小さいので、cat が良い選択肢です。最も新しいログファイルである fluxion_20231027_140000.log の内容を表示しましょう。
次のコマンドを実行します。
cat fluxion_20231027_140000.log
ターミナルにログファイルの内容全体が表示されます。
[2023-10-27 14:00:01] INFO: Starting Fluxion v3.1
[2023-10-27 14:00:05] INFO: Scanning for wireless networks...
[2023-10-27 14:01:15] INFO: Target selected: OfficeNet
[2023-10-27 14:02:00] WARNING: Deauthentication attack failed. Target may be out of range.
[2023-10-27 14:02:05] INFO: Retrying attack...
[2023-10-27 14:03:45] ERROR: Handshake capture timed out.
[2023-10-27 14:03:50] INFO: Shutting down.
これで、Fluxion が操作中に記録したすべてのイベントを確認できます。
エラーメッセージや警告を検索する
このステップでは、「ERROR」や「WARNING」のような特定のキーワードを検索して、問題を迅速に見つける方法を学びます。長いログファイルを手動で読み取るのは非効率的です。grep コマンドは、テキストをフィルタリングし、特定のパターンに一致する行を見つけるための強力なツールです。
基本的な構文は grep "pattern" filename です。grep を使用して、ログファイル内の「ERROR」という単語を含む行を検索してみましょう。
次のコマンドを実行します。
grep "ERROR" fluxion_20231027_140000.log
出力には、パターンに一致する行のみが表示されます。
[2023-10-27 14:03:45] ERROR: Handshake capture timed out.
これにより、クリティカルな障害箇所がすぐに特定できます。同様に「WARNING」を検索して、潜在的な非クリティカルな問題を見つけることもできます。grep は -i フラグを使用して大文字・小文字を区別しない検索もサポートしています(例:grep -i "error")。これは、大文字・小文字の使い分けが不確かな場合に便利です。
タイムスタンプと攻撃失敗を関連付ける
このステップでは、発見した情報を活用して、失敗のコンテキストを理解します。エラーメッセージを見つけることは、プロセスの半分にすぎません。エラーが発生した理由を完全に理解するには、その直前に発生したイベントを確認する必要があります。
前のステップで見つけたエラー行を再度確認してください。
[2023-10-27 14:03:45] ERROR: Handshake capture timed out.
タイムスタンプ 14:03:45 が鍵となります。ここで、ログの全内容を再度確認し(cat fluxion_20231027_140000.log を再度使用できます)、このタイムスタンプの直前のエントリを見てみましょう。
...
[2023-10-27 14:02:00] WARNING: Deauthentication attack failed. Target may be out of range.
[2023-10-27 14:02:05] INFO: Retrying attack...
[2023-10-27 14:03:45] ERROR: Handshake capture timed out.
...
タイムスタンプを関連付けることで、イベントのタイムラインを構築できます。
14:02:00に、認証解除攻撃(deauthentication attack)が失敗しました。14:02:05に、Fluxion は攻撃を再試行しました。- 約 1 分半後の
14:03:45に、ハンドシェイクキャプチャがタイムアウトし、最終的なエラーにつながりました。
この分析は、問題が認証解除攻撃またはターゲットの応答性に関連しており、Fluxion 自体のソフトウェアバグではないことを示唆しています。これが効果的なログベースのトラブルシューティングの中核です。タイムスタンプを使用してイベントを接続し、根本原因を診断します。
まとめ
この実験の完了、おめでとうございます!Linux 環境におけるログファイルの分析に必要なスキルを習得しました。これは、Fluxion のようなアプリケーションのトラブルシューティングにおいて非常に重要なタスクです。
この実験では、以下のことを実践しました。
cdを使用したファイルシステム内の移動。ls -ltを使用したファイルのリスト表示とソートによる最新ファイルの検索。catを使用したファイル内容の表示。grepを使用した「ERROR」のような特定のキーワードの検索。- タイムスタンプの関連付けによる、障害に至るイベントのシーケンスの理解。
これらの基本的なコマンドラインスキルは応用可能であり、システム管理、開発、セキュリティ分析の多くの分野で役立ちます。
