Siriのローカルプロキシ

Siri通信プロトコルの最近のハッキングの話は自然に続きました。SiriProxyプロキシサーバーが開発されました 。これにより、このプログラムに機能を簡単に追加できます。 たとえば、音声インターフェイスを使用して、テキストメッセージを任意のサイトに送信したり、ホームネットワーク上のデバイスの音声制御をアクティブにしたりできます。 ここにサーモスタットプラグインあるとしましょう

-シリ、今の部屋の温度は?
-20度。
-18歳まで。
-はい。

SSL証明書を偽造して独自のDNSサーバーをインストールした後、Siriはデフォルトのguzzoni.apple.comではなく、独自のサーバーとデータを交換することを思い出してください。

SiriProxyのタスクは、プラグインをSiriに接続してホームデバイスを制御し、このトラフィックをインターネット経由ではなく、ホームネットワーク、つまりローカルプロキシサーバー経由でルーティングすることです。 このプログラムは、Androidを含む他のデバイスでSiriを使用するのに役立ちませんが、有効なUDIDがあり、AndroidにSiriをインストールできた場合、SiriProxyも使用できます。

SiriProxyデモ


プロキシをインストールするメカニズムは、Applidiumの開発者によって最初に説明されましたが、Youtubeでは各ステップの説明を含むいくつかのビデオの指示を見つけることができます。

1. OpenSSLを使用して独自の証明機関を作成し、

  /System/Library/OpenSSL/misc/CA.pl -newca 

guzzoni.apple.comという名前の証明書をサーバーに発行します。 秘密鍵と証明書は、SiriProxyフォルダーのserver.passless.keyおよびserver.passless.crtという名前で保存されます。

順を追った説明


2.証明機関の公開証明書を携帯電話にダウンロードします。たとえば、メールで自分自身に送信し、マウスでクリックするだけです。

3.ローカルネットワークにDNSサーバー(たとえば、dnsmasq)をインストールします。



4. Rubyコンポーネントをインストールします。
5. start.rbをルートとして実行します(TCP / 443をリッスンする必要があるため)

6. Siriプログラムを実行し、プロキシが機能していることを確認します。 「Siriプロキシをテストする」というフレーズに対して、「Siriプロキシが稼働しています!」と答える必要があります。

その後、モジュールをプログラムに接続し、プロキシを介して機能します。 理論的には、VPNを介してトラフィックをトンネルし、インターネットを介してホームネットワーク上のデバイスを管理できます。 iPhone 4sがジェイルブレイクされている場合は、/ etc / hostsを変更して、ホームネットワークを介してSiriトラフィックのみをトンネリングできます。

プロキシから、どこにでもトラフィックを誘導できます。 たとえば、有名なElizeチャットボットと通信するためのeliza.rbプラグインは次のとおりです。

Source: https://habr.com/ru/post/J133069/


All Articles