OSCP 課程心得 part1 -- Challenge lab開始前的紀錄

PEN-200-2023的課程寫得真好,完成度真高阿

Posted by Peter on June 20, 2023

在去年秉著一股衝勁從TryHackMe開始學習資安,途中雖然經過了考研究所的過程,到現在也差不多有七八個月了。這邊想要簡單描寫一下我從開始學習資安到決定花錢考oscp,以及現在完成oscp第一個部分的學習歷程。

資安的起點 - TryHackMe

去年年中我一度陷入了不知道要走向什麼方向的困境,寫網頁的能力雖然培養起來了,但寫了幾個網頁之後發現自己對於學習網頁的新知不是感到特別的起勁,儘管我認為寫網頁本身並不算太無聊。不過重複性的工作太多,一個人寫網頁又要將設計、架構、程式、溝通全部包軌,雖然稱不上真的要放棄,但總想換一條路試試看 – 試一試也不虧吧?

在一連串的探索的途中,靈光一閃地想到了我的其中一個夢想 – 當駭客。那時候抱持著要不來研究看看這到底是什麼的心態上網查了很多資源。發現駭客的重點是在資安領域,而白帽駭客有個別稱是滲透測試人員,負責駭入企業以幫助偵測目前的弱點。

在經過一連串的中英文搜尋後,發現到了想要成為一名滲透測試人員並不容易,最好是要有一點點的程式底子,最好是知道linux的一點基礎。碰巧我在之前網頁的學習等等摸了一點,覺得自己能行,就開始了我的學習之旅。其中,最多人推薦的學習平台有兩個:TryHackMe以及HackTheBox Academy

資訊安全的學習平台我覺得都架構都蠻完備的,可能是建立於資安本身就是一個需要大量學習的技能的緣故,所以資安專業的人會付出比其他領域的人還要多的心力在致力於教學 – 儘管從業人數可能沒有其他領域的人多。

關於這兩個平台的差異網路上有很多比較,這邊就不再贅述,我首先是選擇了TryHackMe,TryHackMe上面有很多條路徑(Learning Path)可以選擇,我選擇了Complete Beginner Path。這條路徑基本上不需要任何知識,甚至我覺得我的前備知識雖然有幫助,但完全從頭開始我想也是可以的。開始滲透測試比起程式跟系統的底子,更需要的是重新學習網路等等相關的概念。

更多關於TryHackMe的說明可以參照之前的文章。可以總結為雖然有點小瑕疵,但整體編排著實可以用很便宜的價格讓人入門資安領域。

TryHackMe complete beginner 說明圖片

這也是我學習到現在,儘管覺得TryHackMe的網站做得有點陽春、裡面的編排也欠缺了一點巧思但我還是很喜歡他們的原因,因為他們真真正正地知道一個初學者想學的是什麼,以及怎麼入門這個領域。

完成TryHackMe之後的迷惘期 - 學什麼都感覺好難!

在完成Beginner Path之後,我知道下一步可能就是oscp,但我實在不確定自己的能力實在有沒有辦法應付oscp的難度。

最多人在網路講的就是,在開始oscp之前應該先去做TJNull’s List,這個清單是一份由資安大老TJNull所推薦的練習靶機 (註: 靶機指的是模擬滲透過程用來練習的虛擬機的代稱) 清單,而在我實際去嘗試了幾個之後,覺得人生好難,我學了那麼久結果沒有一個可以不用看答案拿到旗子的。

Screen shot on TJNull's list

因為碰壁的關係,我這時候花了很多時間在找資源,其中我覺得過渡期我覺得比起做什麼,有些比較重要的是培養一些心態,我在這段過程中了解了:

  1. 這時候已經準備好要開始面對一些簡單的靶機了,勇敢面對!
  2. 遇到不會的也不要灰心,看答案也能學習到一點東西,有句話說得很好,你如果什麼都不懂,那你想破頭也什麼都想不到。
  3. 給自己一個底線決定什麼時候要繼續,什麼時候要開始看答案,我通常是30~60分鐘如果真的想破頭就會直接跳過去看答案。

當然,主要還是要跟各位分享過渡期可以做些什麼,在這段剛完成基本知識學習的過渡期中,如同上面所述,開始打一些簡單的靶機是我覺得不錯的學習方式,其中TryHackMe上的Offensive Security Path給了一些不錯的簡單靶機可以練習,其中我也建議配上一些網路上的影片walkthrough,這些影片會講解他們的過程以及方式,可以學習到很多東西。

