*本文原創作者:安全圈套的套哥,本文屬於FreeBuf原創獎勵計劃,未經許可禁止轉載

最近剛剛通過了OSCP的認證,整個申請考試和備考過程中遇到不少問題,通過與小夥伴交流和自己的摸索終於通關。網上對於OSCP認證的中文介紹很少,也沒看到詳細攻略,但在國內已經越來越受到企業的認可,參加考試的人也越來越多了。

本文簡述OSCE考證相關問題,給需要的朋友參考。

一、OSCP認證是什麼?

首先介紹下OSCP認證,目前安全技術類的證書有很多,像是CEH,Security+,CISSP等等。除了衆多側重於筆試的安全認證,OSCP(Offensive Security Certified Professional) 是爲數不多得到國際認可的安全實戰類認證。目前在國外受到廣泛認可,在臺灣、香港等地區也比較流行,國內剛剛起步,拿到認證的還不是很多,主要集中在安全企業和審計公司。

官方介紹:https://www.offensive-security.com/information-security-certifications/oscp-offensive-security-certified-professional/

OSCP認證,是一個專門針對Kali Linux滲透測試培訓課程的專業認證。該認證機構聲稱,OSCP認證是一個區別於所有其它認證的考試,考試全程採取手動操作的方式,而不設筆試環節。

認證條件:

考試形式:OSCP的認證考試也是另類的存在,考生擁有24小時的時間(實際是23小時45分鐘)去完成考試,具體如何分配時間由考生自己決定。題目是5臺主機(隨機抽取),目標是攻入並拿到最高權限(ROOT/SYSTEM)。基於難度級別,成功執行的攻擊會獲得相應的積分。24小時結束之後,你還有24小時去完成並提交考試報告(需要詳細說明攻擊步驟和里程碑截屏來證明確實攻破並獲得相應權限)。

考試費用:$800美元(30天實驗室訪問+認證)當然也有更多時長的實驗室訪問套餐,詳情如下,具體選哪個可根據自身情況自行選擇:

二、課程內容有哪些?

OSCP的整個課程還是比較體系化的,涵蓋了滲透測試中的大部分內容,內容包括:被動信息收集、主動信息收集、漏洞掃描、緩衝區溢出、Win32緩衝區溢出攻擊、Linux緩衝區溢出漏洞、漏洞利用、文件傳輸、提權、客戶端攻擊、WEB應用攻擊、密碼攻擊、端口重定向和隧道、Metasploit框架、免殺、滲透測試實戰演練等。

整個知識框架還算完整,但其中的web應用攻擊和緩衝區溢出部分內容感覺還是不夠深入,與國內的教程比起來略顯簡單。web滲透中並沒有各種繞過waf的奇淫巧技,緩衝區溢出部分也沒有突破系統的各種防護手段……

三、學習方式是怎樣?

目前官方推薦自學,官方會提供教材(約350頁的PDF教材)和教學視頻(約8小時的mp4視頻)以及爲學員提供的交流論壇和在線的lab實驗室環境。

註冊、約定lab時間並付款後,官方會在lab開始那天郵件你教材和視頻文件的下載鏈接,並開通論壇賬號及實驗環境vpn鏈接,你就可以學習教程並鏈接lab環境進行實驗練習了。

其中註冊環節可能會遇到一些坑,這裏就不細說,可以參考《OSCP認證教程第一集:註冊教程》文章。

通過自學教程你會掌握滲透測試中的大部分基本技能,在通過lab環境下的實戰靶機練習將理論練習實際會對學習的知識有更深入的理解。其中lab環境下大概有53臺靶機,靶機上預置了有漏洞的程序或者服務,你需要通過運用教程裏學到的技能來獲得服務器的最高控制權,並在靶機裏獲取proof.txt文件。

我在買的是30天的ab實驗,然而由於一些個人原因並沒有投入大量時間,靶機做了20多臺。但基本瞭解了lab環境和漏洞發現及利用的方法。個人認爲做練習只是一方面,掌握方法纔是學習的關鍵,因爲漏洞是不斷出現的,題目是永遠做不完的,只有掌握原理及方法纔是關鍵。當然如果有時間還是要儘量多做些lab的,畢竟是花了錢的哈。

