RTPブリード:VoIPトラフィックを傍受する危険な脆弱性







一般的なAsterisk IPテレフォニーソリューションで、会話にRTPパケットを注入したり、RTPトラフィックをリッスンしたりすることができる脆弱性が発見されました。



仕組み



この脆弱性を悪用するには、攻撃者はRTPストリームが現在接続されているサーバーポートにRTPパケットを送信する必要があります。 サーバーが脆弱な場合、会話のためにこのポートを実際に使用するサブスクライバー向けのRTPストリームパケットで応答します。 この脆弱性では、攻撃者がサーバーとサブスクライバーの間にいる必要はありません。 名前は心血に似ていますが、実際には、この脆弱性によりむしろ同じようにMITM攻撃を実行することができます。



これは、一部のRTPプロキシの操作アルゴリズムにより可能になります。 NATを使用したRTPパケットの配信に関連する「問題」を解決するプロセスでは、プロキシは、RTP応答が内部テーブルに送信されてサブスクライバーに配信される最終IPアドレスとポートに関する情報を入力するための認証を必要としません。 RTPプロキシは、プロキシがサブスクライバからRTPパケットを受信するIP /ポートに基づいて、IP /ポートのペアを「記憶」します。



したがって、サードパーティのサブスクライバーからパケットを受信するには、サブスクライバーが使用するRTPポートを知って、RTPパケットの送信を開始するだけでよいため、RTPプロキシを誤解させます。



脆弱性は、Asterisk c 11.4.0〜14.6.1のバージョンの影響を受けます。



脆弱性rtpbleed.comの公式Webサイトで問題を詳細に調べることができます



ツール



システムがRTP Bleedに対して脆弱かどうかを確認するには、無料のrtpnatscanツールを使用できます。



インストールするには、リポジトリのクローンを作成し、ユーティリティをコンパイルする必要があります



git clone https://github.com/kapejod/rtpnatscan.git cd rtpnatscan make rtpnatscan make rtcpnatscan
      
      





次に、呼び出しを行う必要があります。たとえば、アスタリスクCLIを使用して、RTPに使用されているポートを確認します。



 asterisk -r rtp set debug on
      
      





次に、サードパーティのマシンでrtpnatscanスキャンを実行し、RTPパケットを取得しようとします



 ./rtpnatscan  _ _ _
      
      





ARPスプーフィングなどのMITM技術を使用する必要はありません。 脆弱なサーバーとポートにRTPパケットを送信できるようにする必要があるだけです。



リモートサーバーが応答でRTPパケットを送信した場合、構成は脆弱です。



rtpnatscanは単なるスキャナーであり、会話を聞くことはできません。



rtpnatscanユーティリティに加えて、より多くの機能を備えた有料ツールがあります。



自分を守る方法



まず、上記のツールを使用して、システムがRTP Bleedに対して脆弱かどうかを確認する必要があります。



Asteriskの公式パッチはありますが、脆弱性を完全にはカバーしていないため、追加のパッチも推奨されます。



パッチをインストールできない場合、アスタリスク構成でnat = yesパラメーターを設定しないでください(これが許容される場合)。



また、RTPパケットを傍受した場合でも、攻撃者が機密情報にアクセスできないように、音声トラフィックの暗号化を使用することをお勧めします。



All Articles