41
51

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

CompTIA PenTest+受験記〜勉強方法と試験の感想〜

Last updated at Posted at 2020-11-11

はじめに

サイバーセキュリティ業界では、攻撃者目線での脅威把握、レッドチーム演習、ホワイトハットハッカー登用などの必要性が叫ばれています。
古くは『BLOODY MONDAY』、最近だと『王様達のヴァイキング』。テレビドラマシリーズだと『CSI:サイバー』や『MR. ROBOT』。エンターテインメントの世界で描かれるサーバーのクラッキング(攻略)シーンは厨ニ病心をくすぐる魅力がありますね。

こうした世界に憧れ、目指す若者も増えているようです。筆者はサイバーセキュリティという業界に10年以上在籍しています。しかしながら、いままでペネトレーションテスト領域には直接的に触れることなく、過ごしてきました。
サイバーセキュリティ業界の花形職種?とされているペネトレーションテスターに近づくべく、「CompTIA PenTest+」認定にチャレンジしてみました。
これから受験する方へ少しでも参考になればと思います。

CompTIA PenTest+

CompTIA PenTest+とは、ネットワーク上の脆弱性を特定、報告、管理するための実践的なペネトレーションテストを行うサイバーセキュリティプロフェッショナル向けの認定資格です。
2018年7月31日に英語での試験配信が開始され、日本語での試験配信は2019年3月15日より行われています。CompTIA認定の中では新しいカテゴリです。
セキュリティ診断において必要な知識の習得を目指している方。特にインフラや開発系の技術者で診断を自組織内で内製化していきたい方におすすめできます。
CompTIAでは、PenTest+取得にあたって推奨する実務経験として、3~4年間のペネトレーションテスト、脆弱性評価、および脆弱性管理の経験を有していることを推奨しています。
PenTest+はサイバーセキュリティのキャリアパスにおける中間レベルのスキルと位置づけています。コアスキルと位置づけているNetwork+、Security+認定で習得したスキルに加えて、侵入テストと脆弱性評価によるオフェンス(攻撃的役割)に重点を置いたスキル習得が必要となることがその理由です。

次の図は、「新資格CompTIA PenTest+ ベータ試験実施について」より抜粋
04656-new-cybersecurity-pathway-r2.png

CompTIAが実施しているサイバーセキュリティ領域の試験を職務内容にあてはめると、次のような関係性になります。

認定名 職務内容
CompTIA Security+ サイバーセキュリティ全般のエントリーレベル
CompTIA CySA+ ブルーチーム:攻撃に対する防御の役割のもとにデータ分析を行い、組織の保護・インシデントレスポンスを行う
CompTIA PenTest+ レッドチーム:敵対した役割のもとに攻撃に適切に対応できるかの評価、及び改善提案を行う
CompTIA CASP+ ホワイトチーム:組織におけるITガバナンスの推進をリスクマネジメントを重視してサポートを行う

ペネトレーションテストとは

脆弱性診断士スキルマッププロジェクトでは、「ペネトレーションテストについて」と題する文書にて、次のとおり定義しています。

「ペネトレーションテスト (Penetration Test / Testing)」とは、明確な意図を持った攻撃者にその目的が達成されてしまうかを検証するためのセキュリティテストの一種です。

ペネトレーションテストではその組織が持つすべてのシステム、もしくは指定されたシステム全体を対象として、実際の攻撃者が使用しているツールや脆弱性、ソーシャルエンジニアリングなどを利用して一定期間内に目的を達成できるかどうかの調査を行います。 テストを実施する際には遠隔操作を行う疑似マルウェアを用いたり、組織の内部ネットワークの端末やサーバーへの侵入を繰り返したり、Active Directoryなどのシステムへの攻撃を行い管理者権限を奪ったりすることもあります。

ペネトレーションテストはいわゆる脆弱性診断のようなWebアプリケーション単体やプラットフォーム単体のテストではなく、また網羅的に脆弱性の調査を行うわけではありません。

筆者の前提知識

次のとおり、PenTest+受験前に、すでに別分野のCompTIA認定を受けていました。

事前の情報収集