在靶機練習的初期,包括後面的HackTheBox,難度我覺得都不是給我們這種菜鳥的(就連easy都不容易),所以遇到不會的不要覺得自己很遜,慢慢看影片學就好了。

此外,也有人建議可以從一些簡單的證照如eJPT開始(名字看起來超像日檢的對吧),但eJPT我個人沒有考過,這邊就不再多加筆墨。

到這邊為止,我覺得都在試著從一個完全的初心者變到如何慢慢地接觸到真正的滲透測試練習環境,其中,我覺得對我幫助最大的是ippsec,下面會花一點篇幅特別講我是怎麼從他身上學習到很多知識的。

IT界的聖經 - ippsec

在經過簡單的靶機練習後,我決定開始挑戰些比較有難度的靶機,而那時候我看到很多人在推薦ippsec的影片,我決定要不就看看,結果一試成主顧,我有許多關於滲透測試的知識跟心法都是從ippsec的影片中獲得的。

ippsec的影片主要環繞在他在解HackTheBox這個平台上的靶機,他會講解其中的過程跟知識,除了本身實力堅強之外,講解的也很好懂。我主要是圍繞他的一個播放清單: TJNull’s OSCP prep上進行練習,練習的過程也很直白,就是我會先上HackTheBox自己先打一次靶機,遇到瓶頸的時候看是直接上去看影片學習,還是嘗試拿一個提示並繼續練習。

HackTheBox的退休靶機是需要訂閱才能玩的,分別有14美的vip以及20美每個月的vip pro。我推薦直接買20美的vip pro,這樣就不用跟別人共用同一個ip,避免你在玩的時候也有人在玩,導致有些服務或是檔案已經被駭入。

ippsec的影片是我學習到最多東西的地方,滲透測試的知識是當然,其中關於滲透工具的使用,如Kali Linux、vim、bash、tmux等等我覺得都是非常值得一學的。尤其是tmux,這真的是我用過最好的工具了。

我把上面的播放清單除了一些hard box沒有看之外的其他都跟過了一遍,hard box實在有點難過頭了我覺得。在這之後我覺得我自己的能力差不多了,於是開始考慮購買oscp。

OSCP的第一哩路

關於怎麼訂閱oscp跟oscp好貴喔等等的小眉角,這些我打算等到考完試之後再來詳述,這邊想講講我對於OSCP課程的看法,以及以我目前的能力能不能良好的上完課程。

我上的版本是 PEN-200-2023,是睽違好幾年才更新的2023版本,非常幸運!

在上課之前,我想了很久關於開始oscp課程的時間,覺得我好像開始的有點晚。後來我覺得還好有聽網友說的話,如果一上完TryHackMe而沒有經過ippsec及其他影片的洗禮,可能我沒有辦法好好的吸收oscp課程的內容。

oscp的課程分成兩個部分,課程本身(影片+文字+練習題)與challenge lab,我目前完成了前述的課程本身,並沒有開始lab的練習。課程本身我覺得是有一定難度的,如果沒有基礎的人一時會很難看懂課程的內容,本身課程的名稱PEN-200也表示了這是一個level 2的課程,在這之前還有PEN-100是給完全沒有基礎的人學的。但我可以說,只要好好地學完tryhackme跟看過ippsec的清單,面對oscp的課程是完全沒有問題的。

我很懷疑一個完全的初心者能不能PEN-100,200,300這樣接著下去學。我是沒有看過PEN-100的內容的。有看過的同學歡迎留言分享,或是等我之後有訂閱Learn Fundamental之後再來分享(我想上EXP-100)。

下面來分享對oscp課程的一些想法。

oscp的課程完美到不可思議

