2014年5月19日月曜日

バッファオーバーフローを突く例

組み込みシステム(この例はルータ)に対するバッファオーバーフローを突く例を見かけたので紹介します。
/DEV/TTYS0というサイトで、tenda製の-Link社W302Rというモバイルルータを突く例がブログの記事になっています。
ファームウェアにはGoAhead社のWebServerが組み込まれているんだけど、かなりカスタマイズされていて、HTTPの受信の前に別スレッドで違う処理をしている。で、その別処理の中では、
・UDP7329番ポートを作成して受信を待つ
・受信したパケットを解析して先頭のマジックワードを確認し、その後の内容に応じた処理をする
ということがされていて、その中に『後続の文字列をコマンドとしてルート権限で実行して送り返してくる』ものがあるということだそうです。(実際、ncコマンドでルートシェルを起動したスクリーンキャプチャも示されています。)
パケット受信はLAN側だけで行われているので、WAN側からの脆弱性にはならないようですが、WPSがブルートフォースアタックに対する処置なしに許可されているので、WPSのクラッキングが可能で、それ故、所有者の気づかないところで外部からルート権限でコマンド実行することも可能になっている、ということみたいです。
まあ、障害解析なんかで使うために用意されているものなのでしょうが、ここまで解析する人もいるので要注意、ってことでしょうねぇ。

0 件のコメント: