web-dev-qa-db-ja.com

ホームネットワークでのSSLストリッピング

自宅にあるいくつかの「スマートデバイス」(テレビ、コーヒーマシンなど)のトラフィックを監視しようとしていますが、それらのほとんどはSSLを介して通信します。

一部のアプライアンスにlotのお金を払わずにSSL暗号化トラフィックを調べる可能性はありますか?

自分の証明書を一部のスマートデバイスにインポートする可能性はありますが、なんらかの便利な方法でこれをすべて処理する方法がわかりません。私は少しIntel NUCがあるので、これをSSLストリッピングに使用できます-それを始める方法がわからないだけです。

何かアドバイスをいただければ幸いです。

3
pinas

私が間違っていないのであれば、独自のSSL証明書のインポートは、デバイスの独自のWebインターフェースへの接続のためだけであり、目標を達成するのに役立ちません。

あなたがする必要があるのは:

  1. 独自のルートCAを作成する
  2. それらのデバイスに独自のルート証明書を信頼させる
  3. これらのデバイスからプロキシにすべてのSSLトラフィックをリダイレクトします
  4. デバイスがspy.samsung.comに接続しようとすると、独自のルート証明書で署名されたspy.samsung.comのSSL証明書が提示されます。
  5. 要求を実際のspy.samsung.comに転送し、デバイスに返信します。

最も難しい部分は#2で、信頼できる証明書ストアを変更できるレベルでデバイスにアクセスする必要があります。

そのタスクの複雑さは、SSHを介してログインし、ルート証明書をcurl-ca-bundle.crtまたは同様の名前のファイルにデバイスのどこかに追加するなどの簡単なものから、ブートを無効にする必要があるなどの非常に難しいものまでさまざまです。デバイスのファームウェアの実行可能ファイルにパッチを適用するためのローダーロックとコード署名の検証。ルート証明書を挿入したり、デバイスがサーバーで 相互認証 を使用している場合は秘密鍵を見つけて抽出したりする必要があります。

居住地によっては、これらの活動の一部(デバイスのリバースエンジニアリングなど)が違法になることもあります。言うまでもなく、リバースエンジニアリングに頼らざるを得ない場合は、コードを調べて何であるかを確認することもできます。送信/受信されています。

4
Igor Levicki

「Squid」を使用してコンピューターをプロキシサーバーとして使用し、トラフィックを復号化してSSLダンプを構成し、分析して再度暗号化して宛先に送信することができます。 Squidによって作成された証明書を接続されたデバイスにインポートする必要があります。

0
Ahmed Elmasry