mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
Translated ['src/generic-methodologies-and-resources/pentesting-wifi/REA
This commit is contained in:
parent
1418c16d21
commit
6a58857a69
@ -25,6 +25,7 @@
|
||||
- [Spoofing LLMNR, NBT-NS, mDNS/DNS and WPAD and Relay Attacks](generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md)
|
||||
- [Spoofing SSDP and UPnP Devices with EvilSSDP](generic-methodologies-and-resources/pentesting-network/spoofing-ssdp-and-upnp-devices.md)
|
||||
- [Pentesting Wifi](generic-methodologies-and-resources/pentesting-wifi/README.md)
|
||||
- [Enable Nexmon Monitor And Injection On Android](generic-methodologies-and-resources/pentesting-wifi/enable-nexmon-monitor-and-injection-on-android.md)
|
||||
- [Evil Twin EAP-TLS](generic-methodologies-and-resources/pentesting-wifi/evil-twin-eap-tls.md)
|
||||
- [Phishing Methodology](generic-methodologies-and-resources/phishing-methodology/README.md)
|
||||
- [Clone a Website](generic-methodologies-and-resources/phishing-methodology/clone-a-website.md)
|
||||
|
@ -19,12 +19,18 @@ iwlist wlan0 scan #Scan available wifis
|
||||
```
|
||||
## ツール
|
||||
|
||||
### Hijacker & NexMon (Android内部Wi-Fi)
|
||||
|
||||
{{#ref}}
|
||||
enable-nexmon-monitor-and-injection-on-android.md
|
||||
{{#endref}}
|
||||
|
||||
### EAPHammer
|
||||
```
|
||||
git clone https://github.com/s0lst1c3/eaphammer.git
|
||||
./kali-setup
|
||||
```
|
||||
### Airgeddon
|
||||
### エアゲドン
|
||||
```bash
|
||||
mv `which dhcpd` `which dhcpd`.old
|
||||
apt install isc-dhcp-server
|
||||
@ -45,7 +51,7 @@ v1s1t0r1sh3r3/airgeddon
|
||||
```
|
||||
### wifiphisher
|
||||
|
||||
Evil Twin、KARMA、および既知のビーコン攻撃を実行し、その後フィッシングテンプレートを使用してネットワークの実際のパスワードを取得したり、ソーシャルネットワークの認証情報をキャプチャしたりすることができます。
|
||||
Evil Twin、KARMA、既知ビーコン攻撃を実行し、フィッシングテンプレートを使用してネットワークの本当のパスワードを取得したり、ソーシャルネットワークの認証情報をキャプチャしたりすることができます。
|
||||
```bash
|
||||
git clone https://github.com/wifiphisher/wifiphisher.git # Download the latest revision
|
||||
cd wifiphisher # Switch to tool's directory
|
||||
@ -71,7 +77,7 @@ sudo python setup.py install # Install any dependencies
|
||||
- ランダムな偽AP -- ネットを隠す、スキャナーをクラッシュさせる可能性
|
||||
- APをオーバーロード -- APを殺そうとする(通常あまり役に立たない)
|
||||
- WIDS -- IDSで遊ぶ
|
||||
- TKIP, EAPOL -- 一部のAPに対するDoS攻撃
|
||||
- TKIP, EAPOL -- 一部のAPに対する特定のDoS攻撃
|
||||
- **クラック**
|
||||
- **WEP**をクラック(いくつかのツールと方法)
|
||||
- **WPA-PSK**
|
||||
@ -95,7 +101,7 @@ sudo python setup.py install # Install any dependencies
|
||||
|
||||
**説明は** [**こちら**:](https://null-byte.wonderhowto.com/how-to/use-mdk3-for-advanced-wi-fi-jamming-0185832/)**.**
|
||||
|
||||
**非認証**攻撃は、Wi-Fiハッキングで一般的な手法であり、「管理」フレームを偽造して**デバイスをネットワークから強制的に切断**します。これらの暗号化されていないパケットは、クライアントに正当なネットワークからのものであると信じ込ませ、攻撃者がクラック目的でWPAハンドシェイクを収集したり、ネットワーク接続を持続的に妨害したりすることを可能にします。この戦術は、その単純さにおいて驚くべきものであり、広く使用されており、ネットワークセキュリティに重大な影響を与えます。
|
||||
**非認証**攻撃は、Wi-Fiハッキングで一般的な手法であり、「管理」フレームを偽造して**ネットワークからデバイスを強制的に切断**します。これらの暗号化されていないパケットは、クライアントに正当なネットワークからのものであると信じ込ませ、攻撃者がクラック目的でWPAハンドシェイクを収集したり、ネットワーク接続を持続的に妨害したりすることを可能にします。この戦術は、その単純さにおいて驚くべきものであり、広く使用されており、ネットワークセキュリティに重大な影響を与えます。
|
||||
|
||||
**Aireplay-ngを使用した非認証**
|
||||
```
|
||||
@ -109,7 +115,7 @@ aireplay-ng -0 0 -a 00:14:6C:7E:40:80 -c 00:0F:B5:34:30:30 ath0
|
||||
|
||||
### 切断パケット
|
||||
|
||||
**切断パケット**は、非認証パケットと同様に、Wi-Fiネットワークで使用される管理フレームの一種です。これらのパケットは、デバイス(ノートパソコンやスマートフォンなど)とアクセスポイント(AP)との接続を切断するために使用されます。切断と非認証の主な違いは、その使用シナリオにあります。APは**ネットワークから不正なデバイスを明示的に削除するために非認証パケットを発信しますが、切断パケットは通常、APがシャットダウン、再起動、または移動している際に送信され、すべての接続ノードの切断が必要となります。**
|
||||
**切断パケット**は、非認証パケットと同様に、Wi-Fiネットワークで使用される管理フレームの一種です。これらのパケットは、デバイス(ノートパソコンやスマートフォンなど)とアクセスポイント(AP)との接続を切断するために使用されます。切断と非認証の主な違いは、その使用シナリオにあります。APは**ネットワークから不正なデバイスを明示的に削除するために非認証パケットを発信しますが、切断パケットは通常、APがシャットダウン、再起動、または移動している際に送信され、すべての接続ノードの切断が必要となります**。
|
||||
|
||||
**この攻撃はmdk4(モード"d")で実行できます:**
|
||||
```bash
|
||||
@ -150,7 +156,7 @@ mdk4 wlan0mon a [-i EF:60:69:D7:69:2F] [-a EF:60:69:D7:69:2F] -m
|
||||
|
||||
**ATTACK MODE m: Michael Countermeasures Exploitation**
|
||||
|
||||
ランダムまたは重複したパケットを異なるQoSキューに送信することで、**TKIP APs**上でマイケル対策をトリガーし、1分間のAPシャットダウンを引き起こすことがあります。この方法は、効率的な**DoS**(サービス拒否)攻撃戦術です。
|
||||
異なるQoSキューにランダムまたは重複したパケットを送信することで、**TKIP APs**上でマイケル対策がトリガーされ、APが1分間シャットダウンします。この方法は、効率的な**DoS**(サービス拒否)攻撃戦術です。
|
||||
```bash
|
||||
# -t <BSSID> of a TKIP AP
|
||||
# -j use inteligent replay to create the DoS
|
||||
@ -176,7 +182,7 @@ mkd4 -e <SSID> -c <channel> [-z]
|
||||
```
|
||||
**ATTACK MODE f: Packet Fuzzer**
|
||||
|
||||
多様なパケットソースとパケット操作のための包括的な修飾子を備えたパケットファズァ。
|
||||
パケット操作のための多様なパケットソースと包括的な修飾子セットを備えたパケットファズァ。
|
||||
|
||||
### **Airggedon**
|
||||
|
||||
@ -186,16 +192,16 @@ _**Airgeddon**_ は、前のコメントで提案されたほとんどの攻撃
|
||||
|
||||
## WPS
|
||||
|
||||
WPS (Wi-Fi Protected Setup) は、デバイスをルーターに接続するプロセスを簡素化し、**WPA** または **WPA2** Personal で暗号化されたネットワークのセットアップ速度と容易さを向上させます。WEPセキュリティに対しては効果がありません。WPSは8桁のPINを使用し、2つの半分で検証されるため、組み合わせの数が限られている(11,000の可能性)ため、ブルートフォース攻撃に対して脆弱です。
|
||||
WPS (Wi-Fi Protected Setup) は、デバイスをルーターに接続するプロセスを簡素化し、**WPA** または **WPA2** Personal で暗号化されたネットワークのセットアップ速度と容易さを向上させます。容易に侵害されるWEPセキュリティには効果がありません。WPSは8桁のPINを使用し、2つの半分で検証されるため、組み合わせの数が限られている(11,000通り)ため、ブルートフォース攻撃に対して脆弱です。
|
||||
|
||||
### WPS Bruteforce
|
||||
|
||||
このアクションを実行するための主なツールは2つあります:Reaver と Bully。
|
||||
このアクションを実行するための主なツールは2つあります:ReaverとBully。
|
||||
|
||||
- **Reaver** は、WPSに対する堅牢で実用的な攻撃として設計されており、さまざまなアクセスポイントとWPS実装に対してテストされています。
|
||||
- **Bully** は、Cで書かれたWPSブルートフォース攻撃の**新しい実装**です。元のReaverコードに対していくつかの利点があります:依存関係が少ない、メモリとCPUのパフォーマンスが向上、エンディアンの正しい処理、より堅牢なオプションセット。
|
||||
|
||||
この攻撃は、**WPS PINの脆弱性**を利用し、特に最初の4桁の数字の露出と最後の桁のチェックサムとしての役割がブルートフォース攻撃を容易にします。しかし、攻撃者の攻撃を防ぐためのブルートフォース攻撃に対する防御策、例えば**攻撃者のMACアドレスをブロックする**ことは、攻撃を続けるために**MACアドレスのローテーション**を要求します。
|
||||
この攻撃は、**WPS PINの脆弱性**を利用し、特に最初の4桁の露出と最後の桁のチェックサムとしての役割がブルートフォース攻撃を容易にします。しかし、攻撃者の攻撃的なMACアドレスを**ブロックする**などのブルートフォース攻撃に対する防御は、攻撃を続けるために**MACアドレスのローテーション**を要求します。
|
||||
|
||||
BullyやReaverのようなツールでWPS PINを取得すると、攻撃者はWPA/WPA2 PSKを推測でき、**持続的なネットワークアクセス**を確保します。
|
||||
```bash
|
||||
@ -207,7 +213,7 @@ bully wlan1mon -b 00:C0:CA:78:B1:37 -c 9 -S -F -B -v 3
|
||||
この洗練されたアプローチは、既知の脆弱性を利用してWPS PINをターゲットにします:
|
||||
|
||||
1. **事前発見されたPIN**:特定のメーカーに関連する既知のPINのデータベースを利用します。これらのメーカーは均一なWPS PINを使用することで知られています。このデータベースは、MACアドレスの最初の3オクテットとこれらのメーカーの可能性のあるPINを関連付けます。
|
||||
2. **PIN生成アルゴリズム**:APのMACアドレスに基づいてWPS PINを計算するComputePINやEasyBoxのようなアルゴリズムを活用します。Arcadyanアルゴリズムは、PIN生成プロセスにレイヤーを追加するためにデバイスIDも必要です。
|
||||
2. **PIN生成アルゴリズム**:APのMACアドレスに基づいてWPS PINを計算するComputePINやEasyBoxのようなアルゴリズムを活用します。Arcadyanアルゴリズムは、PIN生成プロセスにレイヤーを追加するためにデバイスIDも必要とします。
|
||||
|
||||
### WPSピクシーダスト攻撃
|
||||
|
||||
@ -254,15 +260,15 @@ reaver -i wlan1mon -b 00:C0:CA:78:B1:37 -c 9 -f -N -g 1 -vv -p ''
|
||||
|
||||
### PMKID
|
||||
|
||||
2018年、**hashcat**は[新しい攻撃方法](https://hashcat.net/forum/thread-7717.html)を明らかにしました。この方法は、**1つのパケット**だけを必要とし、ターゲットAPに接続されているクライアントを必要としないため、ユニークです—攻撃者とAPの間の相互作用だけが必要です。
|
||||
2018年、**hashcat**は[新しい攻撃方法](https://hashcat.net/forum/thread-7717.html)を明らかにしました。この方法は、**1つのパケット**だけを必要とし、ターゲットAPにクライアントが接続されている必要がないため、ユニークです—攻撃者とAPの間の相互作用だけが必要です。
|
||||
|
||||
多くの現代のルーターは、関連付け中に**最初のEAPOL**フレームに`Robust Security Network`として知られる**オプションフィールド**を追加します。これには`PMKID`が含まれます。
|
||||
|
||||
元の投稿が説明しているように、**PMKID**は既知のデータを使用して作成されます:
|
||||
元の投稿が説明するように、**PMKID**は既知のデータを使用して作成されます:
|
||||
```bash
|
||||
PMKID = HMAC-SHA1-128(PMK, "PMK Name" | MAC_AP | MAC_STA)
|
||||
```
|
||||
"PMK Name"が一定であること、APのBSSIDとステーションがわかっており、`PMK`が完全な4-wayハンドシェイクのものと同一であることから、**hashcat**はこの情報を使用してPSKをクラッキングし、パスフレーズを回復できます!
|
||||
"PMK Name"が一定であることから、APのBSSIDとステーションのBSSIDが分かり、`PMK`が完全な4-way handshakeのものと同一であるため、**hashcat**はこの情報を使用してPSKを解読し、パスフレーズを回復できます!
|
||||
|
||||
この情報を**収集**し、パスワードをローカルで**ブルートフォース**するには、次のようにします:
|
||||
```bash
|
||||
@ -277,13 +283,13 @@ hcxdumptool -o /tmp/attack.pcap -i wlan0mon --enable_status=1
|
||||
./eaphammer --pmkid --interface wlan0 --channel 11 --bssid 70:4C:A5:F8:9A:C1
|
||||
```
|
||||
キャプチャされた **PMKIDs** は **コンソール** に表示され、また **/tmp/attack.pcap** に **保存** されます。\
|
||||
次に、キャプチャを **hashcat/john** 形式に変換し、クラックします:
|
||||
次に、キャプチャを **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つの部分**を含むことに注意してください。例: `4017733ca8db33a1479196c2415173beb808d7b83cfaa4a6a9a5aae7566f6461666f6e65436f6e6e6563743034383131343838` あなたのハッシュが**3つの部分**しか含まない場合、それは**無効**です(PMKIDキャプチャが無効でした)。
|
||||
正しいハッシュの形式は**4つの部分**を含むことに注意してください。例: `4017733ca8db33a1479196c2415173beb808d7b83cfaa4a6a9a5aae7566f6461666f6e65436f6e6e6563743034383131343838` あなたのハッシュが**3つの部分**しか含まれていない場合、それは**無効**です(PMKIDキャプチャが無効でした)。
|
||||
|
||||
`hcxdumptool`は**ハンドシェイクもキャプチャ**します(このようなものが表示されます: **`MP:M1M2 RC:63258 EAPOLTIME:17091`**)。あなたは`cap2hccapx`を使用して**ハンドシェイク**を**hashcat**/**john**形式に**変換**することができます。
|
||||
```bash
|
||||
@ -297,10 +303,10 @@ aircrack-ng /tmp/att.pcap -w /usr/share/wordlists/rockyou.txt #Sometimes
|
||||
|
||||
### ハンドシェイクキャプチャ
|
||||
|
||||
**WPA/WPA2** ネットワークに対する攻撃は、**ハンドシェイク**をキャプチャし、パスワードを**オフライン**で**クラック**しようとすることで実行できます。このプロセスは、特定のネットワークと特定の**チャネル**上の**BSSID**の通信を監視することを含みます。以下は簡潔なガイドです:
|
||||
**WPA/WPA2** ネットワークへの攻撃は、**ハンドシェイク**をキャプチャし、パスワードを**オフライン**で**クラック**しようとすることで実行できます。このプロセスは、特定のネットワークと**BSSID**の通信を監視することを含みます。以下は簡潔なガイドです:
|
||||
|
||||
1. ターゲットネットワークの**BSSID**、**チャネル**、および**接続されたクライアント**を特定します。
|
||||
2. 指定されたチャネルとBSSIDでネットワークトラフィックを監視するために`airodump-ng`を使用し、ハンドシェイクをキャプチャすることを期待します。コマンドは次のようになります:
|
||||
1. 対象ネットワークの**BSSID**、**チャネル**、および**接続されたクライアント**を特定します。
|
||||
2. `airodump-ng`を使用して、指定されたチャネルとBSSIDのネットワークトラフィックを監視し、ハンドシェイクをキャプチャすることを期待します。コマンドは次のようになります:
|
||||
```bash
|
||||
airodump-ng wlan0 -c 6 --bssid 64:20:9F:15:4F:D7 -w /tmp/psk --output-format pcap
|
||||
```
|
||||
@ -310,7 +316,7 @@ aireplay-ng -0 0 -a 64:20:9F:15:4F:D7 wlan0 #Send generic deauth packets, may no
|
||||
```
|
||||
_クライアントが非認証状態になったため、別のAPに接続しようとするか、他のケースでは別のネットワークに接続しようとする可能性があります。_
|
||||
|
||||
`airodump-ng`にハンドシェイク情報が表示されると、これはハンドシェイクがキャプチャされたことを意味し、リスニングを停止できます:
|
||||
`airodump-ng`にハンドシェイク情報が表示されると、ハンドシェイクがキャプチャされたことを意味し、リスニングを停止できます:
|
||||
|
||||
 (1).png>)
|
||||
|
||||
@ -341,7 +347,7 @@ pyrit -r psk-01.cap analyze
|
||||
```
|
||||
## **WPAエンタープライズ (MGT)**
|
||||
|
||||
**エンタープライズWiFiセットアップでは、さまざまな認証方法に出会います**。それぞれ異なるセキュリティレベルと管理機能を提供します。`airodump-ng`のようなツールを使用してネットワークトラフィックを検査すると、これらの認証タイプの識別子に気付くかもしれません。一般的な方法には次のようなものがあります:
|
||||
**エンタープライズWiFiセットアップでは、さまざまな認証方法に出会います**。それぞれ異なるセキュリティレベルと管理機能を提供します。`airodump-ng`のようなツールを使用してネットワークトラフィックを検査すると、これらの認証タイプの識別子に気付くかもしれません。一般的な方法には次のものが含まれます:
|
||||
```
|
||||
6A:FE:3B:73:18:FB -58 19 0 0 1 195 WPA2 CCMP MGT NameOfMyWifi
|
||||
```
|
||||
@ -352,7 +358,7 @@ pyrit -r psk-01.cap analyze
|
||||
3. **EAP-TLS (Transport Layer Security)**:
|
||||
- 認証のためにクライアント側とサーバー側の証明書の両方を利用し、通信を保護するためにユーザー基盤およびセッション基盤のWEPキーを動的に生成できます。
|
||||
4. **EAP-TTLS (Tunneled Transport Layer Security)**:
|
||||
- 暗号化されたトンネルを通じて相互認証を提供し、動的なユーザーごとのセッションごとのWEPキーを導出する方法を提供します。サーバー側の証明書のみが必要で、クライアントは資格情報を使用します。
|
||||
- 暗号化されたトンネルを通じて相互認証を提供し、動的なユーザーごとのセッションごとのWEPキーを導出する方法を提供します。サーバー側の証明書のみを必要とし、クライアントは資格情報を使用します。
|
||||
5. **PEAP (Protected Extensible Authentication Protocol)**:
|
||||
- 保護された通信のためにTLSトンネルを作成することでEAPと同様に機能します。トンネルによって提供される保護のため、EAPの上に弱い認証プロトコルを使用することができます。
|
||||
- **PEAP-MSCHAPv2**: 一般にPEAPと呼ばれ、脆弱なMSCHAPv2チャレンジ/レスポンスメカニズムと保護されたTLSトンネルを組み合わせています。
|
||||
@ -365,7 +371,7 @@ pyrit -r psk-01.cap analyze
|
||||
[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"**パケット内に、クライアントの**ユーザー名**が表示されます。
|
||||
"**Response, Identity**"パケット内に、クライアントの**ユーザー名**が表示されます。
|
||||
|
||||
.png>)
|
||||
|
||||
@ -374,20 +380,20 @@ pyrit -r psk-01.cap analyze
|
||||
アイデンティティの隠蔽は、EAP-PEAPとEAP-TTLSの両方でサポートされています。WiFiネットワークの文脈では、EAP-Identityリクエストは通常、関連プロセス中にアクセスポイント(AP)によって開始されます。ユーザーの匿名性を保護するために、ユーザーのデバイス上のEAPクライアントからの応答には、初期RADIUSサーバーがリクエストを処理するために必要な基本情報のみが含まれます。この概念は以下のシナリオを通じて示されています:
|
||||
|
||||
- EAP-Identity = anonymous
|
||||
- このシナリオでは、すべてのユーザーが擬似的な「anonymous」をユーザー識別子として使用します。初期RADIUSサーバーは、EAP-PEAPまたはEAP-TTLSサーバーとして機能し、PEAPまたはTTLSプロトコルのサーバー側を管理します。内部(保護された)認証方法は、ローカルで処理されるか、リモート(ホーム)RADIUSサーバーに委任されます。
|
||||
- このシナリオでは、すべてのユーザーが擬似的な"anonymous"をユーザー識別子として使用します。初期RADIUSサーバーは、EAP-PEAPまたはEAP-TTLSサーバーとして機能し、PEAPまたはTTLSプロトコルのサーバー側を管理します。内部(保護された)認証方法は、ローカルで処理されるか、リモート(ホーム)RADIUSサーバーに委任されます。
|
||||
- EAP-Identity = anonymous@realm_x
|
||||
- この状況では、異なるレルムのユーザーがそれぞれのレルムを示しながらアイデンティティを隠します。これにより、初期RADIUSサーバーはEAP-PEAPまたはEAP-TTLSリクエストをそれぞれのホームレルムのRADIUSサーバーにプロキシすることができます。初期RADIUSサーバーは、RADIUSリレー ノードとしてのみ機能します。
|
||||
- この状況では、異なるレルムのユーザーがそれぞれのレルムを示しながらアイデンティティを隠します。これにより、初期RADIUSサーバーはEAP-PEAPまたはEAP-TTLSリクエストをそれぞれのホームレルムのRADIUSサーバーにプロキシすることができ、これらはPEAPまたはTTLSサーバーとして機能します。初期RADIUSサーバーは、RADIUSリレー ノードとしてのみ機能します。
|
||||
- あるいは、初期RADIUSサーバーがEAP-PEAPまたはEAP-TTLSサーバーとして機能し、保護された認証方法を処理するか、別のサーバーに転送することもできます。このオプションは、さまざまなレルムに対して異なるポリシーを構成することを容易にします。
|
||||
|
||||
EAP-PEAPでは、PEAPサーバーとPEAPクライアントの間にTLSトンネルが確立されると、PEAPサーバーはEAP-Identityリクエストを開始し、それをTLSトンネルを通じて送信します。クライアントは、この2回目のEAP-Identityリクエストに応じて、ユーザーの真のアイデンティティを含むEAP-Identity応答を暗号化されたトンネルを通じて送信します。このアプローチは、802.11トラフィックを傍受している誰にもユーザーの実際のアイデンティティが明らかになるのを効果的に防ぎます。
|
||||
EAP-PEAPでは、PEAPサーバーとPEAPクライアントの間にTLSトンネルが確立されると、PEAPサーバーはEAP-Identityリクエストを開始し、それをTLSトンネルを通じて送信します。クライアントは、この2回目のEAP-Identityリクエストに対して、ユーザーの真のアイデンティティを含むEAP-Identity応答を暗号化されたトンネルを通じて送信します。このアプローチは、802.11トラフィックを傍受している誰にもユーザーの実際のアイデンティティが明らかになるのを効果的に防ぎます。
|
||||
|
||||
EAP-TTLSは、やや異なる手順に従います。EAP-TTLSでは、クライアントは通常、PAPまたはCHAPを使用して認証し、TLSトンネルによって保護されます。この場合、クライアントはトンネル確立後に送信される最初のTLSメッセージにUser-Name属性とPasswordまたはCHAP-Password属性を含めます。
|
||||
|
||||
選択されたプロトコルに関係なく、PEAP/TTLSサーバーはTLSトンネルが確立された後にユーザーの真のアイデンティティを知ることになります。真のアイデンティティはuser@realmまたは単にuserとして表現できます。PEAP/TTLSサーバーがユーザーの認証も担当している場合、ユーザーのアイデンティティを持ち、TLSトンネルによって保護された認証方法を進めます。あるいは、PEAP/TTLSサーバーはユーザーのホームRADIUSサーバーに新しいRADIUSリクエストを転送することがあります。この新しいRADIUSリクエストはPEAPまたはTTLSプロトコル層を省略します。保護された認証方法がEAPである場合、内部EAPメッセージはEAP-PEAPまたはEAP-TTLSラッパーなしでホームRADIUSサーバーに送信されます。送信されるRADIUSメッセージのUser-Name属性には、受信したRADIUSリクエストからの匿名のUser-Nameが置き換えられ、ユーザーの真のアイデンティティが含まれます。保護された認証方法がPAPまたはCHAP(TTLSのみサポート)である場合、TLSペイロードから抽出されたUser-Nameおよび他の認証属性が送信されるRADIUSメッセージに置き換えられ、受信したRADIUSリクエストに見られる匿名のUser-NameおよびTTLS EAP-Message属性が置き換えられます。
|
||||
|
||||
詳細については[こちら](https://www.interlinknetworks.com/app_notes/eap-peap.htm)を確認してください。
|
||||
詳細については[https://www.interlinknetworks.com/app_notes/eap-peap.htm](https://www.interlinknetworks.com/app_notes/eap-peap.htm)を確認してください。
|
||||
|
||||
### EAP-ブルートフォース(パスワードスプレー)
|
||||
### EAP-Bruteforce (パスワードスプレー)
|
||||
|
||||
クライアントが**ユーザー名とパスワード**を使用することが期待される場合(この場合、**EAP-TLSは無効**になります)、**ユーザー名**の**リスト**(次の部分を参照)と**パスワード**を取得し、[**air-hammer**](https://github.com/Wh1t3Rh1n0/air-hammer)**を使用してアクセスを**ブルートフォース**することを試みることができます。
|
||||
```bash
|
||||
@ -418,13 +424,13 @@ EAP-TTLSは、やや異なる手順に従います。EAP-TTLSでは、クライ
|
||||
|
||||
- APは定期的にビーコーフレームをブロードキャストし、その存在と機能を通知します。これには、ブロードキャストが無効になっていない限り、APのESSIDが含まれます。
|
||||
- パッシブスキャン中、ステーションはビーコーフレームをリスニングします。ビーコンのESSIDがステーションのPNLのエントリと一致する場合、ステーションはそのAPに自動的に接続することがあります。
|
||||
- デバイスのPNLの知識は、既知のネットワークのESSIDを模倣することで潜在的な悪用を可能にし、デバイスを騙して不正なAPに接続させることができます。
|
||||
- デバイスのPNLの知識は、既知のネットワークのESSIDを模倣することで潜在的な悪用を可能にし、デバイスをロゲAPに接続させることができます。
|
||||
|
||||
### アクティブプロービング
|
||||
|
||||
- アクティブプロービングは、ステーションが近くのAPとその特性を発見するためにプローブリクエストを送信することを含みます。
|
||||
- 指定されたプローブリクエストは特定のESSIDをターゲットにし、特定のネットワークが範囲内にあるかどうかを検出するのに役立ちます。これは、隠れたネットワークであっても同様です。
|
||||
- ブロードキャストプローブリクエストは、SSIDフィールドが空であり、すべての近くのAPに送信され、ステーションがPNLの内容を開示することなく、任意の優先ネットワークをチェックできるようにします。
|
||||
- 指定されたプローブリクエストは特定のESSIDをターゲットにし、特定のネットワークが範囲内にあるかどうかを検出するのに役立ちます。隠れたネットワークであってもです。
|
||||
- ブロードキャストプローブリクエストはSSIDフィールドが空で、すべての近くのAPに送信され、ステーションはPNLの内容を開示することなく、任意の優先ネットワークをチェックできます。
|
||||
|
||||
## インターネットへのリダイレクトを伴うシンプルなAP
|
||||
|
||||
@ -494,11 +500,11 @@ echo 1 > /proc/sys/net/ipv4/ip_forward
|
||||
```
|
||||
## Evil Twin
|
||||
|
||||
Evil Twin攻撃は、WiFiクライアントがネットワークを認識する方法を利用し、主にネットワーク名(ESSID)に依存して、ベースステーション(アクセスポイント)がクライアントに対して自らを認証する必要がありません。主なポイントは以下の通りです:
|
||||
Evil Twin攻撃は、WiFiクライアントがネットワークを認識する方法を悪用し、主にネットワーク名(ESSID)に依存して、ベースステーション(アクセスポイント)がクライアントに対して自認証を行う必要がありません。主なポイントは以下の通りです:
|
||||
|
||||
- **区別の難しさ**: デバイスは、同じESSIDと暗号化タイプを共有する正当なアクセスポイントと悪意のあるアクセスポイントを区別するのに苦労します。実際のネットワークでは、カバレッジをシームレスに拡張するために、同じESSIDを持つ複数のアクセスポイントを使用することがよくあります。
|
||||
- **クライアントのローミングと接続操作**: 802.11プロトコルは、デバイスが同じESS内のアクセスポイント間をローミングすることを可能にします。攻撃者は、デバイスを現在のベースステーションから切断させ、悪意のあるアクセスポイントに接続させることでこれを利用できます。これは、より強い信号を提供するか、非認証パケットやジャミングなどの方法で正当なアクセスポイントへの接続を妨害することで達成できます。
|
||||
- **実行の課題**: 複数の適切に配置されたアクセスポイントがある環境でEvil Twin攻撃を成功させることは難しい場合があります。単一の正当なアクセスポイントを非認証にすると、攻撃者が近くのすべてのアクセスポイントを非認証にするか、戦略的に悪意のあるアクセスポイントを配置しない限り、デバイスは別の正当なアクセスポイントに接続することがよくあります。
|
||||
- **区別の難しさ**: デバイスは、同じESSIDと暗号化タイプを共有する場合、正当なアクセスポイントと悪意のあるアクセスポイントを区別するのが難しいです。実際のネットワークでは、カバレッジをシームレスに拡張するために、同じESSIDを持つ複数のアクセスポイントを使用することがよくあります。
|
||||
- **クライアントのローミングと接続操作**: 802.11プロトコルは、デバイスが同じESS内のアクセスポイント間をローミングすることを可能にします。攻撃者は、デバイスを現在のベースステーションから切断させ、悪意のあるアクセスポイントに接続させることでこれを悪用できます。これは、より強い信号を提供するか、非認証パケットやジャミングなどの方法で正当なアクセスポイントへの接続を妨害することで達成できます。
|
||||
- **実行の課題**: 複数の適切に配置されたアクセスポイントがある環境でEvil Twin攻撃を成功させるのは難しい場合があります。単一の正当なアクセスポイントを非認証にすると、攻撃者が近くのすべてのアクセスポイントを非認証にするか、戦略的に悪意のあるアクセスポイントを配置しない限り、デバイスは別の正当なアクセスポイントに接続することがよくあります。
|
||||
|
||||
非常に基本的なOpen Evil Twin(インターネットへのトラフィックをルーティングする機能はなし)を作成することができます:
|
||||
```bash
|
||||
@ -528,7 +534,7 @@ _一部のOSやAVは、オープンネットワークに接続することが危
|
||||
|
||||
**hostapd-wpeの使用**
|
||||
|
||||
`hostapd-wpe`は動作するために**設定**ファイルが必要です。これらの設定の生成を**自動化**するには、[https://github.com/WJDigby/apd_launchpad](https://github.com/WJDigby/apd_launchpad)を使用できます(_ /etc/hostapd-wpe/_内のPythonファイルをダウンロードしてください)。
|
||||
`hostapd-wpe`は動作するために**設定**ファイルが必要です。これらの設定の生成を**自動化**するために、[https://github.com/WJDigby/apd_launchpad](https://github.com/WJDigby/apd_launchpad)を使用することができます(_ /etc/hostapd-wpe/_内のPythonファイルをダウンロードしてください)。
|
||||
```bash
|
||||
./apd_launchpad.py -t victim -s PrivateSSID -i wlan0 -cn company.com
|
||||
hostapd-wpe ./victim/victim.conf -s
|
||||
@ -549,7 +555,7 @@ hostapd-wpe ./victim/victim.conf -s
|
||||
```
|
||||
GTC,MSCHAPV2,TTLS-MSCHAPV2,TTLS,TTLS-CHAP,TTLS-PAP,TTLS-MSCHAP,MD5
|
||||
```
|
||||
これは、長い接続時間を避けるためのデフォルトの方法論です。ただし、認証方法を最も弱いものから最も強いものまで指定することもできます:
|
||||
これは長い接続時間を避けるためのデフォルトの方法論です。ただし、認証方法を最も弱いものから最も強いものへと指定することもできます:
|
||||
```
|
||||
--negotiate weakest
|
||||
```
|
||||
@ -561,7 +567,7 @@ Or you could also use:
|
||||
|
||||
**Using Airgeddon**
|
||||
|
||||
`Airgeddon` は、以前に生成された証明書を使用して、WPA/WPA2-EnterpriseネットワークにEAP認証を提供できます。偽のネットワークは接続プロトコルをEAP-MD5にダウングレードし、**ユーザーとパスワードのMD5をキャプチャ**できるようにします。その後、攻撃者はパスワードをクラックしようとすることができます。\
|
||||
`Airgeddon` は、以前に生成された証明書を使用して、WPA/WPA2-EnterpriseネットワークにEAP認証を提供できます。偽のネットワークは接続プロトコルをEAP-MD5にダウングレードし、**ユーザーとパスワードのMD5をキャプチャ**できるようにします。その後、攻撃者はパスワードをクラッキングしようとすることができます。\
|
||||
`Airgeddon` は、**継続的なEvil Twin攻撃(ノイジー)**または**誰かが接続するまでEvil Attackを作成するだけ(スムーズ)**の可能性を提供します。
|
||||
|
||||
.png>)
|
||||
@ -570,18 +576,18 @@ Or you could also use:
|
||||
|
||||
_この方法はPEAP接続でテストされましたが、任意のTLSトンネルを復号化しているため、EAP-TTLSでも機能するはずです。_
|
||||
|
||||
**hostapd-wpe** の **configuration** 内で、_**dh_file**_ を含む行を **コメント** します(`dh_file=/etc/hostapd-wpe/certs/dh` から `#dh_file=/etc/hostapd-wpe/certs/dh` へ)\
|
||||
これにより、`hostapd-wpe` は **DHの代わりにRSAを使用して鍵を交換**するため、**サーバーの秘密鍵を知っていれば**後でトラフィックを**復号化**できるようになります。
|
||||
**hostapd-wpe** の **configuration** 内で、_**dh_file**_ を含む行を **コメントアウト**します(`dh_file=/etc/hostapd-wpe/certs/dh` から `#dh_file=/etc/hostapd-wpe/certs/dh` へ)\
|
||||
これにより、`hostapd-wpe` は **RSAを使用して鍵を交換**するようになり、**サーバーの秘密鍵を知っていることで**後でトラフィックを**復号化**できるようになります。
|
||||
|
||||
次に、通常通りその修正された設定で **`hostapd-wpe`** を使用して **Evil Twin** を開始します。また、**Evil Twin攻撃を実行しているインターフェース**で **`wireshark`** を開始します。
|
||||
|
||||
今または後で(すでにいくつかの認証意図をキャプチャしたとき)、wiresharkにプライベートRSAキーを追加できます:`Edit --> Preferences --> Protocols --> TLS --> (RSA keys list) Edit...`
|
||||
今または後で(認証の試行をいくつかキャプチャした後)、プライベートRSAキーをwiresharkに追加できます:`Edit --> Preferences --> Protocols --> TLS --> (RSA keys list) Edit...`
|
||||
|
||||
新しいエントリを追加し、次の値でフォームを埋めます:**IPアドレス = any** -- **ポート = 0** -- **プロトコル = data** -- **キー ファイル**(**キー ファイルを選択**、問題を避けるために**パスワード保護されていないキー ファイルを選択**)。
|
||||
新しいエントリを追加し、次の値でフォームを記入します:**IPアドレス = any** -- **ポート = 0** -- **プロトコル = data** -- **キー ファイル**(**キー ファイルを選択**、問題を避けるために**パスワード保護されていないキー ファイルを選択**)。
|
||||
|
||||
.png>)
|
||||
|
||||
新しい **"Decrypted TLS" タブ** を確認してください:
|
||||
新しい **"Decrypted TLS" タブ**を確認してください:
|
||||
|
||||
.png>)
|
||||
|
||||
@ -589,7 +595,7 @@ _この方法はPEAP接続でテストされましたが、任意のTLSトンネ
|
||||
|
||||
### ESSID and MAC black/whitelists
|
||||
|
||||
異なるタイプのメディアアクセス制御フィルタリスト(MFACL)と、それに対応するモードおよび不正アクセスポイント(AP)の動作への影響:
|
||||
異なるタイプのメディアアクセス制御フィルターリスト(MFACL)と、それに対応するモードおよび不正アクセスポイント(AP)の動作への影響:
|
||||
|
||||
1. **MACベースのホワイトリスト**:
|
||||
- 不正APは、ホワイトリストに指定されたデバイスからのプローブリクエストにのみ応答し、リストにない他のすべてのデバイスには見えなくなります。
|
||||
@ -620,11 +626,11 @@ name3
|
||||
```
|
||||
### KARMA
|
||||
|
||||
この方法は、**攻撃者がネットワークに接続しようとするデバイスからのすべてのプローブリクエストに応答する悪意のあるアクセスポイント (AP) を作成することを可能にします**。この技術は、**デバイスが探しているネットワークを模倣することによって、デバイスを攻撃者のAPに接続させる**ものです。デバイスがこの不正なAPに接続リクエストを送信すると、接続が完了し、デバイスは誤って攻撃者のネットワークに接続してしまいます。
|
||||
この方法は、**攻撃者がネットワークに接続しようとするデバイスからのすべてのプローブリクエストに応答する悪意のあるアクセスポイント (AP) を作成することを可能にします**。この技術は、**デバイスが探しているネットワークを模倣することによって、デバイスを攻撃者のAPに接続させる**ものです。デバイスがこの不正なAPに接続リクエストを送信すると、接続が完了し、デバイスは誤って攻撃者のネットワークに接続されます。
|
||||
|
||||
### MANA
|
||||
|
||||
その後、**デバイスは不正なネットワーク応答を無視し始め**、元のkarma攻撃の効果が減少しました。しかし、**MANA攻撃**として知られる新しい方法が、イアン・デ・ヴィリアーズとドミニク・ホワイトによって導入されました。この方法は、不正なAPが**デバイスのブロードキャストプローブリクエストに応答して、デバイスによって以前に確実とされたネットワーク名 (SSID) で応答することによって、デバイスから優先ネットワークリスト (PNL) をキャプチャする**ことを含みます。この高度な攻撃は、デバイスが既知のネットワークを記憶し、優先順位を付ける方法を利用することで、元のkarma攻撃に対する保護を回避します。
|
||||
その後、**デバイスは不正なネットワーク応答を無視し始め**、元のkarma攻撃の効果が減少しました。しかし、**MANA攻撃**として知られる新しい方法が、イアン・デ・ヴィリアーズとドミニク・ホワイトによって導入されました。この方法は、不正なAPが**デバイスのブロードキャストプローブリクエストに応答して、デバイスによって以前に確実とされたネットワーク名 (SSID) で応答することによって、デバイスからの優先ネットワークリスト (PNL) をキャプチャする**ことを含みます。この高度な攻撃は、デバイスが既知のネットワークを記憶し、優先順位を付ける方法を利用することで、元のkarma攻撃に対する保護を回避します。
|
||||
|
||||
MANA攻撃は、デバイスからの指向およびブロードキャストプローブリクエストの両方を監視することによって機能します。指向リクエストの場合、デバイスのMACアドレスと要求されたネットワーク名を記録し、この情報をリストに追加します。ブロードキャストリクエストが受信されると、APはデバイスのリスト上のネットワークに一致する情報で応答し、デバイスを不正なAPに接続させるように誘引します。
|
||||
```bash
|
||||
@ -632,13 +638,13 @@ MANA攻撃は、デバイスからの指向およびブロードキャストプ
|
||||
```
|
||||
### Loud MANA
|
||||
|
||||
**Loud MANA攻撃**は、デバイスが指向プロービングを使用しない場合や、攻撃者にとってその優先ネットワークリスト(PNL)が不明な場合に使用される高度な戦略です。この攻撃は、**同じエリア内のデバイスがPNLにいくつかのネットワーク名を共有する可能性が高い**という原則に基づいています。選択的に応答するのではなく、この攻撃は観測されたすべてのデバイスの結合PNLに見つかったすべてのネットワーク名(ESSID)に対してプローブ応答をブロードキャストします。この広範なアプローチは、デバイスが馴染みのあるネットワークを認識し、悪意のあるアクセスポイント(AP)に接続しようとする可能性を高めます。
|
||||
**Loud MANA攻撃**は、デバイスが指向プロービングを使用しない場合や、攻撃者にとっての優先ネットワークリスト(PNL)が不明な場合に使用される高度な戦略です。この攻撃は、**同じエリア内のデバイスはPNLにいくつかのネットワーク名を共有する可能性が高い**という原則に基づいています。選択的に応答するのではなく、この攻撃は観測されたすべてのデバイスの結合PNLに見つかったすべてのネットワーク名(ESSID)に対してプローブ応答をブロードキャストします。この広範なアプローチは、デバイスが馴染みのあるネットワークを認識し、悪意のあるアクセスポイント(AP)に接続しようとする可能性を高めます。
|
||||
```bash
|
||||
./eaphammer -i wlan0 --cloaking full --mana --loud [--captive-portal] [--auth wpa-psk --creds]
|
||||
```
|
||||
### Known Beacon attack
|
||||
|
||||
**Loud MANA攻撃**が不十分な場合、**Known Beacon攻撃**は別のアプローチを提供します。この方法は、**単語リストから派生した潜在的なESSIDのリストを循環させながら、任意のネットワーク名に応答するAPをシミュレートすることによって接続プロセスをブルートフォースします**。これは、多数のネットワークの存在をシミュレートし、被害者のPNL内のESSIDと一致させることを期待し、作成されたAPへの接続試行を促します。この攻撃は、デバイスを捕らえるためのより攻撃的な試みとして`--loud`オプションと組み合わせることで増幅できます。
|
||||
**Loud MANA攻撃**が不十分な場合、**Known Beacon攻撃**は別のアプローチを提供します。この方法は、**単語リストから派生した潜在的なESSIDのリストを循環させながら、任意のネットワーク名に応答するAPをシミュレートすることによって接続プロセスをブルートフォースします**。これは、多数のネットワークの存在をシミュレートし、被害者のPNL内のESSIDと一致することを期待して、作成されたAPへの接続試行を促します。この攻撃は、デバイスを捕らえるためのより攻撃的な試みとして`--loud`オプションと組み合わせることで増幅できます。
|
||||
|
||||
Eaphammerは、この攻撃をMANA攻撃として実装し、リスト内のすべてのESSIDが充電されます(これを`--loud`と組み合わせてLoud MANA + Known beacons攻撃を作成することもできます):
|
||||
```bash
|
||||
@ -646,7 +652,7 @@ Eaphammerは、この攻撃をMANA攻撃として実装し、リスト内のす
|
||||
```
|
||||
**既知のビーコンサージ攻撃**
|
||||
|
||||
**既知のビーコンサージ攻撃**は、**ファイルにリストされた各ESSIDのビーコーフレームを迅速に放送すること**を含みます。これにより、偽のネットワークの密集した環境が作成され、特にMANA攻撃と組み合わせることで、デバイスが悪意のあるAPに接続する可能性が大幅に高まります。この技術は、速度とボリュームを利用してデバイスのネットワーク選択メカニズムを圧倒します。
|
||||
**既知のビーコンサージ攻撃**は、**ファイルにリストされた各ESSIDのビーコーンフレームを迅速にブロードキャストする**ことを含みます。これにより、偽のネットワークの密集した環境が作成され、特にMANA攻撃と組み合わせることで、デバイスが悪意のあるAPに接続する可能性が大幅に高まります。この技術は、速度とボリュームを利用してデバイスのネットワーク選択メカニズムを圧倒します。
|
||||
```bash
|
||||
# transmit a burst of 5 forged beacon packets for each entry in list
|
||||
./forge-beacons -i wlan1 \
|
||||
@ -662,14 +668,14 @@ Eaphammerは、この攻撃をMANA攻撃として実装し、リスト内のす
|
||||
Wi-Fi Direct接続のセキュリティは、**Wi-Fi Protected Setup (WPS)**を通じて確立されており、セキュアなペアリングのためのいくつかの方法をサポートしています。これには以下が含まれます:
|
||||
|
||||
- **Push-Button Configuration (PBC)**
|
||||
- **PINエントリー**
|
||||
- **PIN入力**
|
||||
- **Near-Field Communication (NFC)**
|
||||
|
||||
これらの方法、特にPINエントリーは、従来のWi-FiネットワークにおけるWPSと同様の脆弱性にさらされており、同様の攻撃ベクトルの標的となります。
|
||||
これらの方法、特にPIN入力は、従来のWi-FiネットワークにおけるWPSと同様の脆弱性にさらされており、同様の攻撃ベクターの標的となります。
|
||||
|
||||
### EvilDirect Hijacking
|
||||
|
||||
**EvilDirect Hijacking**は、Wi-Fi Directに特有の攻撃です。これはEvil Twin攻撃の概念を反映しており、Wi-Fi Direct接続をターゲットにします。このシナリオでは、攻撃者が正当なグループオーナーを偽装し、デバイスを悪意のあるエンティティに接続させることを目的とします。この方法は、`airbase-ng`のようなツールを使用して、偽装されたデバイスのチャネル、ESSID、およびMACアドレスを指定することで実行できます。
|
||||
**EvilDirect Hijacking**は、Wi-Fi Directに特有の攻撃です。これはEvil Twin攻撃の概念を反映していますが、Wi-Fi Direct接続をターゲットにしています。このシナリオでは、攻撃者が正当なグループオーナーを偽装し、デバイスを悪意のあるエンティティに接続させることを目的としています。この方法は、`airbase-ng`のようなツールを使用して、偽装されたデバイスのチャネル、ESSID、およびMACアドレスを指定することで実行できます。
|
||||
|
||||
## References
|
||||
|
||||
@ -684,6 +690,6 @@ Wi-Fi Direct接続のセキュリティは、**Wi-Fi Protected Setup (WPS)**を
|
||||
- [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)>)
|
||||
- [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/)
|
||||
|
||||
TODO: [https://github.com/wifiphisher/wifiphisher](https://github.com/wifiphisher/wifiphisher)を確認してください(Facebookでログインし、キャプティブポータルでWPAを模倣する)
|
||||
TODO: Take a look to [https://github.com/wifiphisher/wifiphisher](https://github.com/wifiphisher/wifiphisher) (login con facebook e imitacionde WPA en captive portals)
|
||||
|
||||
{{#include ../../banners/hacktricks-training.md}}
|
||||
|
@ -0,0 +1,128 @@
|
||||
# NexMonのモニターモードとパケットインジェクションをAndroidで有効にする(Broadcomチップ)
|
||||
|
||||
{{#include ../../banners/hacktricks-training.md}}
|
||||
|
||||
## 概要
|
||||
ほとんどの最新のAndroidフォンは、802.11モニターモードやフレームインジェクション機能なしで出荷されるBroadcom/Cypress Wi-Fiチップセットを内蔵しています。オープンソースのNexMonフレームワークは、これらの機能を追加するために独自のファームウェアをパッチし、それらを共有ライブラリ(`libnexmon.so`)とCLIヘルパー(`nexutil`)を通じて公開します。このライブラリをストックWi-Fiドライバーにプリロードすることで、ルート化されたデバイスは生の802.11トラフィックをキャプチャし、任意のフレームをインジェクトできます。これにより、外部USBアダプターの必要がなくなります。
|
||||
|
||||
このページでは、完全にパッチされたSamsung Galaxy S10(BCM4375B1)を例にした迅速なワークフローを文書化しています。使用するものは以下の通りです:
|
||||
|
||||
* パッチされたファームウェア + `libnexmon.so`を含むNexMon Magiskモジュール
|
||||
* モニターモードの切り替えを自動化するHijacker Androidアプリケーション
|
||||
* 内部インターフェースに対して古典的なワイヤレスツール(aircrack-ng、wifite、mdk4など)を直接実行するためのオプションのKali NetHunter chroot
|
||||
|
||||
同じ技術は、公開されているNexMonパッチを持つ任意のハンドセット(Pixel 1、Nexus 6P、Galaxy S7/S8など)に適用されます。
|
||||
|
||||
---
|
||||
|
||||
## 前提条件
|
||||
* サポートされているBroadcom/Cypressチップセットを搭載したAndroidハンドセット(例:BCM4358/59/43596/4375B1)
|
||||
* Magisk ≥ 24でのルート化
|
||||
* BusyBox(ほとんどのROM/NetHunterにはすでに含まれています)
|
||||
* 次のものを提供するNexMon Magisk ZIPまたは自己コンパイルしたパッチ:
|
||||
* `/system/lib*/libnexmon.so`
|
||||
* `/system/xbin/nexutil`
|
||||
* Hijacker ≥ 1.7(arm/arm64) – https://github.com/chrisk44/Hijacker
|
||||
* (オプション)ワイヤレスツールを実行する予定のKali NetHunterまたは任意のLinux chroot
|
||||
|
||||
---
|
||||
|
||||
## NexMonパッチのフラッシング(Magisk)
|
||||
1. 正確なデバイス/ファームウェア用のZIPをダウンロードします(例:`nexmon-s10.zip`)。
|
||||
2. Magiskを開く -> モジュール -> ストレージからインストール -> ZIPを選択して再起動します。
|
||||
モジュールは`libnexmon.so`を`/data/adb/modules/<module>/lib*/`にコピーし、SELinuxラベルが正しいことを確認します。
|
||||
3. インストールを確認します:
|
||||
```bash
|
||||
ls -lZ $(find / -name libnexmon.so 2>/dev/null)
|
||||
sha1sum $(which nexutil)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Hijackerの設定
|
||||
Hijackerは、`airodump`、`wifite`などを実行する前にモニターモードを自動的に切り替えることができます。**設定 -> 高度な設定**で次のエントリを追加します(モジュールが異なる場合はライブラリパスを編集してください):
|
||||
```
|
||||
Prefix:
|
||||
LD_PRELOAD=/data/user/0/com.hijacker/files/lib/libnexmon.so
|
||||
|
||||
Enable monitor mode:
|
||||
svc wifi disable; ifconfig wlan0 up; nexutil -s0x613 -i -v2
|
||||
|
||||
Disable monitor mode:
|
||||
nexutil -m0; svc wifi enable
|
||||
```
|
||||
“Start monitor mode on airodump start”を有効にして、すべてのHijackerスキャンがネイティブモニターモード(`wlan0`の代わりに`wlan0mon`)で行われるようにします。
|
||||
|
||||
Hijackerが起動時にエラーを表示する場合は、共有ストレージに必要なディレクトリを作成し、アプリを再起動してください。
|
||||
```bash
|
||||
mkdir -p /storage/emulated/0/Hijacker
|
||||
```
|
||||
### それらの `nexutil` フラグは何を意味しますか?
|
||||
* **`-s0x613`** ファームウェア変数 0x613 (FCAP_FRAME_INJECTION) を書き込み → `1` (任意のフレームのTXを有効にします)。
|
||||
* **`-i`** インターフェースをモニターモードに設定します (radiotap ヘッダーが前に追加されます)。
|
||||
* **`-v2`** 詳細レベルを設定します; `2` は確認とファームウェアバージョンを表示します。
|
||||
* **`-m0`** 管理モードを復元します ( *disable* コマンドで使用されます)。
|
||||
|
||||
*Enable monitor mode* を実行した後、インターフェースがモニターステートになり、生のフレームをキャプチャできるようになります:
|
||||
```bash
|
||||
airodump-ng --band abg wlan0
|
||||
```
|
||||
---
|
||||
|
||||
## 手動ワンライナー(Hijackerなし)
|
||||
```bash
|
||||
# Enable monitor + injection
|
||||
svc wifi disable && ifconfig wlan0 up && nexutil -s0x613 -i -v2
|
||||
|
||||
# Disable and return to normal Wi-Fi
|
||||
nexutil -m0 && svc wifi enable
|
||||
```
|
||||
もし受動的スニッフィングのみが必要な場合は、`-s0x613`フラグを省略してください。
|
||||
|
||||
---
|
||||
|
||||
## Kali NetHunter / chroot内での`libnexmon`の使用
|
||||
Kaliの標準ユーザースペースツールはNexMonを認識しませんが、`LD_PRELOAD`を使用して強制的に利用することができます:
|
||||
|
||||
1. プリビルドされた共有オブジェクトをchrootにコピーします:
|
||||
```bash
|
||||
cp /sdcard/Download/kalilibnexmon.so <chroot>/lib/
|
||||
```
|
||||
2. **Androidホスト**からモニターモードを有効にします(上記のコマンドまたはHijackerを通じて)。
|
||||
3. Kali内でプリロードを使用して任意のワイヤレスツールを起動します:
|
||||
```bash
|
||||
sudo su
|
||||
export LD_PRELOAD=/lib/kalilibnexmon.so
|
||||
wifite -i wlan0 # または aircrack-ng, mdk4 …
|
||||
```
|
||||
4. 終了したら、通常通りAndroidでモニターモードを無効にします。
|
||||
|
||||
ファームウェアがすでにradiotapインジェクションを処理しているため、ユーザースペースツールは外部Atherosアダプタと同様に動作します。
|
||||
|
||||
---
|
||||
|
||||
## 可能な典型的攻撃
|
||||
モニター + TXがアクティブになると、次のことができます:
|
||||
* `wifite`、`hcxdumptool`、`airodump-ng`を使用してWPA(2/3-SAE)ハンドシェイクまたはPMKIDをキャプチャします。
|
||||
* クライアントが再接続するように強制するために、非認証/非関連フレームを注入します。
|
||||
* `mdk4`、`aireplay-ng`、Scapyなどを使用して任意の管理/データフレームを作成します。
|
||||
* 不正APを構築したり、電話から直接KARMA/MANA攻撃を実行します。
|
||||
|
||||
Galaxy S10のパフォーマンスは外部USB NICと同等です(約20 dBm TX、2-3 M pps RX)。
|
||||
|
||||
---
|
||||
|
||||
## トラブルシューティング
|
||||
* `Device or resource busy` – モニターモードを有効にする前に**Android Wi-Fiサービスが無効になっていることを確認してください**(`svc wifi disable`)。
|
||||
* `nexutil: ioctl(PRIV_MAGIC) failed` – ライブラリがプリロードされていません;`LD_PRELOAD`パスを再確認してください。
|
||||
* フレーム注入は機能しますがパケットがキャプチャされない – 一部のROMはチャネルをハードブロックします;`nexutil -c <channel>`または`iwconfig wlan0 channel <n>`を試してください。
|
||||
* SELinuxがライブラリをブロックしています – デバイスを*Permissive*に設定するか、モジュールコンテキストを修正します:`chcon u:object_r:system_lib_file:s0 libnexmon.so`。
|
||||
|
||||
---
|
||||
|
||||
## 参考文献
|
||||
* [Hijacker on the Samsung Galaxy S10 with wireless injection](https://forums.kali.org/t/hijacker-on-the-samsung-galaxy-s10-with-wireless-injection/10305)
|
||||
* [NexMon – firmware patching framework](https://github.com/seemoo-lab/nexmon)
|
||||
* [Hijacker (aircrack-ng GUI for Android)](https://github.com/chrisk44/Hijacker)
|
||||
|
||||
{{#include ../../banners/hacktricks-training.md}}
|
Loading…
x
Reference in New Issue
Block a user