OSCP取得目指してPWK受講記 準備~初日(現在3週目)

7年ぶりにブログを更新します。

 

動機は、現在OSCPの取得に向けてPWKのコースを受講しており(現在3週目)、

日本語で書かれた情報を残そうと思ったためです。

 

 OSCPとは?

Offensive Security社のペネトレーションテスター向けの実践的な認定資格です。

現時点でOSCPやPWKについて日本語で書かれた情報がいくつかあります。

いずれも受講前に読んで、参考にさせていただきました。

blog.drmn.jp

medium.com

noobwanttobeahacker.hatenablog.com

studycanada.hatenadiary.com

 

私のスキルは?

  • 現在30代前半のフリーランスエンジニア(音声系やら、インフラやら)
  • プログラミングはC,perl,ruby,asmがなじみがあって、python,php等もできなくはない
  • セキュリティ分野ではCTFに参加したことはあるものの、ペンテストの実務経験等はなし
  • CTFも主にJeopardy形式のもののみに参加しており、得意分野がRE(reverse engineering)であったため、あまり攻撃手法に詳しくないし、そもそも最近CTF参加していない・・・
  • nmapやmetasploitは触ったことがあるけど、起動したことあるの5回ぐらい
  • ksnctfのVillager Bは解けた
  • 英語の読みはgoogleがあればつたないなりにある程度できる、書くのは自信ない

受講準備

上記の受験記に加えて、OSCPについて調べると下記の受験記が各所で絶賛されていたので事前に読みました。また、この中で提供されているツールは非常に有用です。(古いけど)

www.securitysift.com

なぜか妙な自信に満ち溢れていたので、あまり事前準備することなくPWKの申し込みをすることにしました。

 申し込み

 ここでハマりました。

受講の申し込みをする際に、フリーメールでないメールアドレスが必要となります。

フリーランスで仕事をしているため有効なメアドがなく、その場合"英語で記載された身分証明書"が必要となります。

パスポートを持っていれば済む話だったのですが、パスポートもなかったためメールでやり取りしていると、"公証付きの免許証のコピーでも可"と言われたので、取得し、申し込みが完了しました。

2019/01/09に申し込みが完了して、受講の開始は2019/01/27 9:00~となりました。

ケチったのと、妙に自信を持っていたことと後からでも有料で延長できることから30日のコースを選びました。

 

受講開始(初日:マニュアル読み)

 受講開始するとメールで講義の動画ファイルとマニュアル(380ページのPDF)へのリンクが送られてきます。(受講生専用のフォーラム、ラボのマシンを再起動したりするときに使うコントロールパネルへのログインID/PASSもついてきます)

上記Takahiro Sugiyamaさんの受験記にもありますが、このコース期間中はマニュアルを早々に終わらせて、ラボ内にある約50台のマシンを攻略していく必要がありそうです。

とはいえ、マニュアルよく読め的なレビューもあったため(マニュアルを1か月読んで演習をし終わってからラボのマシンへ入ったという人のレビューもあった・・・)、初日はまずマニュアルを読むことにしました。マニュアルは様々なツールの使い方や攻撃のテクニックがまとまっていて、学ぶことが多いです。

半日ぐらいマニュアルを読んでいたのですが、はやくマシンの攻略へ移りたすぎてだいぶざっくりと読んで、さっそくマシン攻略へ移りました。

ざっくりラボ解説

コースマニュアルとともにKali LinuxVMwareイメージとVPNのキーも送られてくるので、VPNでラボに接続することになります。

ラボには約50台ぐらいのマシン(Linux/Windows)があり、それぞれの脆弱性をついて侵入し、必要であれば権限昇格し(rootやsystem、administrator権限)、各マシン内にあるproof.txtを読み取るのが基本的な目標なのですが、たまにproof.txt以外にも有用な情報が潜んでいるので、proof.txtを読み取ることだけを目標とするのではなく(公式かどこかにPWKのコースはCTFではなく、real worldに近いと書かれていたような・・・)、root後の情報収集も重要となります。

また、どこかにはnetwork-secret.txtというファイルが潜んでいるらしく、それを見つけるとさらに別なネットワークがアンロックされるそうですが、僕はまだ見つけていません。

あと、1日に7回までサーバのリセット(revert)を行うことができます。ほかの人がすでに入って荒らしまわっている可能性があるので、攻撃の対象を定めた後は一度revertしてから攻撃を開始したほうがいいです。

1週目

半日マニュアルを読んだ後、nmapでざっくりとホストのスキャンを行って、al***というホストに挑みました。ここでもさっそくハマりました。

nmapやその他のツールとまだ仲良くなっていない状況でいきなり野に放たれた(出て行った)ので、とりあえずnmapスキャンしてみたものの、その後何をしていいかわからず途方にくれながら3日ぐらいが過ぎ、4日目にMetasploitでいろんなexploitを試していたらたまたま当たった感じで攻撃が成功しました。あ、Metasploitは試験では1度しか使用できないそうです。1台に4日もかけてしまいましたが、1台攻略したことで自信がつきました。

 

2台目はpe***を調査しましたが、とっかかりが少なかったのでスキップして、b**に着手しました。

b**は比較的簡単に低権限のシェルは奪えましたが、権限昇格の方法を探すのに手間取り、3日かかりました・・・。

 

1週目学んだこと

  • nmapの基本的なオプション
  • ncの基本的な使い方
  • Metsploitでexploitの実行の仕方
  • exploit dbの使い方
  • nikto
  • reverse shell(下記のページを参考にしました)

pentestmonkey.net

  • 権限昇格の基本(Linux)

blog.g0tmi1k.com

www.fuzzysecurity.com

1週目攻略済みマシンリスト⇒al***,b**

どこかのタイミングで、役立つリンク集とか作りたい・・・。