こんにちは、セキュリティチームのwonda-tea-coffeeです。
最近さらば青春の光のYoutubeチャンネルにハマっています。面白いのでぜひ観てみてください。人間ドック大富豪は傑作です。
さて、本稿では私が、弊社の資格取得制度を利用してBurp Suite Certified Practitioner認定試験に合格した話を紹介します。
受験に至るまでは主に海外の方の試験レビューを参考にさせていただいたため、私も合格者の一人として、これから受験しようと思っている方に向けて有益な情報を提供できたら嬉しいです。なお、試験に関する記述は全て執筆時現在の内容に基づきます。受験の折には公式サイトで必ず確認することをお勧めします。
Burp Suite Certified Practitionerとは
Burp Suite Certified Practitionerは、PortSwigger社によるWebセキュリティに関する資格です。同社が提供するBurp Suiteを活用してWebアプリケーションの脆弱性を見つけて悪用する能力が問われます。
試験内容
公式サイトより抜粋します。
- 試験時間は4時間
- 2つのアプリケーションのそれぞれについて以下の3つの課題に取り組みます
- ステージ1: 任意のユーザーのアカウントを手に入れる
- ステージ2: 管理コンソールにアクセスする(ステージ1で得たアカウントの権限を昇格するか、管理者のアカウントを奪う)
- ステージ3: 管理インターフェースからアプリケーションのファイルシステム上にある
/home/carlos/secret
の内容を読み取り、アプリケーション上から提出する
詳細については上記リンクを参照してください。
点数制などではなく上述の計6つの課題をクリアする必要があります。
試験の雰囲気についてはこちらから模擬試験をやってみると掴めるでしょう。
出題範囲はここにあるようにWeb Security AcademyのPractitionerレベル以下、つまり23トピック、189のラボが対象です。試験を受けるかは別として、上述のWeb Security Academyはほぼ1無料かつ大変勉強になるためお勧めです。
余談ですが、しばしばラボのクリア条件はcarlosさんのアカウントを乗っ取ったり、管理画面からアカウントを削除したり、ブラウザ上でalert関数を実行したりします。不便ですね。
受験条件
- Burp Suite Professionalのライセンスを有していること
練習・試験環境では外部との通信がBurp Collaboratorのみに制限されています。そしてこのBurp Collaboratorを利用できるのがBurp Suite Professionalというわけです。同ライセンスは年間で399ドルかかります。一度も利用したことが無い方は1ヶ月のフリートライアル版が利用できます。フリートライアル版でもBurp Collaboratorは使えるため、トライアルから1ヶ月以内に資格試験に合格すれば受験費用は大分安く上がります。
また、ライセンス購入の際はPortSwiggerに登録してあるメールアドレスを所属企業のドメインにすることをお勧めします。gmail等のフリーアドレスでは審査に時間がかかるか、そもそもされない場合があるためです。私は当初gmailで登録しており、ライセンス購入手続きをしてから数日間返信がありませんでした。調べたところ同様の体験をされた方がいらっしゃいました。そちらを参考に企業ドメインに変えて、催促のメールを送ったところ無事購入手続きをしてもらえました。
- 写真付きの身分証明書を有していること
後述しますが試験の際に利用するExamity上に、写真付きの身分証明書をアップロードする必要があります。私は免許証を使いました。
勉強方法
勉強方法を大まかに書くと、
- 各トピック、レベルのラボを解きつつ、条件を絞ってミステリーラボチャレンジ
- 上記と平行して試験用チートシートの作成
- 模擬試験
という感じです。以下ではそれぞれについて補足します。
ミステリーラボチャレンジ
通常のラボでは目的が明示されていますが、ミステリーラボチャレンジはそれがありません。ミステリーラボチャレンジでは指定された条件内のいずれかのラボに取り組みます。本番の試験同様にどこに脆弱性があるか分からない状態からのスタートです。初めてミステリーラボチャレンジをやった時は「手がかりゼロだとこんなに難しいのか...」と愕然としました。CTFなどに取り組まれている皆さんには普通かもしれません。尊敬します。手がかりゼロから脆弱性を探す訓練を繰り返していると「〇〇は試したからSQLインジェクションは無理だな、次はOSコマンドインジェクションの可能性を探るために○○を試すぞ」のように自分の中で戦略が立てられるようになります。
チートシート
試験においてはWeb Security Academyのラボを見返すのはもちろん、インターネットをフル活用することが許可されています。ググれば分かることも多いでしょうが、やはり重要な情報はまとめておきたかったため自分専用の試験攻略チートシートを作りました。私のはこんな感じです。自分の役に立つならばどんな体裁でも構いません。
模擬試験
試験の雰囲気を掴むためにも最低1回はやっておくと良いでしょう。管理者のパスワードなどはランダムなものの、基本的な攻略手順(ブロックされる文字列やそのバイパス方法)は変わらないため、1度解ければ十分かと思います。
受験
Practitionerレベル以下のミステリーラボチャレンジでは淀みなく手が動くようになり、いよいよ機が熟したことを感じたため9/4 15時頃に受験しました。
既に受験の前日に試験は購入していました。購入はすぐに処理されるため準備ができたらいつでも受験が可能です。
試験は第三者機関であるExamityを通して行われます。試験の間はカメラ・音声オンで画面を共有します。そのため、あらかじめ人に見られてもいい画面、部屋、顔、服を整備して臨むと精神衛生的に良いです。
いざ試験が始まると最初は緊張が酷く、頭が真っ白になってしまいました。全く進捗が無いまま最初の20〜30分を過ごした時はまさに絶望でした。その後徐々に冷静さを取り戻し、何とか2時間と少しを残して1つ目のアプリケーションを攻略しました。
その後一度水分を補給しに冷蔵庫に向かったのですが、帰りがけに手の震えからウィルキンソンを床にぶちまけてしまいました。
2つ目のアプリケーションも苦労しつつも攻略に成功し、結果3時間ほどで全課題を攻略することができました。落ち着きを取り戻してからはおおむね順調でした。
当初は早期終了できることに気づかず10分ほど虚空を見つめていましたが、Examity上の試験メニューから試験を終了させることができます。
合格まで
受験直後に試験ルールを見直していたところ、
You must not communicate or attempt to communicate with anyone during the exam.
という記述を見つけたため「あれ...飲み物離席ってアウトでは...?」と思い目の前が真っ暗になりました。誓って誰かと話したりなどはしていないのですが、PCの前にいない以上それは証明できません。不安に駆られてExamityのチャットサポートに問い合わせてみたところ「結果をお待ちください」とのことでした。お手数をお掛けしました。
受験翌日の9/5 22時頃、PortSwiggerのアカウントページを見ると試験ステータスがPassedになっていることを確認しました。嬉しい。気になり過ぎて1時間に1回はチェックしていました。合格証はこちらです。カッコいいです。資格は5年間有効です。
結果的に約10秒の飲み物離席は問題ありませんでしたが、皆様におかれましては飲み物は手元に置かれてから試験に臨まれると良いでしょう。瓜田李下です。
総評
私はこの手の試験を受けるのが初めてのため、良い比較対象が無くて恐縮ですがやや難しいと感じました。
試験においてはどのタスクにおいても以下の流れで進みます。
- 手がかりゼロから脆弱性を探す
- 怪しい箇所を見つける
- 悪用方法を編み出す
試験は4時間、全6課題あるので一つ当たりに平均して40分しか時間を使えません。一度ウサギの穴に落ちてしまうとすぐに時間は経っていきます。脆弱性が全く見つからない、怪しい箇所は分かったけれど悪用方法が分からない、悪用方法は分かったのにスクリプトがうまく動かない、etc。このように罠はたくさん潜んでいます。 そのため、事前のチートシート作成やミステリーラボチャレンジに時間をかけ、本番ではとにかく焦らず、諦めずに臨むことが肝要です。
さいごに
今回はBurp Suite Certified Practitionerに合格した話を紹介しました。受験を考えている方の参考になれば幸いです。
また、アンドパッドでは一緒に働く仲間を大募集しています。
ご興味を持たれた方はカジュアル面談や情報交換のご連絡をお待ちしております。
-
Burp Collaboratorを使わないと解けない問題が一部あります。↩