手作滲透實驗室 2.0 — 課程心得

Hands-on Penetration Testing Labs 2.0

Omenoceros
8 min readApr 13, 2020
By pixel2013 on Pixabay.com

Contents

選課動機

近幾年全球資安事件頻傳,系統漏洞與攻擊事件層出不窮,這些難以想像的事件彷彿距離太遙遠。

因在IT領域工作一陣子外加一點的好奇心驅使,決定自主搜集資料和網上學習資安課程。後來理解要進入資安領域的門檻頗高,學習的面向頗廣。而且國際資安證照課程與實驗室 (lab)價格不菲。

還沒開始就打退堂鼓也未免太早了。偶然在 Soft&Share 臉書上看到這門課程,把這門課暫時放入清單,等有空時再回頭追蹤。

幾週後在工作之餘,回頭查閱想學的清單,這門課便成為我的首選。但在這之前我也嘗試著學習其他白帽相關課程。

在快速比較講師的 1.0, 2.0, and 3.0 的課程後,我決定從 2.0 開始。

沒為什麼,只因為更新日期比較近期。

課程簡介

有興趣的可以參考以下連結。

Soft&Share 中文課程介紹

講師風格

Jesse 節奏速度非常快,在這門課,他不講理論(真的沒講),只約略提到 code 的出處在哪。對於工具的用法也是邊敘述邊做,讓單一影片與整個課程一線到底。

少部分的 Code 會以分析的方式講解,但老實說,沒有底子,要懂他說什麼,有難度。

不講什麼廢話,也沒聽到笑話過。但這也是這堂課吸引我的地方。我的需求就是要實戰,不浪費時間。但也在實戰中我理解到一些工具和知識上的不足。也了解到自己下一步該補足不足之處。

Jesse 在課程簡介說過並鼓勵學員,要成為一名滲透測試員,對於還沒遇到的難題,自行研究尋找問題的解決方案,是一項非常重要的技能。

I highly encourage independent research and attempting to find answers on your own. This is the single most important skill as a penetration tester, the ability to find solutions to problems you haven’t yet encountered.

對於任何在IT領域工作的人,這都是一項重要的能力。也是很多公司錄取的條件之一。

對於 Jesse 的坦率以及不賣弄的風格,我給予極高的評價。

課程分析

單一影片的獨立性

除了安裝軟體或者介紹免費的培訓平台的影片外,我認為滲透測試的影片都可以獨立觀看,並沒有一定順序之分,因為每個影片的虛擬機是不同的。使用的工具雖大同小異,但過程不盡然相同。

不同其他課程,很多課程都是得循序漸進,才能累積知識。

這門課包含10個實戰影片,同等有10個虛擬機等待學員去取得最終權限。

影片陳述的內容都跟實作分不開。當遇到問題時,過程會引導學員的思維脈絡,提供適當的工具用來解決問題。

課程時數的迷思 vs 品質

由於課程節奏非常快,而且沒什麼雜話間斷,整門課的時間縮短至 3.5 個小時。對於看到時數短的課程,很多人心裡便會想是否值得。畢竟,想要CP值高,時數自然要越高越好❓

雖然整門課只有短短的幾小時,但卻花了我5倍以上的時間,平均一天大約2~3 hrs,大約兩個星期左右完成這門課,卻不見得完全懂了所有的工具以及內容。

Why❓

  1. 前幾堂課的安裝軟體以及虛擬機的下載時間挺耗時,雖然這不是主要學習範圍(安裝虛擬機以及設定當然也可算解決問題的過程)。
  2. 為了成功駭入一台虛擬機的權限,過程得花一點時間。即使一個影片只有大約30分鐘,也可能得花上幾個小時。畢竟影片完全省略 program 再跑的過程,只呈現結果的部分(這並不是缺點,program 跑得速度得根據學員的電腦硬體狀況)。
  3. 有時過程會有出錯或者需要除錯(debug)的地方,一個小環節出錯得花更多時間處理。有時得從頭再來過。這並不是講師的問題,有時是Kali Linux的版本問題。當然也包含我尚未熟悉一些介面指令。
  4. 有時完成一部影片,但還是有很多不懂或者想重複練習的地方。我會再看一次影片,從頭做一次練習。

重複的練習,加深指令的使用方式,不需去死記硬背。
記不住的就靠記事本。

對於高品質的課程,我想不需要用長時間來襯托。這門時數少的課程給予的知識量,得花上好幾個月的研究以及重複的練習,前提是學員得自發去研究。

