原文始发于yuyuyu_sec:OSMR受験記
OSMR(Offensive Security macOS Researcher)に合格したので、ネタバレにならない程度に記録を残します。
概要
OSMRとはOffensiveSecurity社のEXP-312トレーニングの認定資格です。
EXP-312 and the OSMR Certification | Offensive Security
OffensiveSecurity社のコース名は
[コース種別]-[レベル][連番][OS] ([OS] 0:複数のOS 1:Windows 2:macOS 3:Linux)
の形式となっているため、EXP-312は[コース種別]Exploit作成、[レベル]3、[OS]macOSのコースとなります。
内容
コースタイトルは「macOS control bypass」となっており、侵入後のホスト内での活動に焦点を合わせたコースです。そのためInitial AccessやLateral Movementについては、このコース内ではほとんど言及されません。
しかしながら、macOSはこのトピックだけでも十分に学ぶべき点があります。
例えばMicrosoft Office製品のマクロによってリバースシェルを得た場合、Windowsであればmsword.exeなどを実行しているユーザの権限で操作を行うことが可能です。しかしmacOSではユーザの権限に加えて、アプリケーションごとに隔離された環境(サンドボックス)内での操作に制限されます。
例えば権限昇格によってrootアカウントで操作を行えるようになったとしてもDesktop、Documents、Downloadsなどのディレクトリやカメラ機能へのアクセス権はTCC(Transparency, Consent and Control)と呼ばれる機能によって制限されます。これはアプリケーションとアクセス権の組をGUIベースのユーザ同意によって承認することで管理し、CUIベースで動く攻撃者からのアクセスを制限します。
以上のようなmacOSに備わっているアクセス制限を回避することが本コースの目的であり、このような機能の回避はmacOSでは脆弱性として扱われます。そのためアクセス制限の回避はリバースエンジニアリングとExploit作成によって達成していきます。
個人的な前提条件
Objective-C: リバースエンジニアリングが容易な言語なので、知らなくても大丈夫です。
macOSの知識はコース内で初歩レベルから扱っています。
またEXP-301(OSED)のようなデコンパイル禁止ではなく、デコンパイル後のコードも読みやすいため技術的な敷居は低いと感じました。強いて言えばカーネルのコードでも頑張れる適正または気合いだと思います。
獲得できるスキル
macOSの基礎的な部分や防御機構の知識
+
ブルー: 公表された脆弱性の影響を正しく判断できる能力
おそらくここが本コースを他人に勧めるのが難しい要因であると思います。
私はブルーチームとして働いていますが、macOSのセキュリティに関わる機会は非常に少ないです。(そもそもWindowsと比べて強すぎる…)
また本コースで扱う脆弱性の半分はSpotlightなどのサービスを含むmacOSの脆弱性であり、サードパーティソフトウェアの脆弱性を扱っている部分は多くはないです。そのため、ペンテスターや脆弱性診断士としてもこのコースで得たスキルを活かせる場は少ないように見えます。
ただし活かせる機会が少ない点を無視すれば、macOSのセキュリティについてまとまっている資料(GateKeeperなどのInitialAccessに関連する機能は除く)は他になく、面白かったです。
試験
レベル3の資格の中では旧OSEPと同じくらいの難易度に感じました。コースの内容を理解していれば解けるレベルの問題だけで構成されており、extra mileレベルの問題はありませんでした。
OSEDで地獄を見たので、同じEXPコースということで警戒していましたが恐らく1/4程度の時間で終わりました。