PenTest+ 試験の受験検討にあたり、公式サイトにて公表されている次の資料を参照してください。

  • CompTIA PenTest+ (PT0-001) 類似問題
    CompTIA PenTest+という認定に興味をもった方は、まずこの類似問題に取り組んでみてください。執筆時点で8問出題されています。「出題範囲」と照らし合わせながら、CompTIAとして、この認定を通じて受験者へ何を問おうとしているのか探ることが重要です。

  • CompTIA PenTest+出題範囲
    記載されている出題範囲を用語集として活用することをオススメします。書籍や模擬試験の受講後に記載されている内容について自分の言葉で解説できるようになっていれば合格に十分な実力が身についていると判断することができます。

CompTIA PenTest+ 試験概要

  • 試験番号:PT0-001
  • 合格ライン :750スコア以上(100~900のスコア形式)
  • 受講料(税込) :一般価格 ¥44,252

※本試験には、パフォーマンスベーステスト(シミュレーション)が出題されます。

FREE RETAKEキャンペーンの積極的な活用

CompTIA日本支局では、対象となる認定資格の試験が不合格だった場合に、2度目の試験を無料で受験できる『CompTIA FREE RETAKEキャンペーン』を実施しています(少なくとも、2015年から2021年現在まで毎年実施されています)。
「CompTIA PenTest+」もFREE RETAKEキャンペーンの対象です。
この制度を利用しない手はありません。試験となると精神状態としてどうしても本来の実力を発揮することができない人も多いかと思います。そんな人も2回の受験でパスできればよいと考えれば、少し気持ちが落ち着くかもしれません。

問題数/出題形式

問題数、出題形式に関して公式発表と一部異なる点がありました。私が受験した際には、次のとおりでした。

項目 公式発表 受験時(2020/11/11)
試験時間 165分 165分(80分で退出)
問題数 最大で80問 73問
合格スコア 750スコア以上 受験者スコア:775(合格)
出題形式 単一/複数選択 単一/複数選択(70問)
パフォーマンスベーステスト パフォーマンスベーステスト(3問)

CompTIA PenTest+ 出題範囲

項目 出題比率 概要
計画とスコープ 15% 計画とコンプライアンスに基づくアセスメントの重要性について問われます。
情報収集と脆弱性の識別 22% エクスプロイトに備え情報収集をし、脆弱性スキャンの実行と結果の分析などについて問われます。
攻撃とエクスプロイト 30% ネットワーク、ワイヤレス、アプリケーションとRFベースの脆弱性のエクスプロイトと物理セキュリティ攻撃を検討し、エクスプロイトを防ぐテクニックを実行などの項目から幅広く出題されます。
ペネトレーションテストツール 17% さまざまなツールを使用して情報収集演習を実施し、出力と基本的なスクリプト(Bash、Python、Ruby、PowerShell)を分析について問われます。
報告とコミュニケーション 16% レポートの作成方法を活用し、発見された脆弱性に対する推奨される緩和策を説明するベストプラクティスを実行について問われます。

勉強方法

当初はPenTest+の受験を意識していませんでした。
2019年7月頃より、「VulnHub」を開始。翌月8月31日より「Hack The Box」を開始しました。
このころから、ペネトレーションテストを意識するようになりました。

何か形に残しておきたい欲求を満たすべくPenTest+の受験対策に取り組んだのは、2020年2月からです。
2020年2月1日より、次に記載のWeb模擬試験を受講開始。これをペースメーカーとし、繰り返し答練(2ヶ月間)。気になる項目を書籍やWebでチェックという方法をとりました。
Web模擬試験の受講が終わろうとしていた3月18日、新型コロナウイルス感染症 (COVID-19)の影響により、米国、カナダのPearson VUEテストセンターが閉鎖されることを知りました。ここでモチベーションが落ち、PenTest+の勉強が中断しました。

PenTest+の勉強は中断しましたが、HackTheBoxやTryHackMeでペネトレーションテストの技能に関する学習は継続しています。
まず、2020年8月15日にHackTheBoxにてPro Hackerの称号をゲット。ここで、HackTheBoxについては一旦休憩。

2020年9月からは主軸をTryHackMeに移行。そして、10月からCompTIA PenTest+対策を再開。
すでにWeb模擬試験の受講可能期間が終了していたため、2020年10月15日より、TryHackMeの「CompTIA PenTest+ Path」を新たなペースメーカーとしました。

2020年11月9日(25日間)に「CompTIA PenTest+ Path」の全項目を修了させました。

