Cisco Japan Blog

注目の脆弱性:産業用ワイヤレスルータの複数の脆弱性を連鎖させてルートアクセス権が取得可能

1 min read



Cisco Talos はこのほど、InHand Networks 社の InRouter302 に複数の脆弱性を発見しました。それらの脆弱性がエクスプロイトされると、標的デバイスで攻撃者の権限が非特権ユーザーから特権ユーザーに昇格される危険性があります。また、制約のないルート権限を攻撃者に取得されてしまう恐れがある脆弱性も複数存在します。ルータには 1 人の特権ユーザーと複数の非特権ユーザーがいます。

InRouter は産業用の LTE ルータです。リモート管理機能と、VPN 接続やファイアウォールといったいくつかのセキュリティ保護メカニズムを備えています。

ルータには主に 2 つの管理方法があります。1 つは Web インターフェイスを使用する方法で、もう 1 つはルータコンソールを使用する方法です。ルータコンソールへのアクセスには telnet か、有効になっている場合は SSH を使用できます。ルータ機能を提供している Linux システムにアクセスする方法は提供されていません。

下の図に示しているのは、攻撃者が管理するリンクを標的がクリックしてから攻撃者がルートアクセス権を取得するまでのさまざまな経路です。この図では発見された脆弱性の一部のみを示しています。それらをいくつかの方法で連鎖させることで、デバイスのルートアクセス権を取得することができます。

Cisco Talos はシスコの脆弱性開示方針popup_iconに準拠して InHand Networks 社と協力し、今回の脆弱性が解決されたこと、および影響を受けた利用者向けにアップデートが提供されていることを確認しています。

これらの脆弱性のエクスプロイトを防ぐために、InHand Networks InRouter302 バージョン 3.5.4 および 3.5.37 をお使いであればバージョン 3.5.45 に更新することをお勧めします。ほとんどの脆弱性は両方のバージョンに存在しますが、いくつかの脆弱性は新しく導入された機能に起因するため 3.5.37 にのみ存在します。詳細については、以下を参照してください。Talos はこれらのバージョンが今回の脆弱性の影響を受けることをテストして確認済みです。問題の詳細については、以下にリンクされている完全なアドバイザリを参照してください。

また、今回の脆弱性のエクスプロイトは、SNORTⓇ ルール(59125、59151、59153、59224 ~ 59225、59247、59270 ~ 59272、59287、59288、59294、59295、59414)で検出できます。今後、脆弱性に関する新たな情報が追加されるまでの間は、ルールが追加されたり、現行のルールが変更されたりする場合がありますのでご注意ください。最新のルールの詳細については、Cisco Secure Firewall Management Center または Snort.org を参照してください。

攻撃者が悪意のあるリンクから連鎖攻撃を開始するシナリオを Talos では想定しています。これはフィッシングなどのソーシャルエンジニアリング攻撃によって実現できます。

悪意のあるリンクを標的がクリックすると、次のようにしてセッション Cookie が窃取される可能性があります。

  • TALOS-2022-1469popup_icon および TALOS-2022-1470popup_icon:Web サーバーの Web ページではテンプレート言語が使用されています。このテンプレート言語を使用している Web ページの 1 つでリクエストが処理される際に、Web サーバーによって内部的に設定された 1 つのパラメータが JavaScript として実行されます。掲題の問題は、このパラメータの値をリクエストで指定できることに関連しており、HTTP リクエストで実質的に任意の JavaScript を実行できます。攻撃者はこれによってクロスサイト スクリプティング攻撃(XSS)を行えます。HttpOnly フラグが設定されていないため、攻撃者は XSS をエクスプロイトしてセッション Cookie を窃取することができます。

この時点で、攻撃者は非特権ユーザーの Cookie か特権ユーザーの Cookie を取得しています。いずれのシナリオでも、次のようにしてルート権限を直接取得できます。

  • TALOS-2022-1477popup_icon:バイナリユーザーが SSH/telnet でデバイスに接続したときに対話するルータコンソールには、隠しコマンドがあります。このコマンドは、特定のパスワードを指定するとルートシェルを生成します。指定されたパスワードを照合するための文字列は AES を使用して復号されますが、使用されているライブラリに AES キーが含まれているため、この暗号化されたパスワードを復号することができます。
  • TALOS-2022-1478popup_icon:ルータコンソールの同じ隠しコマンドで別のパスワードを指定すると、新しいバイナリが生成されます。このバイナリにはコマンドインジェクションの脆弱性があるため、OS コマンドをルートとして実行することができます。
  • TALOS-2022-1481popup_icon:一括ルータ構成をアップロードすることも可能です。この方法でインポートを実行すると、構成エントリの値がチェックされません。そのため、想定外の場所でそれらの値が使用されてバッファオーバーフローが発生し、リモートコードが実行される可能性があります。

窃取した Cookie が非特権ユーザーのものであっても、前述のようにそのレベルの権限からルートを取得できますが、それとは別に、次の方法でも特権昇格を行って「特権ユーザー」状態を実現できます。

  • TALOS-2022-1472popup_icon:非特権ユーザーがルータ構成をアップロードし、特権ユーザーのパスワードを変更して、ログイン情報を既知の状態にすることができます。
  • TALOS-2022-1474popup_icon:非特権ユーザーがルータ構成をファイルとしてダウンロードできます。このファイルには、特権ユーザーのパスワードが AES で暗号化されて格納されていますが、デバイスが暗号化や復号に使用しているライブラリに AES パスワードが含まれているため、攻撃者はこの AES で暗号化されたパスワードを復号でき、特権ユーザーのログイン情報を取得することができます。

特権ユーザーは非特権ユーザーより多くの機能を実行できますが、ルータの Linux システムにはアクセスできません。いくつかの脆弱性を利用すると「特権ユーザー」状態からルートを取得できます。それらの脆弱性のうち「非特権ユーザー」状態と共通のものについてはすでに説明しました。次に示すのは「特権ユーザー」に固有の脆弱性です。

  • TALOS-2022-1475popup_icon:ルータコンソールには、特権ユーザーパスワードを使用した場合にのみアクセスできる「特権ビュー」があります。このビューには、コマンドインジェクションの脆弱性を持つ隠しコマンドがあります。
  • TALOS-2022-1476popup_icon:ルータコンソールの同じ隠しコマンドにバッファオーバーフローの脆弱性があります。この脆弱性がエクスプロイトされると、リモートでコードが実行される危険性があります。

このように、さまざまな脆弱性を利用したいくつかの経路を通じて、標的にリンクを 1 回クリックさせるだけでデバイスのルートアクセス権を取得できます。ルータへのルートアクセス権が取得されると、さまざまな影響を受ける危険性があります。たとえば、パケットの挿入、ドロップ、検査や、DNS ポイズニング、ネットワークへのさらなる侵入などが行われる危険性があります。

上図に示したチェーンに含まれていない次の 4 件の脆弱性も特定されています。

  • TALOS-2022-1468popup_icon:攻撃者が任意のファイルをアップロードできる問題。これによって、攻撃者はいくつかの悪意のあるアクションを実行できます。たとえば、非特権ユーザーと特権ユーザーのいずれの場合でも、攻撃者は telnet または SSH での接続時にルータコンソールを生成するファイルを変更して、代わりにルートシェルを生成するように指定できます。
  • TALOS-2022-1471popup_icon:これはファイル解析の問題です。ファイルの解析を開始する機能が公開されており、ファイルは標準の ping 出力であると想定されています。このファイルの内容を攻撃者が制御できる場合、バッファオーバーフローが引き起こされて、リモートでコードが実行される危険性があります。この脆弱性をエクスプロイトできるのは特権ユーザーのみです。
  • TALOS-2022-1473popup_icon:特定の Web ページがリクエストされると、特定のルータ構成が取得されて OS コマンドの一部として使用されます。これはコマンドインジェクションの脆弱性につながります。
  • TALOS-2022-1495popup_icon:ファームウェア アップグレードを管理するバイナリは CRC のみをチェックします。非特権ユーザーと特権ユーザーのいずれの場合でも、有効な CRC を持つ任意のファームウェアでファームウェア更新を行えます。

ベンダーに開示していたときに新しいファームウェアであるバージョン 3.5.37 がリリースされました。この新しいファームウェアには TALOS-2022-1496popup_iconTALOS-2022-1499popup_iconTALOS-2022-1500popup_iconTALOS-2022-1501popup_icon が存在することが分かりました。これらの問題はルータコンソールの新しい「特権ビュー」に関連しています。このビューにアクセスするためのパスワードは、TALOS-2022-1477 と同じ方法でハードコーディングされていました。このビューでは新機能が導入されましたが、そのうち 3 つにコマンドインジェクションの脆弱性が存在していました。

TALOS-2022-1496(CVE-2022-27172)はデバイスにハードコーディングされたパスワードの脆弱性ですが、他の 3 件の脆弱性はすべて、ルータソフトウェアのさまざまな機能に存在します。

 

本稿は 2022 年 05 月 12 日に Talos Grouppopup_icon のブログに投稿された「Vulnerability Spotlight: How an attacker could chain several vulnerabilities in an industrial wireless router to gain root accesspopup_icon」の抄訳です。

 

コメントを書く