急いで古いセキュリティホールを塞ぐメガホン

少し前に、 netAnはMegafonシステムのセキュリティ問題を説明する興味深い記事 -Service Guideを公開しました。



時間が経つにつれて、Megafonが顧客の個人データのセキュリティをどの程度重視しているかを確認することにし、「サービスガイド」で承認製品のテストを少し実施しました。 結果は失敗に終わり、Megafonはhabroコミュニティが突っ込んだエラーを実際に修正しましたが、何らかの理由であえてシステム全体をチェックすることはしませんでした。



「サービスガイド」にアクセスできるサブスクライバーのアカウントでできることを繰り返しません( 記事を参照 )。



分析が示したように、Megafonには、 messages.megafon.rumoscowsg.megafon.ru 、およびサブスクライバーを承認するための他の多くのアプリケーションが接続する内部ゲートウェイがあります 。 モバイルアプリケーション「UMS」および「Megaphone Disk」を使用すると、完全な認証手順が不要なため、パスワードを高速で選択できます。



数週間前にMegafonの技術サポートサービスにこの問題についての手紙が送られましたが、奇妙なことに、私たちの手紙に応答しませんでした。 12月11日には、何も修正されませんでした。



モバイルアプリケーションのトラフィックを分析するには、 evil mitmproxyを使用します

そして今、それぞれについての詳細。



「UMS」



HTTPリクエストと承認レスポンスの例

Request: POST https://auth.messages.megafon.ru:15020/tellin/login.do Host: auth.messages.megafon.ru:15020 x-UserAgent: iPhone|iPhone0.0|iPhone OS 0.0.0|0.0.0.0|aVBob25lIDRT|aVBob25l Accept-Encoding: gzip Content-Type: text/xml;UTF-8 Accept-Language: zh-CN,en,* Cookie: JSESSIONID=000000000000000000000000 Content-Length: 344 Connection: close Proxy-Connection: close User-Agent: UMS 0.0.0.0 (iPhone; iPhone OS 0.0.0; ru_RU) XML-like data <?xml version='1.0' encoding='UTF-8'?> <root> <user>+7926000000</user> <random>HUAWEI RCS0000-00-00</random> <secinfo></secinfo> <version>0.0.0.0</version> <clienttype>2010000</clienttype> <pintype>0</pintype> <requestip>653.289.953.846</requestip> <usertype>0</usertype> <deviceID>NvQPSFL3nclMuRJbc8KjjgIBn6CVg49mpzNZoJ4LK0n2OQDpcEENuly9FVK5</deviceID> </root> 1)   Response: Raw [ base64  3680  ] 2)   Response: <root><return>200050401</return><desc>The user information is incorrect.</desc></root>
      
      







「メガディスク」



HTTPリクエストと承認レスポンスの例

 Request: POST https://oauth.megafon.ru/login?oauth_token=92cd604414ba74ff7a3e Host: oauth.megafon.ru Accept-Language: ru User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 0_0_0 like Mac OS X) AppleWebKit/0.0.0 (KHTML, like Gecko) Mobile/0B Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Referer: https://oauth.megafon.ru/login Content-Type: application/x-www-form-urlencoded Connection: keep-alive Proxy-Connection: keep-alive Cookie: ID=IGmYDY6caHVX\nsFELs55iR7wPyhSMvQHc Content-Length: 141 Origin: https://oauth.megafon.ru Accept-Encoding: gzip, deflate URLEncoded form version: 1 token: HkyOryj8L0nAsL7AMgd2JjqjaO language: ru validateform: QR3g4qMeSF0tPHT9COXCKD4guGeYdwHGFBgrPi1eHr msisdn: 7926000000 p:  login: LoginRU 1)   Response: HTTP  302 2)   HTTP   302
      
      







これらのアプリケーションには2つの問題があります。

  1. 電話番号とパスワードのペアの正常な検証に関する情報を受け取った場合、それ以上の認証は続行されないため、SMSはUMSでの認証についてサブスクライバーに通知しません
  2. デフォルトでは、モバイルデバイス経由で認証する場合、UMSでSMS通知は無効になっています




ソリューションオプション:

  1. 承認の最初の段階で暗号化を使用する
  2. キャプチャを表示
  3. 認証が試行されたときにSMS通知を送信する
  4. アルファベットのパスワードを使用する




自分の電話番号をターゲットとして実行したチェック。



All Articles