Offensive Security Certified Professional (OSCP) 滲透測試證照經驗分享

1. 前言


在資訊安全的證照中, 有許多證照以及課程可以學習

像是CEH, Security+, CISSP. 但真正以實作滲透測試為主的, OSCP算是最大宗. 在台灣並不算很出名...但在國外算是小有名氣的證照之一.

國外的分享數量非常多不在話下, 所以這篇文章將以中文做分享, 希望能藉此機會拋磚引玉一下


2. OSCP介紹與先修材料推薦


2.1 先修材料推薦

由於 OSCP 對修課者會有一定的要求, 有些人或許會好奇, 如何才知道自己是否準備好可以來上課了?

有些資源是我個人很推薦在上課之前可以先參考練習一下:

https://www.vulnhub.com (提供很多脆弱虛擬機可以下載來練習, 網路上很多人有分享解法, 可以一步一步學習依樣畫葫蘆)


https://www.hackthebox.eu (需要用官網提供的VPN進入他的 Lab環境, 跟OSCP Lab類似, 由於是免費的所以並沒有提供教材. 但是是很棒的資源. 他有個前提是要能夠破解官網註冊步驟)


2.2 課程簡介

Lab購買方式

官網是 https://www.offensive-security.com , 要參與考試之前必須先上他們的線上課程, 課程大綱的網址如下: https://www.offensive-security.com/documentation/penetration-testing-with-kali.pdf


他的課程分為三種 (買lab同時會包含一次的考試, 單買考試是一次60美金以漲價變成150美金):

Course + 30 days lab

Course + 60 days lab

Course + 90 days lab

詳細價格在

https://www.offensive-security.com/information-security-training/penetration-testing-training-kali-linux/


可以發現其實差別只在lab天數. 不建議購買30天lab....因為有很大機會會沒有足夠時間做lab. 但是在購買過Course package後是可以單獨購買lab時數的. (很害羞的說我lab續了兩次, 因為小弟經驗不足實在破不完lab)

課程包括了PDF以及Video, 裡面會針對滲透測試做基本的介紹.

念完他的PDF以及video後就可以進入OSCP最出名以及辛苦的Lab.


Lab 分為四個subnet: 總共約50多台機器等你破解 當你使用官方提供的VPN進入後,你會待在Public(DMZ)之下. 要想辦法盡量破解每一台機器/subnet 並取得root/system權限.


Forum & IRC

Offsec 提供了論壇以及IRC的管道, 讓學生可以討論裡面的課程以及lab, 但是裡面不會有提供直接解法, 只會有小小提示. 宗旨是讓學生自己想出來才算真正學會.


Revert

當你懷疑你用了錯誤的攻擊, 讓server整個停擺了, 這時就要上control panel, 使用revert讓機器回到原始狀態. 也建議當要開始攻擊一台機器時, 一定要先reverte後再攻擊.

Revert次數是一天會有8次, 基本上是很足夠的


Proof.txt V.S. network-secret.txt

proof.txt 是存在在每一台lab裡面的檔案,通常會在root folder或是admin desktop. 你可以把它當成是獎品,但不是你的目標. 目標還是要以取得root/system access為主.

network-secret.txt是存在在特定Lab之中,當你發現他的時候,恭喜你,你會知道下一步的


Try Harder

Try Harder是OSCP的宗旨標語, 意味著別老是靠別人給你答案, 要自己想辦法找出答案, 自己想出來, 才能真的學會.


2.3 參加考試

考試的方式跟其他證照很不一樣, 考試時間是23小時又45分鐘, 會給你5台機器, 你必須要在時間內破越多越好.

每一台的分數不一樣,總分是100分, 70分是過關分數.

有些機器會包含 local.txt以及proof.txt 有些則是只有local.txt,詳細資料跟VPN access會在你考試的時候一同寄給你.


做完考試後會給你24小時的時間撰寫報告, 裡面要包含你詳細的攻擊步驟以及screen shot. 同時可以附上lab以及exercise 的內容, 最多可以額外加5分



3. 個人經驗


3.1 個人背景

簡單介紹一下我的背景, 台灣中部公立大學電機系+美國Computer Engineer碩士,沒有full-time經驗. 只有一個台灣實習跟美國實習經驗, 分別是嵌入式軟體跟嵌入式資安的實習.