雖然oscp很貴,但我一開始其實是沒有抱持著什麼太大的期待,就想說好吧,反正有什麼我就上什麼,上完就拿張證照,既然大家都說那張證照是個鐵飯碗那我也來考個 ,我想當工程師 (›´ω`‹ )。沒想到的是,oscp的課程編排、難度、水準都十分有水準,我完全不後悔花了那麼一大筆錢上這門課程。

oscp的課綱在網路上都查得到,有興趣的可以去看看。我覺得offsec自豪他們的訓練體系不是沒有理由的。除了必然的技術層面以外,也教了很多例如滲透測試的心態,如何寫報告等等,這些都是建立在指導學員成為一門滲透測試專家之上。意思是,課程的核心並不是為了讓你通過考試,而是為了指導你成為一名優秀的滲透測試人員,其中的很多東西考試雖然不能用,但考量到實際的滲透測試狀況課程還是會教。事實上他幾乎沒有在課程提及這些技巧如何運用在考試上面。

oscp的考試是著名的實務取向,我想這也可以從他們的訓練中窺得一二。課程裡面會教怎麼執行客戶端攻擊,而同樣的技術其實在ctf(滲透練習)中並不多見 (還是是我孤陋寡聞?) 但課程同樣放了不少心力在這上面。

oscp client side attack syllabus

我也很喜歡課程教導了很多如何寫報告的技巧,我也很開心我這樣寫文章的人其實除了進行滲透測試以外,還可以在文字上面一展長才,而且我去看了一下offsec本家提供的滲透測試服務,他們有特別提到任何溝通都是透過工程師直接聯繫,我感覺我很適合!!我還能對日本、歐美客戶!!

offsec pentest service description

當然,關於課程內容因為課程規定我不能透漏,我只能說課程完美的指導了如何成為一名滲透測試專家(儘管我還沒找相關工作,這樣有點像在大談)。也讓我們這種野路子的自學仔有了一個超級完美的藍圖知道滲透測試中各個項目要怎麼進行,並且可以怎麼進一步地去學習。

課程的難易度與用字遣詞都十分中性

課程的難易度如同上面所述,只要有看過基本的ipp跟上過TryHackMe都沒什麼問題,我想講的是整個課程把難易度控的基本上一致 – 不會讓人覺得,ㄟ,怎麼突然變那麼難啊,的這種感覺。

在我上過不少課程中真的最怕遇到這種狀況,就是前面學一學都覺得蠻順的,結果後面突然跳出來一個超難的把整個課程卡死,在oscp中完全沒有遇到這種狀況,儘管有幾個exercises比較困難,但在官方discord討論版裡都有解答,再不濟上面也有導師來指導,不用擔心遇到狀況。

但相對來說,就可能會比較有種意猶未盡的感覺,就是某些題目我感覺我想多學一點,但無奈課程難度就只到這裡,沒辦法再繼續學了。我好想學AV Evasion阿! PEN-300我來了

這邊提一下英文,呃,我提到的這些全部都是以英文為基礎下去學習的,如果英文不好的同學可能會有一丟丟小小的吃力,畢竟oscp是有時間壓力的,如果因為英文的關係花了太久的時間在課程內容就有點虧了,不放心的同學可以考慮買Learn One也就是一整年的大包裹,也沒有說貴很貴,對於時間不充裕的同學還是挺不錯的,請各位掌握一下自己的英文水準,量力而行。

課程整個雖然有影片,但是還是以文字基礎進行,內容用網頁切成一個小塊一個小塊的,讀起來很愉快也不會很吃力,裡面的”講者”講的內容深入淺出,不會有太難的狀況出現,我覺得看他的教學文章就好像有個人在你旁邊講話一樣舒服,寫這個課程的人絕對會是我將來的榜樣。

當然.. 還是有小缺點

課程內容本身很好,但平台常常出問題,三不五時就說vpn壞了,網站掛了,遇到的時候實在很氣,但又沒辦法。好在平台補償還蠻阿莎力的,只要寫信過去通常都會補個幾天。

還有sqli我真的沒轍,我上完了還是不太熟只會用sqlmap,我覺得這部分可能要多花時間再進行學習。burp他們家的academy教得還行,有空再找時間上去看看,雖然我只看過upload那章。

總結

作為一個課程中間的小心得,簡單的講了我從開始學習資安到現在上完課程的心路歷程,接下來就是面對龐大的lab以及考試本身(可能還有更多的proving grounds)。沒有意外的話,會在10月前後會嘗試第一次考試。

看完的同學也歡迎留言分享,訂閱粉專!

雖然我2023年九月要讀日文所但是也歡迎看到這篇文章的各路大老如果對我有興趣的話歡迎聯繫洽談相關職缺!隨時都歡迎!

email: petervsjim@gmail.com