使用教材

  • TACパソコンスクール 「CompTIA PenTest+ Web模擬試験(PT0-001対応)」, 6,800円(税込)
    模擬試験として180問の問題が提供されます。それぞれの設問に対する解答解説は充実しており、書籍級のボリュームです。また、180問の問題ストックを[分野別復習問題]として繰り返し答練する機能も実装されています。スマートフォン対応しているためスキマ時間を活用した学習に使えたこともオススメのポイントです。

  • Sybex「CompTIA PenTest+ Study Guide: Exam PT0-001 (English Edition)
    通読はしておらず、模擬試験後に気になる項目を辞書的に引く方法で利用しました。書籍の冒頭に「Assessment Test」として20問出題されています。また、各章毎に20問x全12章の「Review Questions」が出題されています。これらについては、「Answers to Review Questions」を含めて精読しました。

  • Sybex「CompTIA PenTest+ Practice Tests: Exam PT0-001 (English Edition)
    前述の「Study Guide」が教科書、「Practice Tests」は問題集です。80問 x 2つの「Practice Exam」と、各出題範囲別の問題(「計画とスコープ」が168問、「情報収集と脆弱性の識別」が168問、「攻撃とエクスプロイト」が200問、「ペネトレーションテストツール」が168問、「報告とコミュニケーション」が136問)が収録されています。

Sybexの試験対策 書籍は購入するとオンラインで実施できる問題集「Sybex Online Test Prep & Certification Products」のアクセス権が併せて提供されます。出題される問題は、書籍の内容と同一です。書籍を読むだけでなく、オンラインで問題を解くという使い方がオススメです。

  • CompTIA「The Official CompTIA PenTest+ Study Guide (試験番号:PT0-001) eBook 日本語版」, 18,715円(税込)
    CompTIAは、2020年4月に日本語版の公式テキストをリリースしました。
    私は本テキストを購入していません。ただし、サンプルを読んだ限り、試験に準拠した内容で合格に有効と思われます。書籍としては高額な部類です。このため、予算範囲内であれば、オススメです。

学習管理システムの利用

各種問題集の内容をeラーニングシステム(学習管理システム)の「learningBOX」へ転記して成績管理しました。
間違った問題を優先して出題する機能があったため、繰り返し学習において効果がありました。

learningBOX.png

TryHackMe「CompTIA PenTest+ Path」

TryHackMeは、サイバーセキュリティに携わるうえで必要な知識や技術を、問題を解いていくことで学べるオンラインプラットフォームです。
数ある問題の中から、CompTIA PenTest+試験に必要なスキルを集めたのが「CompTIA PenTest+ Path」です。

価格:10 USD/Month(一部の課題は無料)
20201109_TryHackMe.png

TryHackMeは、他の試験教材と比較すると、値段はかなり抑えることができます。なお、無料アカウントでも挑戦できる課題も含まれています。
出題される問題・課題は、クラウド上の仮想マシンに接続し、そこから得られる情報をもとに答えていく形式です。
このため、PenTest+における試験分野[3. 攻撃とエクスプロイト]、[4. ペネトレーションテストツール]パートの知識が最も身につくプラットフォームと思われます。
すべて英語での出題ですが、言語依存度は低いです。このため、ブラウザの翻訳機能を使えば対応が可能と思われます。

ただし、CompTIA PenTest+試験に合格するという目標に対してはこれだけでは不十分かつ、遠回りになります。
不足している知識領域としては、PenTest+における[計画とスコープ]、[報告とコミュニケーション]パートの内容が顕著です。別の教材で補うことが必須といえます。
また、想定完了時間が【51時間】に設定されています。他の教材よりも時間が要すると思われます。

一方で、CompTIA PenTest+ 合格後に、実技系の資格(eJPT/eCPPTv2、OSCP、GPENなど)取得を目指している場合には、強くオススメします。
また、2021年8月現在、「CompTIA PenTest+ Path」を修了するとCompTIA PenTest+の試験料 10% OFFのバウチャーコードが発行されます(使用期限は2021年12月31日まで)。これを魅力的に感じる場合も受講をオススメします。

TryHackMeにおける「CompTIA PenTest+ Path」の内容は次のとおりです。

Penetration Testing Tools

Application-based vulnerabilities

Network-based vulnerabilities

Local-host vulnerabilities

「CompTIA PenTest+」のLearning Pathには含まれていませんが、2020年10月29日に公開された「What the Shell?」ルームの挑戦もオススメします。
What the Shell.png
本ルームでは、試験分野[4. ペネトレーションテストツール]パートのうち、[4.3. 与えられたシナリオに基づき、ペネトレーションテストに関連するツールからのアウトプットやデータを分析することができる。]にて問われている内容を学ぶことができます。

