切られたしっぽ

産業廃棄物の投下場所

SOCっぽいことをしている中の人の OSDA 合格体験記 (2023/07)

はじめに

先日 OSDA というOffsec.の資格を取得しました。

N番煎じなブログですが、体験記のリクエストをもらったので自身の記録を書き残しておきます。OSDAの取得を考えている人の参考になれば幸いです。

What is OSDA & SOC-200 ??

OSDA 合格に関わるブログは、すでにたくさんの方がまとめてくださっているためご存じの方も多いかもしれません。まだ試験が始まって1年も経っていないはずなのに早いですね。

レオンテクノロジー様『OSDA(Offsec Defense Analyst)の受験記』
www.leon-tec.co.jp

GMO CYBER SECURITY by IERAE 様『OffSec Defense Analyst (OSDA)受験記』
gmo-cybersecurity.com

nknskn さん『OSDA のケーススタディ
news-nknskn.hatenablog.com

ここでも簡単に説明すると、OSDA は Offsec Defense Analyst の略で、Try Harder で有名なOSCP資格と同じOffsec.が提供する唯一のDefense向け資格です。OSDA 試験のためのトレーニングとして SOC-200 というコースが設けられており、その名の通りSIEMを活用したログ分析の手法を学ぶことができます。具体的には、以下のようなことを学ぶことができます。

  • Windows イベントログそのものの勉強/監査設定
  • WindowsLinuxの初期侵入/横展開/権限昇格/永続化 をした際に発生するログ
  • Active Directory環境での横展開/ドメイン掌握 を行った際に発生するログ
  • Kibanaの操作、アラートルール、視覚化ダッシュボードの作成方法

一言でまとめると、Elasticsearch + Kibana を使ったログ分析ゲーミングとなります。筆者はKibanaを使ったSIEM運用やEndpointログ分析を日常からバリバリ行う職場にいるため、分析環境はとてもなじみ深いもので使いやすかったです。

また、トレーニングの内容としても『監査設定をする => どんなWindows eventログが見えるようになったか確認する => 攻撃をしてどんな特徴的なログが出るかを見る 』という基本のキに沿った内容だったので非常に親切であり、初心者入門教材としては十分だと思われます。その一方で、そこまでハイレベルなログ分析の視点までは紹介されず、一般的なドメイン環境の侵害で使うツールが残すログを雰囲気で追えるレベルの解説しかなかったのは物足りない部分だと感じました。 弊チームにいると 「event id `4662` の3回出現で何されたかも読めないの!?」と詰められますが、この研修だと「lsass.exe に Process Access されたからcredential accessされました」くらいの粒度でわかればOKなので、非常にやさしいです。より専門的なログ分析の方法については SOC-300 が出るのを待ちましょうという感じですかね。

また、この研修はOffsec研修の中でも最高に親切で、用意されている Lab (challenge) の半分以上は OffSec Academy (OSA)という動画付きの講義で詳しく解説してくれますし、Offsec の discord に行って以下のように chatbot を起動すれば、各 Lab のヒントをもらうことができます。
ぶっちゃけ Try Harder 感はほぼないので、初心者向け Offsec トレーニングともいえるでしょう。筆者の肌間的にはOSCP, OSEP, OSWPに比べてかなり快適だったので、Blue teamの人たちの温かさに感動していました。

discord chatbot

試験まで

筆者は4/10からトレーニングの受講をはじめましたが、Offsec側でVMインスタンスが安定して起動しないというトラブルがずっと発生していて、まともにLabができるようになったのは5月末からでした。別の方の合格体験記では「試験環境が不安定でログがSIEMに残らない問題があった」という記述がありましたが、同時期のLab環境でも同じような現象が発生しており「そもそも演習環境のVMが正しく立ち上がるまでが一番難しい」という状態でした。なので、VMインスタンスにちゃんと触れるようになってから約2か月Kibana触ってLabを2周くらいしあたと、「まぁいけるかな」という状態になったため7月末に試験にゴーという感じです。

試験前の対策としてはいつも使用するクエリのチートシートやKibana Dashboardの作成などをしていました。特に、SOC-200 で使用するElasticsearchのバージョンは メジャーバージョン 7 の最終系 であるため、8で運用している人とは微妙に使用感が異なります。「普段 Elasticsearch + Kibana 使っているし余裕」という人も、試験前に使用感をチューニングすることをお勧めします。(「8.8 から使える Response console スゲー」と感動して現場でそれしか使っていない人は使えないので要注意です。)
www.elastic.co

また、分析用のDashboardとosqueryのクエリチートシート(endpoint fileのハッシュ計算や通信しているプロセス列挙など)があると時短になるので、短期間で試験を受ける人もこの2つだけは準備することをおすすめです。

