Raspberry Pi の ParrotOS に標準でインストールされている「aircrack-ng」を使って、自宅内のWi-Fi情報を収集してみる。
以下、「aircrack-ng」の使い方を記録。
スポンサー リンク
目 次
1. Aircrack-ngとは
Aircrack-ngとは
WiFiネットワークに対するセキュリティ監査ツールで、 パケット解析やWEPやWPA、WPA2解読といった無線LANを分析するフトウェア群で構成される。
これらの機能を使って、ネットワーク上の弱点を特定することが出来る。
aircrack-ngを構成するソフトウェア群には以下のものがある。
名前 | 説明 |
---|---|
aircrack-ng | WEPキーをFMS攻撃、PTW、Korek、辞書攻撃でクラックする。また、WPA/WPA2-PSKを辞書攻撃する。 |
airdecap-ng | 既知のキーを使用してWEPまたはWPA暗号化キャプチャファイルを復号する。 |
airmon-ng | 異なるカードをモニターモードにする。 |
aireplay-ng | パケットインジェクター(Linux、およびCommViewドライバーを備えたWindows)。 |
airodump-ng | パケットスニファ:エアトラフィックをpcapまたはIVSファイルに配置し、ネットワークに関する情報を表示する。 |
airtun-ng | 仮想トンネルインターフェースクリエーター。 |
packetforge-ng | インジェクション用の暗号化されたパケットを作成する。 |
ivstools | マージおよび変換するツール。 |
airbase-ng | アクセスポイントではなく、クライアントを攻撃するための手法を組み込んでいる。 |
airdecloak-ng | pcapファイルからWEPクローキングを削除する。 |
airolib-ng | ESSIDとパスワードのリストを保存および管理し、ペアワイズマスターキーを計算する。 |
airserv-ng | 他のコンピュータからワイヤレスカードにアクセスできる。 |
buddy-ng | easside-ngのためのヘルパーサーバー、リモートコンピューターで実行。 |
easside-ng | WEPキーを使用せずにアクセスポイントと通信するためのツール。 |
tkiptun-ng | WPA/TKIP攻撃ツール。 |
wesside-ng | WEPキー回復のための自動ツール。 |
今回使用したツール。
airmon-ng:無線LANインターフェースのステータス確認やモードの切り替え。
airodump-ng:端末周辺の Wi-Fi 情報の表示やパケットのキャプチャ。
aircrack-ng:収集したデータの解析。
airmon-ng:無線LANインターフェースのステータス確認やモードの切り替え。
airodump-ng:端末周辺の Wi-Fi 情報の表示やパケットのキャプチャ。
aircrack-ng:収集したデータの解析。
2. Wi-Fiパケットのキャプチャ環境
Raspberry Pi:Raspberry Pi 4 Model B Rev 1.2
Wi-Fiアダプター:Buffalo WLI-UC-GNM
Wi-Fiアダプター:Buffalo WLI-UC-GNM
OS:Linux ParrotOS 6.6.20
無線NICの状態を確認する。
ifconfigを置き換えるipコマンドでの確認。
ip a
wlan0が内蔵のwifiチップで、Broadcom BCM43438。
wlan1が外付けしているUSB wifiアダプタで、BuffaloのWLI-UC-GNM。
無線関連の情報取得・設定を行うiwconfigを置き換えるiwコマンドでの確認。
iw dev
phy#1:wlan1が外付けしているUSB wifiアダプタ。
インターフェースのタイプが「type managed」となっている。
インターフェースのタイプが「type managed」となっている。
phy#0:wlan0が内蔵wifiチップ。
iw devコマンドで表示される項目の詳細。
Interface : インターフェースの名前(例えばwlan0など)。
ifindex : インターフェースのインデックス番号。システム内部での識別子。
wdev 0x: ワイヤレスデバイスID。内部で使用されるデバイスの識別子。
addr : インターフェースのMACアドレス。
ssid:無線ローカルエリアネットワークの名前。
type : インターフェースのタイプ(managed, monitor, AP, P2P-clientなど)。
wiphy : ワイヤレスデバイスの識別子。物理的な無
channel : 現在のチャンネルの詳細。周波数、帯域幅、センターチャンネル。
txpower : 現在設定されている送信パワー。
multicast TXQ:マルチキャストの送信キューに関する情報。
ifindex : インターフェースのインデックス番号。システム内部での識別子。
wdev 0x: ワイヤレスデバイスID。内部で使用されるデバイスの識別子。
addr : インターフェースのMACアドレス。
ssid:無線ローカルエリアネットワークの名前。
type : インターフェースのタイプ(managed, monitor, AP, P2P-clientなど)。
wiphy : ワイヤレスデバイスの識別子。物理的な無
channel : 現在のチャンネルの詳細。周波数、帯域幅、センターチャンネル。
txpower : 現在設定されている送信パワー。
multicast TXQ:マルチキャストの送信キューに関する情報。
3. ネットワーク管理プロセスの停止
以下、Aircrack-ng関連コマンドのために「root権限」へ昇格しておく。
sudo su
「airmon-ng check」コマンドで airmon-ng へ影響を与える全プロセスを確認。
airmon-ng check
ネットワーク管理プロセスが立ち上がっていると airmon-ng の動作が阻害されるので、ネットワーク管理プロセスを停止する。
「airmon-ng check kill」コマンドでの一括停止。
airmon-ng check kill
ネットワーク管理プロセスの再確認。
airmon-ng check
すべてのプロセスが停止された。
4. 無線NICをモニタモードにする
無線NICをモニタモードに切り替える。
「airmon-ng start <ネ ットワークアダプタ名>」でモニタモードを開始する。
airmon-ng start wlan1
無線NICの状態がどう変化したか、再確認する。
インターフェース名に「wlan1mon」が追加された。
インターフェース名が「wlan1mon」に変わり、インターフェースのタイプが「type monitor」となった。
5. 端末周辺の Wi-Fi 情報の表示
「airodump-ng」を実行してネットワークを検出する。
airodump-ng wlan1mon
次のように、周囲を飛び交っている電波情報を集めて表示してくれる。
上段にアクセスポイントの一覧が、下段にはクライアントの一覧が表示される。
上段の左端に「BSSID」欄があり、ルーターの MAC アドレスが表示される。
上段の右端には「ESSID」欄があり、アクセスポイント名である「SSID」が表示される。右端の「ESSID」の欄が文字列の長さのみになっている場合は、SSIDがステルスのネットワークです。
上記のアクセスポイント一覧の中から、Wi-Fiパケットをキャプチャーする対象のSSIDを決定し、【MAC アドレス】と【チャンネル番号】を控えて、「airodump-ng」を「Cntl+C」で一旦終了する。
airodump-ngコマンドで表示される項目の詳細。
BSSID:APのMACアドレス
PWR: 信号レベルの強さ
Beacons:APが送信したパケット数
#Data:キャプチャされたデータパケット数
#/s:1秒あたりのデータパケット数(過去10秒間)
CH:チャンネル番号
MB:APがサポートする最大速度
ENC:暗号化アルゴリズム(暗号化なしの場合は ” OPN ” )
CIPHER:検出された暗号
AUTH:使用されている認証プロトコル
ESSID:アクセスポイント名
STATION:各StationのMACアドレス
Rate:Stationの受信レート 及び送信レート
Lost:失われたパケット数(過去10秒間)
Frames:物理的な回線でやりとりするパケット
PWR: 信号レベルの強さ
Beacons:APが送信したパケット数
#Data:キャプチャされたデータパケット数
#/s:1秒あたりのデータパケット数(過去10秒間)
CH:チャンネル番号
MB:APがサポートする最大速度
ENC:暗号化アルゴリズム(暗号化なしの場合は ” OPN ” )
CIPHER:検出された暗号
AUTH:使用されている認証プロトコル
ESSID:アクセスポイント名
STATION:各StationのMACアドレス
Rate:Stationの受信レート 及び送信レート
Lost:失われたパケット数(過去10秒間)
Frames:物理的な回線でやりとりするパケット
6. Wi-Fi パケットのキャプチャーとファイルへの保存
Wi-Fiパケットのキャプチャーとその結果をファイルに保存するために、対象ネットワークを指定して、新たに「airodump-ng」を起動する。
Wi-Fi パケットをキャプチャーし、ファイルに保存するコマンド。
airodump-ng --bssid 00:00:00:00:00:00 -c 13 wlan1mon -w wi-fi_cap_01
【--bssid 00:00:00:00:00:00」:MAC アドレスを指定する。
【-c 13】:チャンネル番号を指定する。
【wlan1mon】:インターフェース名を指定する。
【-w wi-fi_cap_01】:保存するファイル名を指定する。
※:指定したファイル名の末尾に、連番 -01 が自動で付与される。
※:指定したファイル名の末尾に、連番 -01 が自動で付与される。
「airodump-ng」が起動したら、クライアント(スマホやタブレット)から対象のSSIDにアクセスを行う。
・対象SSIDへのログイン
・接続が出来たら、ブラウザでのネットワークへのアクセス等.....etc
・対象SSIDへのログイン
・接続が出来たら、ブラウザでのネットワークへのアクセス等.....etc
大量のパケットをキャプチャするに越したことはないが、適当な時間で終了(Cntl+C)する。
これで、
・[ファイル名].cap
・[ファイル名].csv
・[ファイル名].kismet.csv
・[ファイル名].kismet.netxml
の4つのファイルがカレントディレクトリに保存される。
・[ファイル名].cap
・[ファイル名].csv
・[ファイル名].kismet.csv
・[ファイル名].kismet.netxml
の4つのファイルがカレントディレクトリに保存される。
7. パケットスニッフィングの終了
モニタモードの終了。
airmon-ng stop wlan1mon
ネットワークマネージャの再起動。
systemctl restart NetworkManager
8. キャプチャーしたファイルの分析
fileコマンドでキャプチャーファイルを調べる。
file wi-fi_cap_01-01.cap
capinfosコマンドでキャプチャーファイルを調べる。
capinfos wi-fi_cap_01-01.cap
無線LANのパスワードを解析してみる。
参考:辞書ファイルの解凍。
gunzip rockyou.txt.gz
aircrack-ngコマンドでのパスワードの解析。
aircrack-ng wi-fi_cap_01-01.cap -w rockyou.txt
長時間・・・経過。
対象にしたアクセスポイントはWPA2の暗号化方式で、パスワードクラックは出来そうになかった・・・一安心。
以上。
(2024.06.29)
スポンサー リンク