ZTEネットワークデバイスのセキュリティ問題

エントリー



おそらく、少しの背景から始めましょう。 中国企業のネットワークデバイスに精通していたのは2006年にさかのぼります。2006年、モバイルオペレーターの1人で働いていたときに、Huaweiルーターに会いました。 その動物園では、形成の全歴史が明確にトレースされたと言わなければなりません-シスコと同様の番号付けの最初の行から、コマンド構文を繰り返し、さらにシスコ独自のルーティングプロトコルと多くの妨害を使用して、その構文で非常に「美しく」比較的信頼性の高い技術を追加します実装機能。 実際のところ、今でも私は主にこの会社の機器で仕事をしています。 ZTE機器の方がはるかに悪いとは思わないが、最初のHuaweiルーターのstartup-configで「show run」コマンドを書く以上に、加入者デバイスのソフトウェアスタッフィングは非常に驚くべきことです。





知人



私の研究の目的は、ADSLモデム、ルーター、WiFiアクセスポイント、SIPテレフォニークライアントの機能とFXSポートを組み合わせたホームゲートウェイZTE H208Lでした。



ここではホームゲートウェイに十分な機能がありますが、ドキュメントを参照することに興味があります。おそらくこれに関しては、ゲートウェイが他のPVCを無視して、この接続のみにすべてのパケットを送信するため、モデムのPPPoE接続がオンになっているときのルーティングにのみ動揺していました。 しかし、彼がセキュリティでどのように行っているかを見ると、これらはまだ花です。



最初のサークル:telnet



デバイスはポート23で標準的に応答し、ユーザー名/パスワード(root / root)を要求します。デフォルトでは書き込みませんが、以下で理由を理解します。

BusyBox v1.01(2012.03.06-03:19 + 0000)組み込みシェル(灰)

組み込みコマンドのリストを表示するには、「help」と入力します。


#cat / proc / cpuinfo

システムタイプ:Amazon-S

プロセッサー:0

CPUモデル:MIPS 34K V4.12

BogoMIPS:222.00

待機指示:はい

マイクロ秒タイマー:はい

tlb_entries:16

追加の割り込みベクトル:はい

ハードウェアウォッチポイント:はい

実装されたASE:mips16 dsp mt

VCED例外:利用できません

VCEI例外:利用できません

#マウント

/ dev / mtdblock6 on /タイプsquashfs(ro)

/ proc on / proc type proc(rw)

tmpfs on / varタイプtmpfs(rw)

tmpfs on / mntタイプtmpfs(rw)



したがって、telnetが読み取り専用ルートパーティションをマウントすることがわかります。 したがって、/ etc / passwdファイルは読み取り専用でマウントされるため、単にpasswdコマンドでパスワードを変更することはできません。 繰り返しますが、先を見て、設定を直接編集してこの設定を変更できたと言えます。 検索エンジンで大騒ぎして、3つのコマンドを備えたtelnetを使用して、特にSIP設定などの非表示の設定ページをアクティブにできることがわかりました。 私は何か他のものに興味がありました-設定されたアカウントに関する情報を取得することは可能ですか? 短い検索の後、ファイル/ var / tmp / version-cfgが見つかりました。これは、すべての可能なデータをオープンXMLのような形式で保存しています。



構成ファイルの断片




</Row> </Tbl> <Tbl name="TelnetCfg" RowCount="1"> <Row No="0"> <DM name="TS_Enable" val="1"/> <DM name="Wan_Enable" val="0"/> <DM name="Lan_Enable" val="0"/> <DM name="TS_Port" val="23"/> <DM name="TS_UName" val="root"/> <DM name="TS_UPwd" val="root"/> <DM name="Max_Con_Num" val="5"/> <DM name="ProcType" val="0"/> </Row> </Tbl> <Tbl name="RouteSYSRT" RowCount="1"> <Row No="0"> <DM name="Display" val="0"/> </Row> </Tbl> <Tbl name="L2BBridge" RowCount</code>
      
      







残念なことに、このファイルも読み取り専用であり、ハードウェアの動作を担当する実行可能ファイルはヒントを提供しないため、telnetインターフェースはこれで完了です。



サークル2:Webベースのインターフェース



404エラーにより、ミニWebサーバー1.0 ZTE corp 2005を処理していることがわかります。ここでは、POST認証後にデフォルトのユーザー名とパスワードがadmin / adminであるような素晴らしい緑色のインターフェイスを取得します。







ええ、構成ファイルをアップロードし、その中のtelnetパスワードを手動で修正して、落ち着きました。 長くない。



構成のアンロード、ロード、および編集のプロセスを自動化するために、自分用の簡単なタスクを設定しました。 Fiddlerを使用して、インターフェイスを使用する過程で処理されたHTTPリクエストをスニッフィングし、認証フォームデータを送信した後、/ getpage.gch?pid = 100にmultipart / form-data POSTリクエストを送信する必要があることがわかりました。 そして、ここで、デバッグの過程で、構成をダウンロードするためにログインする必要がないことを発見しました。 クエリ履歴を詳細に調べたところ、承認がなくても、アドレス192.168.1.1/manager_dev_config_t.gchにアクセスすると 、次のページが表示されることがわかりました。







[バックアップ]ボタンが機能し、復元番号がありません。 それにもかかわらず、私は最後に行くことにし、最後にいくつかのスクリプト(Windows用のVBScript)を入手しました。どちらもパラメーターとしてモデムアドレスを受け入れます。 ここではコードを完全に紹介しません。幼年期のハッカーを生み出さないように、これはHTTPリクエストの単なるエミュレーションです。ここが主な部分です



 Set HTTP = CreateObject("Msxml2.XMLHTTP.6.0") Set ArgObj = WScript.Arguments URL=ArgObj(0) BOUNDARY="------12345678" HTTP.open "POST", "http://"&URL&"/getpage.gch?pid=100" parameters=BOUNDARY&vbCrLf&"Content-Disposition: form-data; name="&Chr(34)&"config"&Chr(34)&vbCrLf&vbCrLf&"--"&BOUNDARY&"--"&vbCrLf HTTP.setRequestHeader "Content-Type", "multipart/form-data; boundary="&BOUNDARY HTTP.setRequestHeader "Content-Length", Len(parameters) HTTP.send( parameters )
      
      







結論



特定された問題は重要ですか? 結局のところ、これはホームゲートウェイであり、正しいWiFi設定ではこの方法で破ることはできません。 しかし、ここで組織のネットワークのアプリケーションでは、脆弱性が他のデバイスの一部、特にPON端末に影響を与えることを考えると(構成はもはや平文ではありませんが)、松葉杖を追加することなく、疑わしいようです。 ZTEの技術サポートに対する私の訴えは、会社の代表者から無視されました。 それにもかかわらず、私は会社の製品に対する偏見を感じていません-価格/機能の面で、デバイスは非常に競争力があります。 それはなんとなく不快なもの、成長病、または何かです。



All Articles