Kibana Dashboard のサンプル

試験

試験は10個のフェーズに分かれた攻撃を順番に分析する24時間の試験です。各フェーズ10点満点で合計75点に達すれば合格になります。体感的には10時間くらいで終わる内容で、特にトラブルもなく最終フェーズまで進んだので運がよかったかもしれません。詳細なスケジュールを書くと以下のような感じです。筆者の場合金曜日業務の終わった後の土曜日夜1時から初めて、月曜日の0時45分までにレポート提出の日程でやったので途中眠すぎて椅子の上で気絶していました。OSCPを受験した際は連勤の間に試験挟む程度余裕だったのですが、もう年のせいか徹夜試験は身体に響きますね。。。

時間 Phase 詳細
01:00 0 試験開始. まずは試験環境の視察. 基本の検索クエリ生成
01:20 1
02:05 2
03:25 3
04:40 4
06:20 5 7時くらいまでは分析していた記憶がある
- - 椅子に座ったまま気絶
10:40 6 慌てて起きて分析の続き
11:15 7
11:55 8
- - お昼食べたり買い物したり掃除したり
16:20 9
17:15 10 18:00には終わり夜食と風呂
ここからレポート作成
06:00 レポートのひな形を書き終え安心して就寝。
- - 睡眠。
10:30 起床して誤字や抜けの確認作業
15:00 提出

筆者の記憶だと PEN-200 のときは性格の悪い環境での試験だったので、今回も捻くれたものを覚悟して受けました。......が、かなり素直な環境を想定したログ分析で杞憂でした。レポートを提出した次の日の夜には合格のメールが来たので、大きな波もなく試験終了。他の人の合格体験記を見ると結果がくるまで1週間近く間が空く人もいたようなので、個人差があるようです。

試験tips

試験に関する詳しいことは書けないので、最後にちょっとした試験のコツだけ書きます。技術面というよりもマインド面でのコツです。

  • 攻撃者が一本道で目標を達成するとは限らない
    • 言い換えれば、1つの行動の追跡にこだわりすぎると全体が見えなくなります
    • 内部まで横展開が進行したあとに唐突に足取りがつかめなくなっても、落ち着いてドメイン環境を見渡して痕跡を探しましょう
  • Phase で一つの目標だけが達成されるとは限らない
    • 「あーこの端末でこれやったんだ!」で勝手に納得すると、後で足元をすくわれる可能性があります
    • 「ログが読めてる!」とノッているときでも、一度全体を見渡して他にも何かされていないかを探してみましょう
  • ログが行動を完全に追跡しているとは限らない
    • 端末によっては監査設定があまく、ネットワークログやオブジェクトへのアクセスログを完全に記録してくれていないものもあります。
    • その場合は、見えているログから攻撃者が何をやっているかを埋め合わせて記述するしかありません。細かい部分は一度脇に置いて、先に進めましょう。
  • Phase のログを実行する場合は 0時01分10秒 のように少し中途半端な秒数から始めるのをおすすめ
    • 0時5分のようにキリのいい時間にやると、cronjob などのログに攻撃のログが混じるので滅茶苦茶見にくくなります。
    • 特に試験の開始前は、焦らずにどんなログが流れている環境かを分析するところから始めましょう

おわりに

以上、OSDA のレビューでした。弊社はOSCP合格者には上限まで資格奨励金が出ますがOSDAは0円なので天と地ほどの待遇差があり、弊チームからは『nmap は神スキルだけど Kibana でログ分析はハズレスキル』なんてネタにされていますが、 Elasticsearch + Kibana を触ったことない人やWindows Event logを全く見たことのない人にとって SOC-200 はとてもいいトレーニングですし、追放された先の多くのパーティで活躍できるスキルになると思います。環境準備して攻撃してログを見てリセットして......という環境を個人のVMで用意するのは面倒なので、SOC-200の研修を受講してサッと試す分にはおすすめです。また、SIEM や EDR 導入の話をすると「セキュリティにお金を1円もかけられない人もいるんですよ!!」というお話も出ますが、Elasticsearch + Kibana の分析環境は0円からSIEM + EDRを始めることができるので、「お金かけられないおじさん」にもおすすめです。*1

逆に運用経験がある人にとっては退屈な内容なので、そういう方々は SOC-300 が出るまで待ちましょう。
そのほか、より具体的な内容でも気になることがあれば twitter (今は X か....)まで気軽にDMしてください。それでは。

*1:もちろん0円だと限界も多いですが、とりあえずおすすめされた100 ~ 1000万円規模の製品だけ買って神様に祈るよりも、ログとして見えるもの, わかること, 限界などを把握したうえでその課題をクリアする製品を選ぶのでは防御の練度がまったく異なります。