在碩士中修了兩門資安的課程(Network Security/Application Security). 總體來說經驗算是非常不足, 幾乎可以說是 0 經驗的菜鳥. 但在偶然的情況下聽資安大神朋友跟我提到這張證照,加上有興趣, 所以就被推坑了...

(在此呼籲對OSCP有興趣的朋友們,如果跟我一樣沒什麼經驗, 請務必要先在上述資料練習一下)


課程開始後, 我花了約三週左右的時間在聽課程Video以及做他的exercise, 跑過一次後開始lab練習, 發現課程裡面所教的遠遠不足以用在lab上面. 課程只會給你概念, 剩下的要靠你自己跟google. 有時會在論壇中聽到有趣的提示, 也有時候需要一點運氣跟靈感.


在Lab中, 總共約50多台機器, 有些是 low hanging fruit, 意思是簡單的機器, 通常很直覺可以駭入並取得最高權限, 有些則是非常困難, 需要花很多時間. 其中有三台惡名昭彰的機器 Pain/Sufference/Humble, 弱弱的說我只拿到了Pain.


如果攻擊一台很久時間卻沒有進展, 除了可以上forum irc看看, 也可以上官網support admin線上詢問. 如果你問的問題不夠specific, 通常admin只會回覆你 try harder. 反之, 當你的思路是對的, admin通常會給你一些提示幫助你成功進入下一步.


隨著時間的過去, 從一開始可能要花4天甚至一週才能扳倒一台機器, 到後來經驗累積後可以越來越快. 每破解一台機器, 都是經驗的累積, 也能發現Offsec對Lab真的非常的用心.


再經過半年幾乎每天讀書到11,12點的日子後. 截至今日, 目前破解數量落在42台, 約80%的lab machine, 並且已解鎖所有的subnet(IT,DEV,Admin), 對於很多厲害的人來說或許不是很亮眼的數字, 但也是我半年來每天坐在電腦前的結果.


3.2 My approach to solve a box


以下會是我在Lab中學到的個人經驗, 會比較techinal一點, 但我會嘗試寫得不那麼像外星文, 所以只會有重點整理


3.2.1 Information Gathering

當一開始決定了要攻擊的IP, 先用nmap這類information gathering工具跑過一遍, 跑完之後會知道哪些port是開放的, 這也會是最重要的步驟, 決定著之後滲透測試的方向


3.2.2 Enumeration

當決定好要攻擊的port以及他對應的application後 (for example: port 80 = http), 開始尋找是否有任何存在的漏洞, 方法有很多種. 這邊列出幾個基本的:

OWASP 10

Application 版本對應的 Metasploit, searchsploit module

Password cracking

Automation tool scan.....etc


3.2.3 Exploit

確定了攻擊方法後, 開始發動攻擊, 很有可能攻擊會失敗. 這時要開始尋找原因, 更改exploit code或是換module 使用


3.2.4 Privilege Escalation(提權)

當攻擊成功後, 通常只會得到low privilege shell, 這時要透過privilege escalation來獲取最高權限(Root/System)

以下列出常見的提權方法:

作業系統版本提權攻擊

SUID Program exploit

Weak file permission configuration


3.2.5 Post exploit

在OSCP Lab中, 有些特定機器是要靠隱藏在其他機器中的資料來提示, 所以當你破解一台機器後, 也要再多找找有沒有有趣的資料



3.3 考試

第一次:

當我破了約30台時, 第一次Lab 時間也到了, 想說考試來試試水溫, 於是興高采烈的報名考試. 經過了一整天的摧殘, 雖然結果沒過, 在五台機器中我拿下三台full shell, 但也覺得跟報名前的自己已經很不一樣了. 當時跩跩的覺得再給我一次機會我一定可以考過.


第二次:

第二次考試跟第一次間隔了一個月. 我滿懷期待的開始考試, 經過了3小時, 拿下了第一台....好景不常的也是這次考試中的唯一一台. 心情大受打擊之下, 決定好好再閉關修煉.


第三次:

經過了第二次的失敗, 好好沈澱自己並且在hackthebox上也做一些練習, 看看高手破解的方法, 也重新認識自己的不足並且乖乖再多找一些資料閱讀, 過了兩個月後報名了第三次的考試.


