# 考試資訊 ## 怎麼考? 考試分為兩個階段,第一是攻擊機器,第二是撰寫報告 攻擊機器會給你23小時45分鐘去做攻擊 第一階段結束後,你必須在結束後的 24 小時內提交一份攻擊報告(如果第一階段你有按提前結束,就是從提前結束的時間往後推24小時) ## 打機器到底在打什麼? 機器分為兩大種類,一種是獨立題組,一種是 AD 題組 - 獨立題組(Linux, Windows 機器都可能出現) 首先獨立題組的部分,會有三台機器(IP) 顧名思義,他們三台完全是獨立的,不會有任何關聯 你不會從某台機器取的另一台機器的任何有用資訊 可以把它當成三個不同客戶,攻擊時完全分開執行 不會有從 A 機器打到 B 機器的狀態 而我們考試的任務就是,對這三台機器做攻擊 每一台機器攻擊分為兩個階段(完成一個階段會給你10分) 第一是入侵,你要找到這台機器的突破口,取的這台機器的 shell 能夠在這台機下任意指令(一定要是反向shell、或用 ssh, winRM, RDP 這種遠端登入的方式進入這台電腦,第一階段才算通過,如果只是 webshell 的話就不算成功,例如網站某個地方有 cmdi 的弱點,但你只能做到在網頁上下指令,這樣就不算通過) 第一階段通過後,你在這台電腦,是可以下達任意指令或操作的 但,這時候你下的的指令都會是低權限用戶去跑的(例如:一般使用者) 這時你要做的事就是提權,你的目標是能夠使用管理員的權限執行任意指令 拿到管理員權限後,第二階段就算通過 - AD 題組(只會有 Windows 機器) 這個部分和獨立題組一樣的是,他們也是三台機器,你一樣需要入侵然後提權 但獨立題組不一樣的地方是,這三台機器彼此之間,是有關聯的 他們是一個公司網路內的三台機器,並且這三台機器,裡面有一台是整個公司內部全權限最高的電腦,我們的目標就是取得這台電腦的最高權限 那因為這三台機器,是公司內部網路的機器,所以正常狀況下,我們從外面的網路是連不到的,我們需要先入侵一台,同時連線了公司內部網路,並且,他也同時連線到外部網路的電腦 入侵這台我們可以碰到的電腦之後,再利用這台電腦,去連線到這家公司內網中我們本來碰不到的其他電腦 這時我們入侵了這家公司的內網,接下來的目標就是,入侵這家公司最高權限的一台電腦,但在這過程,通常不會那麼順利,通常我們會從這台電腦,再去入侵其他電腦,最後利用其它電腦外洩的資訊或是錯誤的權限設定,最後才能入侵最高權限的那台電腦 OSCP考試就在考這個流程,從一台企業內部有對外開放的主機入侵成功後,再透過這台電腦的網路跳到這個公司的內網,入侵其他主機,最後入侵公司內最高權限的電腦 所以考試中的三台主機其實代表了 - 企業網路的入侵點(他同時連線了企業內網和外網,所以我們有機會入侵) - 企業內網的其中一個倒楣鬼(這台電腦內有些漏洞是可以被用來入侵整個企業內部網路最高權限電腦的)(他只連線內部網路,外網連不到) - 企業內最高權限的電腦(他只連線內部網路,外網連不到) 並且在 AD 題組中,因為要考你的主要是入侵到最高權限的電腦 所以目前的考試,會假設你已經成功入侵第一台電腦 所以會直接給你第一台電腦的帳號密碼 讓你從這個狀況開始進攻內網高權限的電腦 那為什麼叫 AD 題組呢? - AI 解釋 ### 💡 補充介紹:用「王國」來看懂 AD 與 DC 在上述的流程中,為什麼這三台電腦會有「關聯」?為什麼拿到一台就能打下一台?這必須提到微軟企業網路的兩個核心概念:**AD** 與 **DC**。 我們可以把這家公司的內網想像成一個「王國」: ### 1. AD (Active Directory):王國的「階級制度」與「通行證」 - **【白話說明】**: 在獨立的電腦(沒有 AD)裡,你在家裡撿到的鑰匙,通常只能開自己家的房間。 但在 **AD** 的環境裡,因為大家統一歸國王管,你在某個村民家裡(電腦 A)撿到的鑰匙,很有可能是「皇家通行證」,可以拿去開別人的門。 甚至有時候,只是因為法律沒寫好(權限設定錯誤),讓平民也可以合法地命令軍隊,這就是 AD 才會發生的狀況。 - **【專業層面】**: AD 是「集中化管理(Centralized Management)」**的架構,建立了電腦與使用者間的**「信任關係(Trust)」。 駭客針對 AD 的攻擊,主要就是利用這種架構下的兩大弱點: 1. **高通用性的機敏資訊**:因為帳號可跨機器使用,我們在 A 電腦找到的憑證(Credential),常可用來橫向移動(Lateral Movement)到 B 電腦。 2. **權限設定的邏輯漏洞(Misconfigurations)**:這是 AD 獨有的攻擊面。有時不需偷密碼,單純是因為管理員把權限(如 ACL)設錯了,讓我們可以利用這個「合法的規則漏洞」直接控制其他物件或提升權限。 ### 2. DC (Domain Controller):王國的「皇宮」 - **【白話說明】**: 這就是文中提到的「最高權限電腦」。 DC 裡面存放了王國裡所有人的身分證、印章和國王的玉璽。誰控制了 DC,誰就能隨意修改法律、指派任何人當大臣,甚至要把整個王國刪掉都可以。 - **【專業層面】**: DC 是負責執行 **身分驗證(Authentication)** 與 **授權(Authorization)** 的核心伺服器。 在 OSCP 考試中,拿下 DC 意味著你取得了 Domain Admin(網域管理員)的權限,這代表你已經完全接管了整個企業的數位資產,是滲透測試的最終目標。 **總結一句話:** OSCP 的 AD 題組,就是考你如何利用「撿到的通用通行證」或是「權限設定的漏洞」,從邊疆的小兵一路打進皇宮(DC),最後奪取政權的過程。 ### 🚀 所以,考試中的這三台機器分別是誰? 對照回 AD 的架構,您在考試中遇到的三台電腦,身份分別是: 1. **企業網路的入侵點** ⮕ **剛好對外開放的網域成員** - 它在架構上其實就只是一台**普通的成員電腦**,身分跟其他人一樣。 - 唯一的差別只在於它**剛好**有對外開放連線(例如它剛好是一台 Web Server),所以成為了我們進入內網的唯一破口(Foothold)。 2. **企業內網的其中一個倒楣鬼** ⮕ **另一台網域成員主機** - 它是深處內網的普通成員,我們是透過跳板才摸到它的。 - **重點**:這台電腦通常是關鍵,因為它身上藏有**通往皇宮的線索**(例如:管理員剛好登入過留下了憑證,或是它被設定了錯誤的權限可以去修改皇宮的設定)。 3. **企業內最高權限的電腦** ⮕ **網域控制站 (Domain Controller, DC)** - 它就是「皇宮」。 - 我們的終極目標就是拿下這台電腦的控制權(Domain Admin),這代表我們攻陷了整個 AD 王國。 ## 分數計算怎麼算? 目前 OSCP 考試採用最新的 **OSCP+** 規則,總分為 **100 分**,及格分數為 **70 分**。 這 100 分被分配在兩個完全不同的題組中:**「獨立題組」**與**「AD 題組」**。 | **題組類別** | **機器數量** | **總分** | **計分方式(關鍵差異)** | | :---: | :---: | :---: | :--- | | **獨立題組** | 3 台 | **60 分** | **採用「分段給分」機制**<br>每台機器 20 分,分為兩個階段:<br>1. **入侵成功** (拿到 User Flag) ⮕ **先拿 10 分**<br>2. **提權成功** (拿到 Root Flag) ⮕ **再拿 10 分**<br>*(如果你只會入侵不會提權,這台可以拿一半的分數)* | | **AD 題組** | 3 台 | **40 分** | **目標是取得完整控制權**<br>● **機器 A (10分)**:必須**提權**成管理員才給分。<br>● **機器 B (10分)**:必須入侵+**提權**成管理員才給分。<br>● **DC (20分)**:必須入侵+**提權**成管理員才給分。 | ### 什麼是 Flag? 知道怎麼算分後,下一個問題是:「我駭進去了,要怎麼向考官證明?」 你需要提交證據,這個證據在資安圈被稱為 **Flag**。 ### 1. Flag 長怎樣?什麼是「雜湊字串」? Flag 不是一句有意義的話,它通常是一個 **`.txt` 純文字檔**。打開檔案後,你會看到一串像這樣的亂碼: > 2b229c0b0377809d3948a138045c47f2 > 這串亂碼叫做 **「雜湊 (Hash)」**。它是考試當下隨機生成的,全世界只有那台電腦裡有。你不可能用猜的,唯有你**親眼看到檔案內容**才能知道答案,這就是你成功駭入的鐵證。 ### 2. Flag 藏在哪裡? 我們可以把 Windows 電腦想像成一間**公司辦公室**,每個員工都有自己的**辦公桌(使用者資料夾)**。 作業系統有一個很重要的規定:**「你只能看自己桌上的東西,不能翻別人的桌子。」** **A. User Flag (`local.txt`):一般員工的抽屜** - **出現題組**:**獨立題組**。 - **檔案路徑**: `C:\Users\username\Desktop\local.txt`*(例如:`C:\Users\bob\Desktop\local.txt`)* - **權限觀念**: 當你成功駭入電腦,獲得了一個普通帳號(例如 Bob)的權限後,你就像是拿到了 Bob 的識別證。 這時候,系統會允許你打開 `C:\Users\bob` 這個資料夾(Bob 的辦公桌),所以你能順利讀取放在桌面的 `local.txt`,證明你已經入侵成功。 **B. Root Flag (`proof.txt`):董事長的保險箱** - **出現題組**:**獨立題組** 與 **AD 題組**(AD題組只會有 proof.txt)。 - **檔案路徑**: `C:\Users\Administrator\Desktop\proof.txt` - **權限觀念**: 這就是提權的關鍵! 雖然你已經是 Bob 了,但如果你試圖去開董事長(Administrator)的資料夾 `C:\Users\Administrator`,系統會立刻擋住你:**「拒絕存取 (Access Denied)」**。 因為在 Windows 的規則裡,普通員工是絕對不能看老闆桌上的東西的。 唯有當你利用漏洞,把自己從「Bob」變成了「Administrator」,你才有權限走進董事長的房間,打開 `proof.txt`。所以拿到這個檔案,就證明你已經**完全控制**了這台電腦。 --- # 實戰練習-靶機 ## 什麼是靶機? 還記得前面提到的考試形式嗎? - **獨立題組**:給你一台有漏洞的電腦,你要想辦法攻進去。 - **AD 題組**:給你一個有漏洞的企業網路,你要想辦法拿下整個網域。 為了應對這種挑戰,我們需要練習對象,而在駭客圈,這些練習用的電腦就被稱為「靶機 (Target Machine / Box)」。 **「靶機」其實就是一台「刻意設計有安全漏洞」的電腦。** 它模擬的不是考題,而是**真實世界中那些設定錯誤或沒更新的伺服器**。這台電腦可能是一個架設了老舊的網站伺服器,或者是一台密碼設定很簡單的資料庫主機。 出題者(或靶機作者)會在這台看似正常的電腦裡,故意留下一些「後門」或「弱點」,讓攻擊者練習如何發現並利用這些漏洞。 ## 靶機與 Flag 的關係 雖然靶機是模擬真實電腦,但為了讓你確認自己「真的打進去了」,裡面通常也會藏有我們前面介紹過的證物(Flag),作為你成功的證明: 1. **User Flag (local.txt)**:通常放在一般使用者的桌面,證明你已經**入侵成功**(取得立足點)。 2. **Root Flag (proof.txt)**:通常放在管理員的桌面,證明你已經**提權成功**(拿下最高權限)。 所以,練習打靶機,其實就是在練習「真實駭客入侵的過程」。 ## 打靶機到底在做什麼? 「我打開靶機了,然後呢 ?」 ![image](https://hackmd.io/_uploads/HyK6uW7bZl.png) 靶機其實是在**模擬真實世界駭客入侵一台電腦的流程** 用最簡化的步驟來說,要入侵一台電腦,駭客會有兩個目標 ![image 1](https://hackmd.io/_uploads/r13puZ7Wbx.png) 首先是,我們目前對這台電腦完全沒有控制權 所以我們必須先找到他的入口,他開了什麼服務 來想辦法入侵這台電腦(可以用這台電腦執行任意指令) 但這時候我們通常會是低權限的帳戶 有很多事情不能做 所以第二個目標就是,我們需要拿到這台電腦更高的權限 具體流程大概會如下 ### 步驟一:入侵 當駭客拿到一台電腦 IP 時,對它一無所知,這時候你必須像偵探一樣,完成從「觀察」到「闖入」的一連串動作: 1. **理解這台電腦:** - **掃描連接埠 nmap:** 先看看這台電腦開了哪些「門」?是有網站 (Port 80/443)?還是有遠端登入功能 (Port 22 SSH / 3389 RDP)? - **確認身分:** 如果有網站,是用什麼架設的?是 WordPress?還是老舊的 Apache 伺服器? - **尋找弱點:** 拿著你查到的軟體版本,上網 Google 有沒有已知的漏洞(Exploit)。 2. **擠進去 (取得立足點):** - 當你發現:「嘿!這台電腦的網頁程式碼有一個漏洞,我可以上傳 .php .aspx 這種可執行程式碼的檔案!」這就是你的機會。 - 你會利用這個漏洞,把你的惡意程式(Shell)上傳進去並執行。 - 一旦拿到反向 shell 這時你就成功駭進去了! - *注意:這時候你通常只是一個權限很低的使用者(例如網站管理員 `www-data` 或一般使用者)。* > 🎯 對應 OSCP 考試/靶機得分: 這時候你會趕快去該使用者的桌面找 User Flag (local.txt)。 只要拿到這個檔案,就證明你成功入侵,獨立題組的第一個 10 分 也就到手了。 > ### 步驟二:權限提升 你現在進去了,但你只是低權限的一般使用者,很多事情都不能做。 這時候你要開始在電腦內部翻箱倒櫃: - 有沒有管理員的密碼被用筆記本寫在桌面上? - 有沒有權限設定錯誤的自動排程任務? - 作業系統或安裝的軟體有沒有漏洞? 只要找到一個,你就有機會能把自己從小兵變成管理員 (Administrator / Root)。 > 對應 OSCP 考試/靶機得分: 變成管理員後,你就能去讀取 Root Flag (proof.txt)。拿到它,這台機器的剩下 10 分也到手了。 > ## 練習管道與推薦清單 認識靶機後,最後一步就是「去哪裡找靶機來練?」 可以直接參考這份公認的「聖經」,依照清單去對應的平台練習 ### TJnull 的 OSCP 推薦清單 這是一份由資安大神 **TJnull** 整理的 **Excel 表格** https://docs.google.com/spreadsheets/u/1/d/1dwSMIAPIam0PuRBkCiDI88pU3yzrqqHkDtBngUHNCw8/htmlview 精選了各大平台上「風格最像 OSCP 考試」、「最適合用來練習」的機器 幫你過濾掉了那些太刁鑽、不切實際的題目。 ### 靶機平台介紹 TJnull 清單上的機器分散在不同的平台 這些平台主要分為兩大類 **「雲端靶場」與「本地自架靶場」** **【第一類:雲端靶場】** 這類平台最方便,你不需要下載龐大的檔案,只需要連線後就可以開始攻擊。 - **OffSec Proving Grounds (PG)** - **Hack The Box (HTB)** **【第二類:本地自架靶機】** 這類平台完全免費,你需要把靶機的映像檔 (Image) **下載下來** 用自己的電腦透過虛擬機軟體(VirtualBox 或 VMware)架設起來打 - [**VulnHub**](https://www.vulnhub.com/) --- # 考試其他筆記 - 電視螢幕不能當作考試螢幕。 - 如遇到分享畫面後超級卡,換一個瀏覽器試試看,我考試的時候 Chrome 會卡到只剩下 2-5 FPS,幾乎無法使用的程度,換了 Firfox 才正常。 - 考試時,可以使用 google 翻譯,並且考管只會會文字和你說話,不會用語音,所以不用擔心考官講話你聽不懂,考官打的字都會在瀏覽器的一個專用監考網頁上,可以直接複製到 google 翻譯沒問題 - 考試時只有第一階段會有考官監考,在打機器的時候會有,寫報告的時候不會有考官監考 - 在考試過程中,如果要上廁所、喝水直接在監考頁面說你要做啥,然後直接離開電腦前就好,休息也不用特別理由,你可以直接說你要休息,然後離開電腦,回到電腦前再和考官說你回來了 - 通常年底 11, 12月左右會有特價,或是可以找團報的方案,都會比較便宜 ---