Hacking Google Chromecast

Before we get started I have started the new slack group dedicated to hacking.は、ハッキングに特化した新しいスラックグループです。 初心者から上級者まで、誰でも参加できます。 私は毎日質問に答えたり、CTFをしたり、クールなハックについて話したりする予定です。 ハッキングが好きで、同じような考えの人を探しているなら、以下から参加してください:

NEW Hacking Group Slack Channel

はじめに

Its January 2nd, 2019 and like I always do I was checking my news feed and noticed about how some malicious hacker attacking chromcast that resulted in their TV being forced to render unwanted content (News Article)(「クロームキャストへの悪質なハッカーによる攻撃」についての記事)に注目していました。

これは私の興味をそそったので、ハッカーがどのようにこれを達成したかを発見しようとしました。

Technical Details

According to the internet is a streaming media adapter from Google that users can play online content such as videos and music on a digital television.

At the time of writing this post is hot topic so I took some more details on social media sites (twitter). 5 分間調べた後、次のような twitter の投稿を発見し、正しい方向に導いてくれました。

Neat だから私はデータ {‘v’:’VIDEO_ID_HERE’} を含む JSON ボディで VulnWebSite.com:8008/apps/Youtube に POST 要求を送信できるんだ。 つまり、基本的にこの脆弱性は、あなたのクロームキャストデバイスにPOSTリクエストを送信した人は誰でも、あなたのテレビにYoutubeのビデオを再生させることができるということです。 これはすべて未認証です。

次に、APIドキュメントを探そうとしましたが、欲しいものが見つかりませんでした。 その後、他の人が投稿した非公式 API ドキュメント (API documentation) に出会いました。

  • chromecast python script
  • chromecast urls list

ドキュメントを読んだ後、このデバイスがどのように動作するかについてより良いアイデアを持ち、ハッカーがどのように攻撃を成功させたかがほぼわかりました。

攻撃

そこでまず、この API エンドポイントを公開している chromecast デバイスを特定するために、ある種のフィンガープリントを作成する必要があります。 これは、こちら (device-info API documentation) に記載されている /setup/eureka_info エンドポイントに GET リクエストを送信することで簡単に行うことができます。 これは、ビルドバージョン、デバイス情報、公開鍵などを含む json オブジェクトを返します。

Chromcast デバイスを特定できたので、あとは先ほど発見した “/apps/YouTube” エンドポイントに youtube ペイロードを送信するだけです。 その後、ユーザーのテレビは、あなたが再生したいビデオを再生するように強制されます。 他にも、周囲のアクセスポイントやBluetoothデバイスのリストなど、APIドキュメントに記載されていることを実行することも可能です。

Universal Plug and Play

この攻撃は単純で、この知識で武装すれば、ほとんど誰でもこれを実行することができます。 さらに悪いことに、クロームキャストはユニバーサル プラグ アンド プレイ (UPnP) を使用しています。 UPnPは、基本的にファイアウォールを介して全体をパンチするものです。 つまり、クロームキャストデバイスはUPnPを利用して、ルーターのポート8008を開き、すべてのトラフィックをクロームキャストデバイスに転送します。 ルーターがUPnPを有効にしている場合(デフォルトですべて有効)、クロームキャスト機器はインターネットに自己開放することになります。 つまり、誰でも、インターネットから、認証なしで、chromecastデバイスと接続されているテレビを制御できるようになります。

結論

私は、Googleが本当に素晴らしい会社であると強く信じています。 また、プロジェクトゼロのおかげで、他の企業やデバイスを保護することもできます。 また、プロジェクトゼロのおかげで、他の企業やデバイスも保護されています。 それはよくあることです。 Googleは、今後数週間のうちにアップデートを行う予定であると述べています。 他のIoT機器も脆弱なものが多いので、UPnPを完全にブロックするのがベストでしょう。 Googleのデバイスが認証されていないAPIエクスプロイトに対して脆弱である場合、他のデバイスがどの程度あるのか、それについて考えてみてください

Leave a Reply