四、怎麼考試呢?

通過30天的lab學習後我約了考試,約考的鏈接會在之前官方發你的郵件中有。我是lab結束後纔開始約考的,約考的時候才發現考試空擋已經排到了3周以後……早知道應該提前把考試時間約好,因爲剛做完lab的時候狀態是最好的,過個3周有些內容已經開始慢慢忘記……

考試是在線進行的,並且有視頻監考。具體來說就是你在約定的考試時間會收到官方的郵件,會給你一個考試環境的vpn連接文件,使用方法與lab的一樣,並告訴你考試題目的IP地址(一般會是5臺目標機器),題目滿分是100分,70分通過。

考試之前是要進行身份確認的,會通過攝像頭進行身份的確認,所以你要準備好護照(爲什麼是護照呢?因爲官方會要求政府頒發的、有照片的、英文的證件,國內符合要求的也只有護照了),身份驗證後就可以vpn連接考試環境了。

我約的是早上8:00的開始,早早的就起來做好了準備,7:45準時進行身份確認,其中遇到了網絡不穩的情況,官方那邊一開始一直看不到我這邊的攝像頭,重啓了下家裏的路由器就好了(也有小夥伴用4G手機熱點開始的,因爲部分地區的小區寬帶連不上考試環境),然後vpn連接進考試環境,網絡還算穩定,忙乎到8:30纔算正式開始考試答題。

我先選擇了一道25分的緩衝區溢出的題目,花了大概2個小時,總算完成了poc的編寫,拿到了shell,一看還是system權限,穩穩的拿到了proof.txt。其中遇到了一點小波折就是badchars漏了一個字符的,碰巧shellcode裏有用到了這個字符,反覆調試了好幾遍才發現。不過還好沒有ASLR、DEP等機制需要破,所以OSCP裏面的漏洞挖掘還是比較基礎的,因爲真正的挖掘是在OSCE認證裏,這也是我下一步要搞定的認證啦。

解完這道理就有點餓了,然後和監考說了下休息半小時,吃了點水果。從考試開始不光是有攝像頭監控的,我們的電腦屏幕監考也是可以看到的,所以當我們離開攝像頭,桌面停止操作的時候是要和監考說一下的。

半個小時後回來,在和監考打個招呼,發現監考的暱稱換了,估計是幾個人輪流監考……監考確認好後繼續答題,選了另一個25分機器,很快通過一個web程序漏洞拿到了shell,但是隻是user權限,找了很多本地提權的exp都沒打成功……思路卡住了,果斷換了一道10分的,看分值我以爲應該是一個送分的題,結果真的是沒那麼簡單,各種枚舉都沒發現問題,這時候心裏有點慌,想換下一道但有不甘心,重新整理思路,重新掃描分析,折騰到傍晚才通過一個服務漏洞拿到了shell,正在我擔心要怎麼提權的時候,一看是root權限,頓時心情好了很多。

到這裏已經做出了兩道半題目,算了下應該最少有45分了。

在做緩衝區溢出的時候,爲了節省時間我同時開了nmap跑其他機器的端口信息,簡單看了下剩下2臺的信息後實在太困了,和監考說了下,就去睡覺了,我還特意問了下去睡覺的話可不可以關機,監考說沒問題,我就關了攝像頭和電腦,定了鬧鐘睡了5個小時。

醒來先是看了剩下的2個機器,一個隱蔽的web程序可以拿到shell,不出所料是個use權限,又是提權,搞了好久還是沒搞定。剩下1臺各種嘗試,未果……2臺20分的機器,我只拿到10分……

算了下分數25+10+10+12.5=57.5,於是回過頭來做前面那個25分的提權,各種百度無果,無聊中換成谷歌試試,結果還真有意外出現,找到國外一篇文章,研究了下,改了改利用代碼,歐耶,成功拿到了system權限。穩了穩心情,默默的計算了下應該正好70分了,一看時間已經到了早上5:00,還剩將近3個小時,因爲擔心後面寫英文報告會被扣分,所以還是想再拿些分數才放心。