CompTIA PenTest+ 試験直前チェック項目

CompTIA PenTest+試験における重要なポイントを抜粋して記載しました。受験前に記載の項目について重点的にチェックしてください。
知識」と、複数ステップにより実現される「技術」項目を中心に列挙してあります。
なお、次の試験直前チェック項目では、すべての試験分野について、網羅的にカバーすることを目的としていません。この点に注意してください。

知識:聞かれたら答えられる状態にすべき項目

計画とスコープ

  • MSA(Master Service Agreement: 業務委託契約書): ペネトレーションテストの発注側(サービスプロバイダー)と受注側(顧客)の双方で結ぶ包括的な基本契約。料金の内訳、変更管理、オンサイト作業に関する考え方など包括的な条件を記載した文書。
  • SOW(Statement Of Work: 作業範囲記述書): ペネトレーションテストの作業の範囲としてIPアドレスなどの情報のほか、詳細なサービスの提供内容(合意した作業範囲)、提供期間、金額または注文書において定めらた文書
  • ROE(Rules of Engagement: 行動基準): クラウドサービス上の環境に対してペネトレーションテストを実施する際には、事前にクラウドサービスプロバイダと実施期間やアクセス範囲について合意を得る必要があります。テストを行うために特別にファイアウォールのルールを変更してペネトレーションテスターがアクセスできるように設定変更を要する場合もあります。こうした内容は、ROEに記載するのが適切です。
  • NDA(Non Disclosure Agreement: 機密保持契約)
  • RFI(Request For Information: 情報依頼書): 企業や組織が発注などをする際、ベンダーに対して技術情報や製品情報などの情報の提供を求めるもの
  • SDK(Software Development Kit): ソフトウェア開発の際に必要なものをまとめたパッケージ
  • RFC(Request for Comments): インターネットプロトコルやインターネット技術の標準的な仕様を記した文書

「Rules of Engagement」についてより詳細が必要な場合、ペネトレーションテスト実行基準(PTES)が公開する「PTES Pre-engagement」を参照してください。

情報収集と脆弱性の識別

  • CVSSv3スコアの深刻度レベル
    • 深刻度 スコア
    • 緊急 9.0~10.0
    • 重要 7.0~8.9
    • 警告 4.0~6.9
    • 注意 0.1~3.9
    • なし 0

報告とコミュニケーション

  • ペネトレーションテスト報告書に記述すべき事項

    • エグゼクティブサマリー:経営層へ向けた総評、リスク、対策指針のまとめ
    • 脆弱性一覧:ホストごとに発見された脆弱性一覧
    • 方法論:侵入方法
    • 所見と改善:発見された脆弱性を悪用するリスクと対策
  • ペネトレーションテストのアクティビティ

    • 教訓の管理: ユーザー側でレポートで得られた教訓を管理し、必要に応じて組織内で情報共有を行う。
    • 再テスト: レポートの指摘事項を修正し、再テストを行い、安全な状態を保てていることを確認する。
    • データの正規化: ペネトレーションテスト完了レポート作成に使用する。
    • リスクアペタイト: 組織の目的や事業計画を達成するために、能動的に受け入れるリスクの種類と数を明示する

攻撃とエクスプロイト

  • ハッシュ値とその特徴:

    • NTLMのハッシュ値は16バイトで32桁の英数字。
    • SHA-1のハッシュ値は、20バイトで40桁の英数字。
    • SHA-2のハッシュ値は、28バイトで56桁の英数字またはそれ以上の長さ。
  • Webにおける脆弱性の重大度の順位:

    • XSS > クリックジャッキング > ファイルパスディスクロージャー > 期限切れ証明書