第三次的考試 從下午兩點開始考, 開始一小時的時候我順利拿下第一台, 之後的5小時陷入了鬼打牆, 才好不容易拿下第二台.

之後一直挑燈夜戰到半夜三點前, 拿到了low privilege shell但無法提權, 決定先睡一下再戰. 累積台數兩台半.

隔天早上八點半起床開始繼續, 在早上十點的時候順利的拿下full shell以及第四台機器, 到此時分數已經足以通過(75/100). 最後的時間內, 很可惜我無法在攻破最後一台機器.


很幸運的, 在這次的考試中我拿下了四台, 並且也順利的通過了OSCP的考試.




4. 總結


在經過每天摧殘自己, 挑戰自己的狀況下經過了半年多, 終於通過了這次考試, 很感謝 Offsec 提供的環境以及幫助過我的每一個人, 不管是實質建議或是心靈上的支持都非常的感謝. 感謝你們讓我有這個機會分享自己這半年來每天在做的事情.


拿到了證照非常開心, 但這只是個開始...接下來有空的話應該會繼續挑戰Offsec更進階的證照像是OSCE


第一次分享心得文, 排版可能有點詭異以及文句不通順的地方請多包涵.



5. 好文分享


除了上述的Vulnhub以及hackthebox之外, 我整理了一些自己覺得很有用的資源


https://github.com/frizb/OSCP-Survival-Guide#port-scanning

(內容如網址, Survival Guide)


https://blog.g0tmi1k.com/2011/08/basic-linux-privilege-escalation/

(相當詳盡的Linux提權指令介紹)


http://www.fuzzysecurity.com/tutorials/16.html

(相當詳盡的Windows 提權方法)


https://www.youtube.com/channel/UCa6eh7gCkpPo5XXUDfygQQA

(hackthebox 神人影片教學文)


http://pentestmonkey.net/cheat-sheet/shells/reverse-shell-cheat-sheet

(Reverse shell cheat sheet, 很詳盡的指令介紹)


書籍部分:

這邊只列出一些我有看過覺得很棒的, 沒列出不代表不好, 只代表可能我沒看過


Windows 緩衝區溢位攻擊軟體安全實務

(將windows buffer overflow解釋得非常清楚, 非常推薦的一本好書, 感謝作者寫的這麼詳盡)



The Web Applications Hackers Book

(專門分享Web application常見漏洞, 相當的詳細而且資料很豐富)


Metasploit 測試魔鬼訓練營

(將滲透測試的精華都寫在裡面, 涵蓋了各大主題.)



最後的最後.......我通過啦!Because I tried harder.





-0xbc -- 10.10.2017


留言

  1. 作者已經移除這則留言。

    回覆刪除
  2. 版主您好, 我叫allen

    請問方便和您交流一下oscp的教材資訊嗎??

    我們這裡有拿到一版文件和video, 但我看文件是2014年的, 不知道是否和太舊?

    回覆刪除
    回覆
    1. allen您好
      沒問題喔 方便給我您的聯絡資訊我們私下討論嗎?(email,line.....)
      我的應該也不能算是新版,但內容應該大同小異(?
      Billy

      刪除
  3. 網誌管理員已經移除這則留言。

    回覆刪除
  4. 版主好,有事請問您,可否email討論一下?

    回覆刪除
  5. 版主好,有事想請教您一下:
    目前我也正在準備OSCP,已經3個月了,現還是停在做LAB中,所以,我些事項,可否使用EMAIL請教您一下。我的連絡EMAIL:ACGrock@outlook.com。感謝。

    回覆刪除
  6. 版主你好,目前在看OSCP的準備方式及收集相關的資訊。請問大大方便用mail聯絡或line? 謝謝版主!

    回覆刪除
  7. 版主你好, 我對資訊安全方面很有興趣,但是沒什麼經驗, 所以請問版主能否分享oscp的教材資訊嗎? 版主方便用Email聯絡 ? 謝謝

    回覆刪除
  8. 版主你好, 想請問您重考需要再付費嗎?每個人可以有幾次重考的機會呢?謝謝您

    回覆刪除
    回覆
    1. 重考要再付費喔 可以無限次數重考,但中間會有冷凍期可以參考
      https://www.offensive-security.com/faq/

      刪除

張貼留言

這個網誌中的熱門文章

惡意程式分析 - 常用工具篇

Offensive Security Certified Professional Review