uhyoyeah’s diary

基本的に今を生きることを書きます。

KLCPを受けてきました

Offensive Security社の年間サブスクであるLearn Oneに自費で申し込んだので、せっかくの機会と捉えて基礎固めも兼ねてKLCPの試験を受けてきました。
また、日本語記事が検索する限りではほぼないので、あえて書き残したいと思います。ひとまず、認定はされました。

KLCPとは

Kali Linux Certified Professionalという、Kali Linuxのペンテスト用ディストリビューションをマスターしたことを証明する資格です。

リンクにも記載されているとおり、ペネトレーションテストの技量そのものを向上させるものではなく、Linuxの基礎やディストリビューションそのもののカスタマイズなどを行って、ペネトレーションテストの実施に寄与するための知識・技量を蓄えるといった考え方の方が正しいかと思います。

カリキュラムについて

ログイン不要な公式ページにおいてシラバスのようなものが見当たらず、上記ブログから引用すると端折りましたがこんな感じです。

  • Linuxの基礎
  • Kaliのインストール(フルディスク暗号化、プレシード(無人インストールのこと)、仮想マシンなど)
  • 暗号化、永続化および「自己破壊」のオプションを含むポータブルUSBの作成
  • Debianパッケージマネージャーを介してソフトウェアをインストール、削除、カスタマイズ、トラブルシューティング
  • Kaliのトラブルシューティング(バグレポートなど)
  • Kaliにおけるネットワークおよびファイルシステム操作(iptables操作、モニタリングなど)
  • 独自のパッケージを作成し、独自のカスタムパッケージリポジトリをホスト
  • 独自のカーネルをカスタマイズ、最適化および構築
  • エンタープライズ環境でKaliLinuxをスケーリングおよびデプロイ
  • KaliLinuxの複数インストールを管理・調整

試験の概要と流れ

公式はここですが、要約すると以下のとおりです。

  • 90分で80問、ブラウザベースのClassMarkerというプラットフォーム。
  • 多岐選択式
  • 他の記事を見ると80%で合格(16問までしか間違えられない)。
  • クローズブックで持ち込み不可(英語試験でこれが最もキツイ要因でした)
  • Proctoringツールに接続後、注意事項の説明が行われる。
  • 監督官がチャットでリンクを送信するので、そのリンクに進むとKLCPのページが表示される。
  • アカウント登録とOS-IDを入れてボタンを押すと試験開始。
  • 試験が終了すると、結果が即座に表示される。
  • 試験に合格すれば、CertificateのPDFがダウンロードできる。加えて、KLCPデジタルバッジの申請手続きのメールが届く。

私のバックグラウンド

  • 本業は雑用をこなすマネージャー職。合間を見つけて趣味で手を動かす(コマンドを打つ)レベル 
  • CISSP/CISA/GPEN
  • LPIC-2→数年前に失効(今回の試験でこれが最も有用でした)
  • 英語は好きだが得意ではない、海外の情報をgoogle翻訳と対比させながらざっくり読む程度
  • SOC/CSIRT業務を数年程度経験していた
  • 趣味でGDBを動かしている
  • クラウドまわりの経験値は低い
  • 診断(ペンテスト)のお仕事経験は実質2年目

取り組みのスケジュール感

Offensive SecurityのポータルにLearn Oneのサブスク登録してからおよそ1か月かけて資料をぼちぼち翻訳しながら読み、2周目を0.5か月程度使ってざっと流し、主にコマンドを押さえつつ試験に臨みました。毎日1~2時間、休日は4~5時間くらい溶かした日もありました。
ラクティステストをかき集めると130問くらいあるので、まずはこれの回答を作成することも合わせて進めつつ、本番直前に実際の試験を想定して問題を解き、間違ったところの確認を行いました。

実際に受けた試験での時間配分等

ClassMarkerはピアソンなどの試験を受けていれば非常に直感的なUIであり、心配はいらないかと思います。
www.classmarker.com
試験開始から45分で一通り終了し、見直しをした後、30分を残して試験を終えました。英語がそんなに得意ではないのですが、決して難しい構文は出てこなかったので基本的な英語が理解できれば十分取り組める内容でした。
試験は80問中75問正解で無事合格しました。Certificateは即座にダウンロードできます。

役に立った資料類

昔は公式資料(プラクティスクイズを含む)が公開されていたようですが、陳腐化に伴い資料が消されてしまい、ポータル上の教育コンテンツに統合されているようです。逆に紹介している資料以上のものがほぼ無い感じでした。

  • 公式の資料(PEN-103)
  • 海外の先人の知恵など(redditのリンクを辿ると100問くらいのプラクティスクイズが見つかります)

web.archive.org
web.archive.org
www.gocertify.com


注意すべき事項

基本は公式資料の学習なのですが、以下の点についてお気を付けください。

  • Kaliのディストリビューションの特性から修正頻度が早く、公式資料の更新が間に合っていない
  • リンク切れあり
  • 既にkaliのリポジトリから削除されたパッケージを紹介しているケース
  • 時代の流れで採用するツール等が変わっている=どっちが正解かわかりにくい
  • 日本語の翻訳ツールを使うと誤訳があり、英語がそのまま読めるなら訳さない方が良い(そうはいかない場合、日本語を読んだ後に英語で正しいかを確認する必要あり)

以上の理由から、google先生に教えを乞うなり、実際にKaliの環境を手探りで確認するなどが良いと思います。

おまけ(Proctoringについて)

手元の環境が3画面なので、OSCPを見越してピアソンで受験せずProctoringツールを使って受験しました。その時に注意する点として。

事前のProctoringツールのテストができるので初回の人は確実にやった方が良い。

proctoring@にテストをしたい旨を連絡するとテスト用IDがもらえます。ただし、ログインしてからのセッション有効期間が非常に短い(数十分?)のであらかじめマニュアルを読み込んで準備することをお勧めします。私は5日ほど前にテストし、カメラが2つあってうまくいかず焦りました。この場で問題が解決できてよかったです。

Janusプラグインで画面共有が正しく動作しているかを判断できない。

これはさすがに不安になってOffensive Security社に確認したところ、アサインされた監督官が判断するとのこと。これだけでも不安で当日トラブルを避けたかったので、下記サイトでテストしました。正常に動作していれば画面が出ます。
webrtc.github.io

感想やちょっとしたネタ

  • OSCPには必須ではなく、知識として持っていると多少安心する程度。
  • LPIC1/2+Kaliの独特な内容+Debianに慣れる試験、LPICのようなコマンド入力問題が無い分多少気楽。
  • 合格は8割とハードルは高いが、試験自体はストレートな印象でCISSPのような2分の1からの選択ではない感じ。しっかり頭に叩き込めば大丈夫そう。
  • ある程度成熟したペンテスターが独自のツールをパッケージングやホストしたいというケースにこの知識が有用か。
  • 逆にテスターになり立ての人は基本的なLinuxの知識やapt(パッケージ操作のコマンド)の問題解決手順を押さえるという点で活用できる。ただ、カーネルの再構築やリパッケージングのところは修行感満載。
  • ARMの演習をやるためにラズパイを買おうと思ったら高騰していて買えなかったw
  • テスト予約をメールでする際、日本時間の〇時(UTC+9)といった表現で説明したことから、うまく理解されずに誤った時間を設定された。予約の際はJSTのことを考えずGMT/UTCの時間でしっかり説明しましょう(反省)。

さて、いよいよこれからOSCPの道に入ります。macbook相当の出費を取り返さないと。