基礎條件

這裡建議一些想學這門課的學員幾點事項。建議先具備:

  • 中等程度的英文聽力以及閱讀能力
  • 基礎 Linux 指令及介面操作
  • 基礎 TCP/IP 概念 (不是必要)
  • 講師的基本要求 (請參閱 Soft&Share 網站)

目前沒有中文的翻譯,所以不是很有利以中文為主的學員。所以有中等英聽程度其實幫助很大,因為這門課的英文字幕還有 Transcript 並不精確,甚至有亂拼湊的字。但英聽可以補足字幕的缺陷。

其實我認為有一點 TCP/IP 的知識是好的,可以增進理解,但不一定強迫要有。就算不會英文,沒有任何相關知識,但只要跟著操作也是可以完成課程,問題是可以吸收理解多少❓

總結心得

這門課最好玩的一件事

課中有一部影片介紹免費滲透測試網站 Hack The Box 。使用者要註冊必須先駭入這網站取得註冊代碼。這過程實在很令人興奮也很有挑戰性。

講師會建議學員先自行操作,但後續影片有帶學員取得註冊碼。玩了兩次後我發現網站會隨機使用不同的編碼器。但 Jesse 的影片只提供一種解碼器解法。但稍微 Google 一下問題就解決了,也多學了一點知識。

滲透 Hack The Box 網站的技巧其實用的都是前幾部影片的手法,非常好玩的一個過程,有興趣的可以嘗試看看。

對照其他課程

先談談這門課對 Virtual box, Kali Linux & 其他虛擬機的環境設定。個人認為跟Learn Ethical Hacking From Scratch by Zaid & z Security 這門課對比。Jesse 給了非常良好的環境設定,不論在 一開始的設置解釋或者是後續的 debug 都讓人很容易上手。

我很感激這一點,因為我在 Zaid 開的這門課一起頭就因為設定問題卡關,而且卡了超久(超久…超久…久到想罵髒話),自己砸了大量時間解決問題,非常挫敗,雖然後來問題解決了,後續也因為很多阻力半放棄這堂課 (但不能說沒學到東西…debug)。

在環境上設定有時牽涉到系統的指令是否可順利執行,對於沒有經驗的新手會是很大的阻礙,有些講師可能沒有顧及到這問題。但 Jesse 這門課比較沒那多 drama。

我唯二解不開的就是第一台跟最後一台虛擬機(…頭尾呼應)。其實第一台虛擬機已經取得權限,但是後續的系統問題,影片上也有提到解決方案,我嘗試了多次也沒解決,所幸跳過。最後一台因為我不熟悉防火牆的設定,失敗了數次,也暫時跳過(好像沒得跳了)。

“Have patience. All things are difficult before they become easy.” — Saadi

進一步跟網站駭客與滲透測試( 真實世界駭客!) by Eslam這門課對比。Eslam 講師講的比較細緻,他的這門課算是入門課程,其課程內容都有散佈在 Jesse 的影片裡,但 Jesse 沒很仔細的解釋,畢竟 Jesse 這門課是以中階實戰為主。

如果要說這兩門課都是真實世界實戰的話,我得承認所有的技術跟工具都是。但是 Eslam 講師的課程缺乏更多的範例演練且侷限在 local。相比 Jesse 課程的多元虛擬機,更讓人有挑戰性。

Eslam 講師在他的課程介紹講到課程包含作為一名滲透測試員/道德駭客並以自由職業者身份線上賺錢。但在課程內我並沒有看到相關資訊。或許我有疏忽,有誤地方請指正。

課程介紹與內文有些不同,讓我有點小失望。這並不表示 Eslam 講師的這門課不好,它只是不合我的胃口。我最後是退掉了 Eslam 講師的這堂課。但想把基礎練好或者有興趣的學員可以藉由上方課程的連結參考看看。

給自己的建議與反思

如果有機會,我會選擇把 Linux 的指令在更熟悉一點。並且把 TCP/IP 的課程跑過一次。Python 的網路應用或許也有助於這門課的理解,但對於 Python 網路中高階的課,我會選擇先把基礎打好。

對於需要研究的資料得用筆記本記錄。

英打的速度在接受範圍,但是精確度有待加強。

下一步是補足這些知識上的不足,然後再回頭複習這門課,對於實戰理解會有更近一步的幫助。

最後,學習愉快 😄。

--

--

No responses yet