想到考試指導上說有一次使用msf的機會,想着應該是哪臺機器會用得上,我就糾結了,用在那個提權上還是剩下那臺呢?最後選擇用在最後那臺20分的機器上,各種漏洞自動過了一遍……沒結果,後悔沒寫練習和lab的報告了(提交練習和lab不該會給加5分的)。看了下時間,已經沒多少時間了,整理下了截圖,並確認了下所有提交的proof.txt,然後和監考確認考試結束。

這種24小時的考試真的是精疲力盡,又再次確認了下截圖,每個flag的截圖都有ipconfig或者ifconfig,關鍵步驟都有截圖……然後就放心的睡覺了,因爲還有24小時的時間要寫一份英文的報告,這是考試的最後一步,也是我最薄弱的部分,睡醒了按照官方的模板,把握做出來的三個半機器的滲透過程都寫了出來,當然是用最簡單的語法和單詞,主要全依賴了谷歌翻譯,全篇都是短句,因爲截圖比較多,通篇用的最多的就是like this然後下面放上截圖。

整理完報告發現居然寫了60多頁,最後做成pdf壓縮,上傳到官方給的url,再把下載連接發給官方指定郵件。

報告發送後24小時內會收到一封時間,告訴你已經收到你的報告,5個工作日內將告訴你開始結果。然後我等了5個工作日,在第6個工作日的上午收到了郵件:

五、考試難不難?

個人認爲OSCP還是模擬實戰滲透的,不像那些CTF需要各種腦洞大開。如果你在工作中就是做滲透測試的,那應該算是中等難度,如果是初學者,我建議還是需要認真的學完教程,並在lab環境中拿到30臺以上的靶機。緩衝區溢出部分難度不大,教程和考試都是屬於比較基礎的難度。

對於我個人來說,提權比較頭疼,因爲考試之前我也做了準備,網上找了各種提權一條龍的工具包,考試的時候用了發現就是一條蟲啊,派的上用場的不多,所這部分還是要多積累,多做練習。

總體上來說難度適中,畢竟70分就可以通過。

六、備考有什麼建議?

a.學好英文很重要。不管是報告還是網上查資料,都需要英文的讀寫能力,如果英文好會有很大幫助。(雖然後來我也有和官方溝通,對於非英語母語的考生報告裏的語法和單詞錯誤是不會扣分的。)

b.學習的時候要做筆記。考試的時候由於緊張會很容易手忙腳亂,所以提前做好學習筆記很重要,沒有思路的時候可以看下筆記也許就有新的發現。

c.練習和lab報告。在lab練習期間最好把練習和lab中靶機的滲透過程寫成報告,官方說提交練習和lab靶機10臺不同漏洞利用的報告會在最終考試成績上加5分,雖然分數不多,但在關鍵時候就是救命稻草了。

d.多交流。官方也有交流的渠道,如論壇、IRC,當然需要英文溝通了,所以我在這方面就……你們多努力吧。

七、哪些好的資料可以分享?

我在學習和備考的時候參考的一些不錯的資源,彙總如下:

模擬練習平臺(跟Lab環境類似):、

還有就是github上可以搜索“OSCP”找到很多資源,但是每個人的基礎不一樣,別人總結的不一定適合你,建議大家還是多多總結多多交流。

你可能覺得我上面列的太少。但上面這些是我覺得有用的,也是我看過和用到的,當然我也可以搜索下oscp、滲透測試等關鍵字給你列上一堆鏈接參考,但那些我可能真的沒看過也不知道對你是否有用。

*本文原創作者:安全圈套的套哥,本文屬於FreeBuf原創獎勵計劃,未經許可禁止轉載

聲明:該文觀點僅代表作者本人,搜狐號系信息發佈平臺,搜狐僅提供信息存儲空間服務。
相关文章