hacktricks/generic-methodologies-and-resources/pentesting-wifi/evil-twin-eap-tls.md

123 lines
14 KiB
Markdown
Raw Normal View History

2022-06-28 10:36:33 +00:00
# Evil Twin EAP-TLS
2022-04-28 16:01:33 +00:00
<details>
2023-04-25 20:35:28 +02:00
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
2022-04-28 16:01:33 +00:00
2023-07-07 23:42:27 +00:00
* サイバーセキュリティ会社で働いていますか? HackTricksであなたの会社を宣伝したいですかまたは、PEASSの最新バージョンにアクセスしたいですか、またはHackTricksをPDFでダウンロードしたいですか[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を見つけてください、私たちの独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクション
* [**公式のPEASSHackTricks swag**](https://peass.creator-spring.com)を手に入れましょう
* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に参加するか、**Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**をフォローしてください。**
* **ハッキングのトリックを共有するために、PRを** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **と** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **に提出してください。**
2022-04-28 16:01:33 +00:00
</details>
2022-07-21 22:26:09 +02:00
<img src="../../.gitbook/assets/i3.png" alt="" data-size="original">\
2023-07-07 23:42:27 +00:00
**バグバウンティのヒント**: **Intigriti**に**サインアップ**してください、これはハッカーによって作成されたプレミアムな**バグバウンティプラットフォーム**です!今すぐ[**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks)に参加して、最大**$100,000**の報奨金を獲得しましょう!
2022-06-28 10:36:33 +00:00
{% embed url="https://go.intigriti.com/hacktricks" %}
2022-04-28 16:01:33 +00:00
2023-07-07 23:42:27 +00:00
ある時点で、私は以下の投稿で提案された解決策を使用する必要がありましたが、[https://github.com/OpenSecurityResearch/hostapd-wpe](https://github.com/OpenSecurityResearch/hostapd-wpe)の手順は最新のkali2019v3では機能しなくなっていました。\
とにかく、それらを動作させるのは簡単です。\
ここからhostapd-2.6をダウンロードするだけです:[https://w1.fi/releases/](https://w1.fi/releases/)、そしてhostapd-wpeを再コンパイルする前に`apt-get install libssl1.0-dev`をインストールしてください。
2023-07-07 23:42:27 +00:00
## EAP-TLSのEvil Twin
2023-07-07 23:42:27 +00:00
**この投稿は**[**https://versprite.com/blog/application-security/eap-tls-wireless-infrastructure/**](https://versprite.com/blog/application-security/eap-tls-wireless-infrastructure/)からコピーされました。
2023-07-07 23:42:27 +00:00
### 珍しいケースEAP-TLSの攻撃
2023-07-07 23:42:27 +00:00
前述のように、このプロジェクトで取り組まなければならなかった一般的でないワイヤレスネットワークの構成について触れました。このスキームはEAP-TLSに基づいており、サプリカントはネットワークへのアクセスを許可される前に有効なクライアント証明書を認証サーバーに提出する必要があります。
2023-07-07 23:42:27 +00:00
このシナリオでは、相互認証プロセスがうまくいけば、安全なTLSチャネルが作成されます。言い換えれば、サプリカントがまず認証サーバーの証明書を受け入れ、次に認証サーバーがサプリカントの証明書を受け入れる場合にのみ、セキュアなTLSチャネルが作成されます。
2023-07-07 23:42:27 +00:00
評価中に、私たちは攻撃マシンでhostapd-wpeを使用した際に得られたエラーメッセージに驚かされました
2023-07-07 23:42:27 +00:00
![hostapd-wpeエラー](https://versprite.com/wp-content/uploads/2017/05/Screen-Shot-2019-05-31-at-2.20.32-PM.png)
2023-07-07 23:42:27 +00:00
エラーメッセージでわかるように、私たちのツールは、ワイヤレスクライアントの証明書を受け入れなかったため、ユーザーが有効な資格情報を提供していない場合にアクセスを拒否しています。 🙂
ユーザーが有効な資格情報を提供していないため、私たちの攻撃ツールが被害者のアクセスを拒否しているということです。
2023-07-07 23:42:27 +00:00
ツールの出力に基づいて判断すると、交渉がクライアント証明書が偽のRadiusサーバーに実際に提出された段階に達したことがわかります。これは、攻撃者によって偽造された証明書が被害者によって受け入れられたことを意味します。
2023-07-07 23:42:27 +00:00
これは、サプリカントの設定が緩すぎて、半径サーバーからの任意の証明書を受け入れていたことを意味します。
2023-07-07 23:42:27 +00:00
このエラーを見て、Webを検索した後、このシナリオを悪用することはそれほど一般的ではないことに気付きました-この問題に関連するブログの情報が不足していることから判断します-そして、なんとかそれに対処する必要があることに気付きました。
2023-07-07 23:42:27 +00:00
### MiTM攻撃-目標の定義
2023-07-07 23:42:27 +00:00
おそらくすでに推測しているように、ここでのアイデアは、私たちのツールを調整して、たまにサプリカントが提供する任意の証明書を受け入れるようにすることです。これにより、被害者が悪意のあるワイヤレスインフラストラクチャと完全な接続を確立し、その後、最初のステップとして平文の資格情報をキャプチャするためにキャプティブポータルを表示して、被害者とインターネットの間で[中間者攻撃](https://versprite.com/tag/mitm/)を実行します。
2023-07-07 23:42:27 +00:00
注意もちろん、MiTM攻撃が完全に機能すると、例えば、すべての被害者のトラフィックをホストにリダイレクトしてNetNTLMハッシュをキャプチャすることができます。私たちはまた、次の投稿で同様の攻撃を詳しく説明します[ターゲットWindowsマシンとDNSサーバー間のMiTM攻撃](https://versprite.com/blog/mitm-dns-spoofing/)。
2023-07-07 23:42:27 +00:00
どちらのシナリオでも、まずhostapd-wpeによって
2021-11-30 16:46:07 +00:00
![verify\_peer](https://versprite.com/wp-content/uploads/2017/05/Screen-Shot-2019-05-31-at-2.32.53-PM.png)
2023-07-07 23:42:27 +00:00
上記のコード2307行から2309行では、パラメータ`verify_peer`元々1に設定されているが、OpenSSL関数SSL\_set\_verifyのパラメータとして使用され、ライブラリがサーバーとして動作する際にクライアント証明書の妥当性を検証するかどうかを決定します。元の行を0に変更することで、ツールの動作を変更し、クライアント証明書が有効かどうかを無視することができます。
2023-07-07 23:42:27 +00:00
**修正されたソースコードファイルhostapd-2.6/src/eap\_server/eap\_server\_tls.c**
2021-11-30 16:46:07 +00:00
![eap\_tls\_init](https://versprite.com/wp-content/uploads/2017/05/Screen-Shot-2019-05-31-at-2.34.01-PM.png)
2023-07-07 23:42:27 +00:00
hostapd-wpeのソースコードをパッチし、再コンパイルした後、攻撃を再試行し、次の出力を得ました
2023-07-07 23:42:27 +00:00
![hostapd-wpeのパッチ](https://versprite.com/wp-content/uploads/2017/05/Screen-Shot-2019-05-31-at-2.34.54-PM.png)
2023-07-07 23:42:27 +00:00
修正したバージョンのhostapd-wpeの出力を観察することで、エラーメッセージがもはや表示されず、クライアントが偽のAPに接続されているように見えることがわかります。これで、被害者にキャプティブポータルを提示し、フィッシング攻撃を試みるために適切なインフラストラクチャを構築する必要があります。
2023-07-07 23:42:27 +00:00
これを迅速に活用するために、Wifiphisherのコードの一部を取り出し、特定のニーズに合わせて適応させ、Pythonで簡素なキャプティブポータルを作成しました。このProof-of-Conceptのコードへのリンクは参考文献にあります。
2023-07-07 23:42:27 +00:00
すべての要素を揃えたので、被害者に対して攻撃を行い、攻撃者の視点からどのようになるかを見てみましょう:
2023-07-07 23:42:27 +00:00
#### 1. airodump-ngで環境をチェックしましょう
![airodump-ng](https://versprite.com/wp-content/uploads/2017/05/Screen-Shot-2019-05-31-at-2.35.48-PM.png)
2023-07-07 23:42:27 +00:00
出力から、被害者00:0F:60:07:95:D7が接続しているWPA2-Enterpriseネットワーク「enterprise」ESSIDに対してアクセスポイントのBSSIDF4:EC:38:FA:E7:57を特定することができます。
2023-07-07 23:42:27 +00:00
#### 2. 攻撃対象ネットワークのために修正されたhostapd-wpeツールを実行して、偽のAPを作成しましょう
![modified modified hostapd-wpe](https://versprite.com/wp-content/uploads/2017/05/Screen-Shot-2019-05-31-at-2.36.29-PM.png)
2023-07-07 23:42:27 +00:00
#### 3. キャプティブポータルのテンプレートHTMLログインをカスタマイズして、ターゲットの対象者被害者にとって馴染みやすくし、実行しましょう
2023-07-07 23:42:27 +00:00
![キャプティブポータルのカスタマイズ](https://versprite.com/wp-content/uploads/2017/05/Screen-Shot-2019-05-31-at-2.37.02-PM.png)
2023-07-07 23:42:27 +00:00
#### 4. ディアス攻撃を実行し、リスクを引き受けましょう(もしも我慢できるなら)
2023-07-07 23:42:27 +00:00
![ディアス攻撃](https://versprite.com/wp-content/uploads/2017/05/Screen-Shot-2019-05-31-at-2.37.36-PM.png)
2023-07-07 23:42:27 +00:00
その結果、修正されたhostapd-wpeツールの出力には、次のメッセージが表示されます
2023-07-07 23:42:27 +00:00
![被害者が接続された](https://versprite.com/wp-content/uploads/2017/05/Screen-Shot-2019-05-31-at-2.38.09-PM.png)
2023-07-07 23:42:27 +00:00
これは、被害者00:0f:60:07:95:d7が偽のAPに接続したことを示しています。
2023-07-07 23:42:27 +00:00
被害者のWindowsホストでは、自動的に偽のAPに接続され、Webブラウジングが試みられると、ユーザーにキャプティブポータルが表示されます
2023-07-07 23:42:27 +00:00
![キャプティブポータルの資格情報](https://versprite.com/wp-content/uploads/2017/05/Screen-Shot-2019-05-31-at-2.38.54-PM.png)
2023-07-07 23:42:27 +00:00
被害者が資格情報を入力した後、キャプティブポータルのコンソール上に出力が表示されます:
2023-07-07 23:42:27 +00:00
![キャプティブポータルのコンソール](https://versprite.com/wp-content/uploads/2017/05/Screen-Shot-2019-05-31-at-2.39.01-PM.png)
2023-07-07 23:42:27 +00:00
次のスクリーンショットは、WPA2ネットワークに接続されたiPhoneデバイスに対して攻撃を実行し、被害者に証明書の受け入れを求めるメッセージが表示される様子を示しています
2023-07-07 23:42:27 +00:00
![証明書の受け入れ](https://versprite.com/wp-content/uploads/2017/05/Screen-Shot-2019-05-31-at-2.39.11-PM.png)
2023-07-07 23:42:27 +00:00
次のスクリーンショットは、iPhoneデバイスに表示されるキャプティブポータルを示しています
2023-07-07 23:42:27 +00:00
![iPhoneの資格情報](https://versprite.com/wp-content/uploads/2017/05/Screen-Shot-2019-05-31-at-2.39.19-PM.png)
2023-07-07 23:42:27 +00:00
注意このデモ用に作成されたキャプティブポータルのHTMLテンプレートは、Proof-of-Conceptのサンプルに過ぎません。Internet Explorerを使用している場合にNetNTLMハッシュをキャプチャするためのネットワーク上のファイルを検索するHTMLタグを含むものや、ネットワークへのアクセスを許可する前に問題をスキャンするためにコンピュータにバイナリをダウンロードする必要があるようなより洗練されたものなど、独自のキャプティブポータルを開発することをお勧めします。
2023-07-07 23:42:27 +00:00
EAP-TLSはワイヤレスインフラストラクチャの最も安全な実装であるとするさまざまなオンライン記事を読むことができますが、ユーザーごとに一意の証明書を作成、配信、設定、取り消すというスケーラビリティの問題のため、ほとんどの企業では使用されていません。
2023-07-07 23:42:27 +00:00
このスキームの全体のセキュリティは、再び、チェーンの最も弱いリンクに依存しています。これは、認証サーバーが提供する証明書を受け入れるように構成されたデバイスやユーザーがリスクを考慮せずに受け入れるモバイルデバイスなどです。
2022-07-21 22:26:09 +02:00
<img src="../../.gitbook/assets/i3.png" alt="" data-size="original">\
2023-07-07 23:42:27 +00:00
**バグバウンティのヒント**:ハッカーによって作成されたプレミアムな**バグバウンティプラットフォームIntigriti**に**登録**しましょう!今すぐ[**https://go.intigriti.com/hacktricks
* [💬ディスコードグループ](https://emojipedia.org/speech-balloon/)に参加するか、[テレグラムグループ](https://t.me/peass)に参加するか、[Twitter](https://twitter.com/hacktricks_live)で私をフォローしてください[🐦](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[@carlospolopm](https://twitter.com/hacktricks_live)。
2022-04-28 16:01:33 +00:00
2023-07-07 23:42:27 +00:00
* ハッキングのトリックを共有するには、[hacktricksリポジトリ](https://github.com/carlospolop/hacktricks)と[hacktricks-cloudリポジトリ](https://github.com/carlospolop/hacktricks-cloud)にPRを提出してください。