はじめに:makeivs-ngとは? 🤔
makeivs-ng
は、有名な無線LANセキュリティ評価ツールスイートである Aircrack-ng に含まれるコマンドラインツールの一つです。その主な目的は、既知のWEPキーを使用して、初期化ベクトル(IV)を含むダミーのダンプファイル(通常は .ivs
形式)を生成することです。
「なぜそんなものが必要なの?」と思うかもしれませんね。主な理由はテスト目的です。WEP(Wired Equivalent Privacy)は古い暗号化プロトコルであり、深刻な脆弱性があることが知られています。aircrack-ng
などのツールはこのWEPキーを解読できますが、その解読アルゴリズム(FMS攻撃、KoreK攻撃、PTW攻撃など)の動作を検証したり、デモンストレーションしたりするためには、解読対象となるデータが必要です。
実際の無線LAN環境から十分なIVを収集するのは時間がかかる場合があります。そこで makeivs-ng
の出番です。既知のWEPキーを指定することで、特定のアクセスポイント(BSSID)に関連付けられたIVデータを擬似的に大量生成し、ファイルに保存できます。この生成された .ivs
ファイルを aircrack-ng
に入力すれば、ツールが正しくキーを解読できるか、どの程度のIVが必要かなどを効率的にテストできるわけです。
⚠️ 重要:倫理的利用について
makeivs-ng
を含む Aircrack-ng スイートは、自身が管理するネットワークのセキュリティ評価や、教育・研究目的でのみ使用してください。他者のネットワークに対して許可なくこれらのツールを使用することは、法律で禁止されており、重大な結果を招く可能性があります。この記事は技術的な解説を目的としており、不正行為を助長するものではありません。
また、WEP は現在では極めて安全性が低いプロトコルとされており、実際の運用環境での使用は推奨されません。WPA2 や WPA3 といった、より強力なセキュリティプロトコルを使用してください。
makeivs-ngのインストール 💻
makeivs-ng
は Aircrack-ng スイートの一部として提供されています。したがって、Aircrack-ng をインストールすれば makeivs-ng
も利用可能になります。
多くのLinuxディストリビューションでは、パッケージマネージャを使って簡単にインストールできます。
Debian / Ubuntu / Kali Linux の場合 (apt)
sudo apt update
sudo apt install aircrack-ng
特に、ペネトレーションテストやセキュリティ監査に特化した Kali Linux では、Aircrack-ng スイートが標準でインストールされていることが多いです。
Fedora / CentOS / RHEL の場合 (dnf/yum)
sudo dnf install aircrack-ng # Fedora
sudo yum install aircrack-ng # CentOS/RHEL (EPELリポジトリが必要な場合があります)
Arch Linux の場合 (pacman)
sudo pacman -S aircrack-ng
ソースからのコンパイル
最新版を利用したい場合や、ディストリビューションのパッケージが存在しない場合は、公式サイトからソースコードをダウンロードしてコンパイルすることも可能です。手順は Aircrack-ng のドキュメントを参照してください。
# 依存関係のインストール (例: Debian/Ubuntu)
sudo apt install build-essential autoconf automake libtool pkg-config libnl-3-dev libnl-genl-3-dev libssl-dev ethtool shtool rfkill zlib1g-dev libpcap-dev libsqlite3-dev
# ソースコードの取得とコンパイル
wget https://download.aircrack-ng.org/aircrack-ng-1.7.tar.gz # 最新版のURLを確認してください
tar -zxvf aircrack-ng-1.7.tar.gz
cd aircrack-ng-1.7
autoreconf -i
./configure
make
sudo make install
sudo ldconfig
インストール後、ターミナルで以下のコマンドを実行して、makeivs-ng
が利用可能か確認できます。
makeivs-ng --help
ヘルプメッセージが表示されれば、インストールは成功しています🎉。
基本的な使い方 🚀
makeivs-ng
の基本的な構文は非常にシンプルです。
makeivs-ng [オプション]
最も重要なオプションは、WEPキー (-k
) と出力ファイル名 (-w
) です。以下は、最も簡単な使用例です。
# WEPキー 'ABCDEF1234' (16進数で 41424344454631323334) を使用し、
# デフォルトのIV数(100,000)を生成し、'test.ivs' に保存する
makeivs-ng -k 41424344454631323334 -w test.ivs
このコマンドを実行すると、makeivs-ng
は指定されたWEPキーからIVを生成し始め、デフォルトでは100,000個のIVを含むデータを test.ivs
というファイルに書き込みます。
処理が完了すると、以下のようなメッセージが表示されるはずです。
Creating 100000 IVs with 16 bytes of keystream each.
Estimated filesize: 2.29 MB
Using fake BSSID DE:AD:BE:EF:CA:FE
Done.
これで、aircrack-ng
でテストするための test.ivs
ファイルが生成されました。aircrack-ng
でこのファイルを読み込んで、指定したWEPキーが正しくクラックされるかを確認できます。
aircrack-ng test.ivs
aircrack-ng
が実行され、IVデータを分析し、最終的に KEY FOUND! [ 41:42:43:44:45:46:31:32:33:34 ]
のように、元のWEPキーを発見できれば成功です。
主要なオプション解説 ⚙️
makeivs-ng
には、生成プロセスを細かく制御するための様々なオプションが用意されています。以下に主要なものを表でまとめます。
オプション | 別名 | 引数 | 説明 | デフォルト値 |
---|---|---|---|---|
-b |
--bssid |
<bssid> |
生成するIVに関連付けるアクセスポイントのMACアドレス(BSSID)を指定します。例: 00:11:22:33:44:55 |
DE:AD:BE:EF:CA:FE (ダミー) |
-k |
--key |
<key> |
必須。ターゲットネットワークのWEPキーを16進数形式で指定します。バイト間の区切り文字(: など)はあってもなくても構いません。 (例: 1A2B3C4D5E や 1A:2B:3C:4D:5E ) |
なし |
-s |
--seed |
<num> |
乱数生成器のシード値を指定します。-p (--prng ) オプションと組み合わせて使用できます。同じシード値を使えば、再現性のあるIV列を生成できます。 |
時間に基づく値 |
-w |
--write |
<file> |
必須。生成されたIVデータを書き込むファイル名を指定します。通常は .ivs 拡張子をつけます。 |
なし |
-c |
--count |
<num> |
生成するIVの総数を指定します。 | 100,000 |
-d |
--dupe |
<num> |
生成するIVのうち、重複させる割合をパーセンテージで指定します。 (0-100) | 0 |
-e |
--error |
<num> |
生成するキーストリームのうち、エラーを含むものの割合をパーセンテージで指定します。(0-100) これは、実際のキャプチャデータにより近い状況をシミュレートするのに役立つ場合があります。 | 0 |
-l |
--length |
<num> |
キーストリームのサイズ(バイト単位)を指定します。 | 16 |
-n |
--nofms |
なし | FMS攻撃などで弱点とされる「弱いIV (weak IVs)」を生成しないようにします。 | 弱いIVも生成する |
-p |
--prng |
なし | IVを生成する際に、シーケンシャル(連番)ではなく、擬似乱数生成器(PRNG)を使用します。 | シーケンシャル |
-f |
--first |
<num> |
生成する最初のIVの値を指定します。(通常はあまり使用しません) | 0 |
--help |
なし | ヘルプメッセージを表示して終了します。 | なし |
これらのオプションを組み合わせることで、特定のテストシナリオに合わせたIVデータを生成することが可能です。
実践的な例とシナリオ 🛠️
ここでは、いくつかの具体的なコマンド例と、それらがどのような状況で役立つかを見ていきましょう。
例1: 特定のBSSIDと少量のIV生成
特定のアクセスポイント (BSSID: 00:1A:2B:3C:4D:5E
) に対して、WEPキー 1122334455
を使用し、テスト用に少なめの 5,000 IV を生成して small_test.ivs
に保存したい場合。
makeivs-ng -b 00:1A:2B:3C:4D:5E -k 1122334455 -c 5000 -w small_test.ivs
これは、aircrack-ng
の基本的な動作確認や、非常に少ないIV数でクラックできるか(PTW攻撃などの効率が良い場合)をテストするのに役立ちます。
例2: 乱数IVとエラーを含むデータ生成
より現実のキャプチャデータに近い状況をシミュレートするため、IVをランダム (-p
) に生成し、5%の重複 (-d 5
) と 2%のエラーを含むキーストリーム (-e 2
) を持つ 200,000 IV を生成したい場合。WEPキーは DEADBEEFCAFE
、出力ファイルは realistic_sim.ivs
。
makeivs-ng -k DEADBEEFCAFE -c 200000 -p -d 5 -e 2 -w realistic_sim.ivs
これにより、aircrack-ng
が多少ノイズのあるデータに対しても、どの程度頑健に動作するかをテストできます。
例3: 128ビットWEPキー(104ビット + 24ビットIV)のテスト
長いWEPキー(例: 26文字の16進数キー 112233445566778899AABBCCDDEE
)でテストする場合。
makeivs-ng -k 112233445566778899AABBCCDDEE -c 150000 -w wep128_test.ivs
128ビットWEP(実際には104ビットキー + 24ビットIV)は、64ビットWEP(40ビットキー + 24ビットIV)よりも多くのIVが必要になる傾向があるため、-c
オプションで生成数を調整すると良いでしょう。
生成されたIVSファイルの活用
生成された .ivs
ファイルは、主に aircrack-ng
でWEPキーのクラックテストに使用されます。
aircrack-ng realistic_sim.ivs
また、ivstools
という別の Aircrack-ng スイートのツールを使って、複数の .ivs
ファイルをマージしたり、.pcap
ファイルから .ivs
を抽出したりすることも可能です(ただし、makeivs-ng
の主な用途は生成です)。
# 例: 2つのivsファイルをマージ (ivstoolsを使用)
ivstools --merge file1.ivs file2.ivs merged_output.ivs
💡 補足:WEPと現代のセキュリティ
繰り返しになりますが、WEPは非常に古い技術であり、今日では安全ではありません。makeivs-ng
や aircrack-ng
によるWEPクラックのデモンストレーションは、主に暗号技術の歴史や脆弱性分析の教育目的で行われます。
現代の無線LANでは、WPA2またはWPA3が標準です。これらのプロトコルに対する攻撃(例:WPAハンドシェイクのキャプチャと辞書攻撃/ブルートフォース攻撃)は、WEPクラックとは異なるツールや手法(aircrack-ng
もWPAに対応していますが、hashcat
なども使われます)が必要であり、makeivs-ng
は直接関係しません。
まとめと注意点 ✨
makeivs-ng
は、Aircrack-ng スイートに含まれる、特定のWEPキーに基づいたIVSダンプファイルを生成するためのツールです。主な目的は、aircrack-ng
などのWEPクラックツールのテストやデモンストレーションを容易にすることです。
- 既知のWEPキーからテスト用のIVデータを生成できる。
- 生成するIVの数、BSSID、エラー率などをオプションで制御可能。
- 生成された
.ivs
ファイルはaircrack-ng
で使用できる。 - Aircrack-ng スイートの一部であり、通常は
sudo apt install aircrack-ng
などでインストールできる。
🚨 再度の注意喚起
- 倫理的な使用: 自身が管理権限を持つネットワーク、または明確な許可を得たネットワークに対してのみ使用してください。不正アクセスは犯罪です。
- WEPの脆弱性: WEPは時代遅れで安全ではありません。このツールや技術解説は、セキュリティの学習や過去の技術理解を目的としています。実際の環境ではWPA2/WPA3を使用してください。
- ツールの目的理解:
makeivs-ng
は「既知のキー」からIVを「生成」するツールであり、未知のキーを「解読」するツールではありません(解読はaircrack-ng
が行います)。
makeivs-ng
は、WEPの仕組みやその脆弱性を理解する上で役立つツールですが、その利用は常に倫理的な範囲に留め、現代のセキュアなプロトコルの重要性を認識することが重要です。
参考情報:
- Aircrack-ng 公式サイト Tools ドキュメント: https://www.aircrack-ng.org/doku.php?id=tools
- Kali Linux Tools – aircrack-ng (makeivs-ng含む): https://www.kali.org/tools/aircrack-ng/
コメント