技術:やろうとすればできる項目

  • nmapコマンドのオプションスイッチ

    • -O OSバージョン表示
    • -iL IPアドレスのリストをファイルで指定する
    • -P0 または -Pn pingをしない
    • -vv 詳細表示
    • -sT TCP接続
    • -A OSやバージョンの表示
    • -p- 1から65535までのポートをスキャンする
    • -D <decoy1 [,decoy2][,ME],... おとり(囮)を使ってスキャンを隠蔽する
  • WDigest資格情報を保存する方法(mimikatz)
    WDigest資格情報がメモリに格納されないようにするには、 次のサブキーの下にある UseLogonCredentialレジストリ エントリにグループ ポリシーの設定を適用する必要があります(参考文献)。

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\WDigest
    
    • UseLogonCredential 値が 0 に設定されている場合、WDigest は資格情報をメモリに保存しません。
    • UseLogonCredential 値が 1 に設定されている場合、WDigest は資格情報をメモリに保存します。
  • AndroidのAPKファイルに対して、SAST(Static Application Security Testing)を実行する

    1. apkファイルからdexファイルを抽出
    2. dexファイルをjarファイルに変換
    3. jarファイルからclassファイルを取り出す
    4. classファイルをjavaソースコードにデコンパイル
  • ケルベロス攻撃のシナリオ

    1. ドメイン管理者のアカウントでSMBexecを実行
    2. mimikatzでゴールデンチケットを作成
    3. チケットをパージしゴールデンチケットをロード
    4. ドメイン管理者のチケットを作成する。
  • Webアプリにおける脆弱性と対策

    • コマンドインジェクション攻撃: サニタイゼーション
    • URLリダイレクト: 通信の妨害
    • SQLインジェクション(スタック): プリペアードクエリ
    • DOM XSS: サニタイゼーション
  • aireplay-ngによるDeauthentication(非認証)アタック

受験後の感想

前述に記載のとおり、新型コロナウイルス感染症 (COVID-19)の影響により、かなり余裕をもった勉強期間となりました。標準的な学習としては2ヶ月間を見積もっていれば十分だと思います。ただし、CompTIAは合格ラインが高く設定されている試験です。油断は大敵です。
ゼロからこの試験に合格した人が直ちにペネトレーションテストできるかと聞かれれば、技能的な観点から到底無理だと思います。
一方でこの試験に合格した人が現場で経験を積んだとき、ペンテスターとして活躍できる可能性はと聞かれれば、その可能性はかなり高いのではとも思います。
業界共通の言語を早期段階で習得しておくことは、実務における専門家とのやり取りを円滑にしてくれます。
結果として、更に高度な能力を短期に習得できるようになるはずです。
特に[計画とスコープ]、[報告とコミュニケーション]のパートは他の認定試験では重視していない、CompTIA PenTest+ならではの知識領域と思われます。
一方、[攻撃とエクスプロイト]、[ペネトレーションテストツール]のパートはCompTIA PenTest+だけでは定着率が低いと思われます。このパートに関しては時間を要しますが、TryHackMeの「CompTIA PenTest+ Path」を使って学ぶことをオススメします。

ステッカーをゲットしよう。

CompTIA日本支局では、オリジナルの認定資格ステッカーを配布しています。トレーニングにおいて、パソコンの資料を投影し進行される方がほとんどだと思います。ステッカーをゲットし、ご自身のパソコンに貼っておいてはいかがでしょうか。

CompTIA デジタルバッジの取得方法

CompTIAでは、認定資格を取得すると「デジタルバッジ(Digital Badge)」を付与しています。これは、デジタル認証を行う Credly の Acclaim プラットフォームを利用して付与されるサービスです。LinkedInを使っている人は是非、利用すべきサービスだと思います。第三者がバッジ経由で、スキルの詳細や取得者の信頼性を確認することができる良い仕組みです。
もちろん、私も「デジタルバッジ」を付与いただいています。

Udemy で講師デビュー

CompTIAの認定資格 CTT+ / PenTest+ 取得の知見を生かして Udemy にて講師デビューを果たしました。
ラーニングピラミッド」として知られているように、習得した知見は 他の人に教える/すぐに使用する が実践できると定着率を高めることができると思います。

教育機関

CompTIA公式

参考書籍

受験体験記

オフェンシブな資格認定

認定組織 資格情報の略語 認定タイトル
Offensive Security OSCP Offensive Security Certified Professional
OSEP Offensive Security Experienced Penetration Tester
GIAC GPEN GIAC Penetration Tester
GXPN GIAC Exploit Researcher and Advanced Penetration Tester
eLearnSecurity eJPT eLearnSecurity Junior Penetration Tester
eCPPT eLearnSecurity Certified Professional Penetration Tester
CompTIA PenTest+ CompTIA PenTest+

最後に、自分に向けて『汝、驕ること無かれ。謙虚に、そして逞しく生きよ』

41
51
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
41
51

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?