web-dev-qa-db-ja.com

ettercap MitMおよびiptablesによるSSLトラフィック操作

WifiネットワークでMitMに使用されるいくつかのツールと概念の関係、およびAndroidアプリとそれぞれのサーバー間のhttpsトランザクション(このwifiネットワーク経由)がどのように傍受され、変更。私はこのドメインを初めて使用するので、ご容赦ください。

Androidアプリとそれが通信しているサーバーの間のすべてのHTTPSトラフィックをキャプチャして操作したいと思います。アプリを使用するユーザーはWPA/WPA2 PSKネットワーク上にあります。すでにキャプチャしました初期のWPA=ハンドシェイクであり、ハンドシェイクを介してPSKをブルートフォースで正常に実行することができました。今、私はターゲットアプリを使用しているユーザーと同じネットワークの一部です。

トラフィックをキャプチャできるようにするには、MitMポジションを獲得する必要があります。これを行う方法はたくさんあります。 Cain APRやettercapなど、私が知っているカップルがいくつかあります。

私は被害者をARP毒するためにettercapを使用することを選択します。モバイルデバイスはSSLを介して通信し、このSSL通信をインターセプトしたいので、etter.confに必要な変更を加え、システムでIP転送をオンにして、ettercap証明書の偽装を行います。ここで、ettercapは実際に偽サーバーとCA証明書を生成しますはえ。

上記の手法でも、被害者に証明書エラーの警告が表示され、ユーザーが偽の証明書が被害者のデバイスに信頼されたルートCAとして追加されたことを受け入れると、ここではSSL Stripを使用することもできましたが、ユーザーがhttps経由で(リダイレクトなしで)サーバーに直接接続する場合、SSL Stripは最適なソリューションではない可能性があります。

これでSSLトラフィックをスニッフィングできますが、このSSLトラフィックをettercapを使用して操作することは比較的難しくなります。そのため、代わりに、iptablesを使用して、ローカルシステムの2番目のポートの代替ポート番号にトラフィックをリダイレクトし、リダイレクトされたトラフィックのデータを操作できる別のソフトウェアを実行しています。

ここで、このポートで実行しているソフトウェアがBURP Suiteであるとします。これは、データをいじるのに使用したいものです。

今私が混乱しているのは:

BURPには独自のPortswigger証明書があります。ただし、ettercapを使用して、以前に証明書の偽装を既に行っています。したがって、(IPテーブルを使用し、透過プロキシを使用するようにBURPを設定して)このトラフィックをすべてBURPに転送する場合、クライアントのデバイスでも信頼されているPortswigger証明書を取得する必要がありますか?はいまたはいいえのいずれかを説明してください。

  1. 現実の攻撃者として、上記はおそらく攻撃を開始するために使用する方法の1つでしょう。上記の理解は正しいですか?

  2. ペンテスターとして、これを実現する別の方法として、SSHサーバーをテストデバイスにインストールし、Shark(Androidの場合)/他のtcpダンプのようなツールをインストールして、監視/分析( Wireshark多分)ローカルシステムのSSHクライアントを介してすべてのトラフィックをリモートで?これで意図した仕事ができますか?

  3. これを行う他の方法は何でしょうか?

2
qre0ct

最適なソリューションは、ettercapがSSL接続をMiTMせず、Burpに転送するだけであり、Burpを透過的なSSL MiTMプロキシとして設定できる場合です。この場合、クライアントにはBurpのサーバー証明書が表示されます。これは、クライアントによって信頼されている必要があります。次のように、2つのSSL接続のみがセットアップされています。

           SSL1            SSL2 
Client <--Ettercap--> Burp <--> SSL Website

EttercapとBurpの両方をSSL MiTMとして設定できますが、複雑になるだけです。この場合、クライアントにはettercapサーバー証明書のみが表示されるため、Burpの証明書をストアに追加する必要はありません。この場合、3つの異なるSSL接続がありますが、前の接続と比較して利点はありません。

       SSL1          SSL2      SSL3
Client <--> Ettercap <--> Burp <--> SSL Website

あなたの質問に答えるには:はい、実際の攻撃者として、上記はおそらく攻撃を開始するために使用できる方法の1つでしょう。

AndroidデバイスにSSH接続し、Sharkを使用するだけでは十分ではありません。トラフィックを操作することはできません。TLSを持っている場合のみ、トラフィックを復号化できます/ SSLサーバーキー(通常はそうではありません)と完全転送秘密は使用されません。

1
user2716262