iT邦幫忙

2026 iThome 鐵人賽

DAY 15
0

【故事】

O1 是先聽到,才看到的。

在無聲試煉窟的最深處,有一區的編號跟別的不一樣——別的石室門口是單一個編號,那一區是三個編號綁在一起,用一條線圈起來,像是在說:這三間,是一組的。

O1 走過去的時候,史帝凡剛好從那一區出來。

「你要進那個?」史帝凡問。

「還沒。想先看看。」

史帝凡笑了一下,那個笑裡沒有嘲諷,比較像是「你自己去看就知道了」的那種。

「看看好。」他說,「進去之前最好先看清楚。那裡面跟外面不一樣。」


O1 走進那條被圈起來的通道。

奇怪的是,他第一眼的感覺不是陌生,是熟悉。

三間石室的門,砌法他認得。那是他 Day 10 打過的那種城——同一種石材、同一種鉸鍊、同一套規制。他心裡鬆了一下:這個他會,這是那種靠「服務與身分」運作的城。

然後他往裡面看,那口氣又提了起來。

同樣是那種城,可是裡面的東西多了好幾層。

外面單獨的石室,守衛就是守衛,管事就是管事,最多分個「一般人」和「管事的」。這三間裡面不是。光是掛牌就密密麻麻。

有本地的職稱,有跨三間共通的職稱。有的牌子管的是「這一間裡面的事」,有的牌子管的是「三間之間的事」,還有一種牌子他看了半天看不懂——它不對應任何一個具體的人,像是一種憑證,誰拿著它,誰就暫時變成別人。

熟悉的是外殼。陌生的是裡面那一層又一層的關係。

他站在第三間門口。那一間的門比前兩間都高,門楣上刻的不是職稱,是一個家族的名字。

而三間石室之間,有細細的刻痕連著。第一間連到第二間,第二間連到第三間。

那些刻痕不是裝飾。是某種關係。


他退出來,坐在通道口,把冊子攤開。

他先把規則抄下來——試煉窟入口的石碑上,寫著這一組石室的計分方式。

他抄到一半停住了,又讀了一次,確認自己沒有看錯,然後把三間石室的分數,一間一間加起來。


外面那些單獨的石室,一間值二十分。

他這幾個月打的都是那種。狀況好的時候,一個晚上能拿下一間;狀況普通,兩三個晚上一間。

三間單獨的石室,六十分。

而這一組綁在一起的三間——要四十分。

六十加四十,一百。及格七十。

他盯著那兩個數字看了很久,然後算出了一件讓他背脊發涼的事:

就算他把外面那些單獨的石室全部打下來——六十分——他還是不及格。

他非進這座王城不可。沒有別條路。


O1 坐在通道口,把這件事在心裡翻來覆去。

這幾個月他一直以為,考試就是「多打幾間、打得快一點」。他以為那是一個量的問題——他慢,所以要練到夠快。

不是。

那三間綁在一起的石室告訴他:這不是量的問題。是有一種東西他必須會,而他現在完全不會。

那三間裡面考的,不是「這面牆有沒有破口」。考的是那些把三間連在一起的刻痕。

他看得到那些刻痕。但他不知道那是什麼。


那天晚上他去找史帝凡,可是史帝凡在忙自己的一間,沒空。

「這個我一時跟你講不清楚。」史帝凡擦著汗,「等我這間打完……不過你要是急,」他想了一下,「我介紹你認識一個人。」

那個人 O1 沒見過。是史帝凡的朋友,剛拿到銀印沒多久,那種剛從長夜裡活著出來、身上還帶著硝煙味的人。

三個人約在通道口。史帝凡忙他的,那個人陪 O1 坐下來。

「那三間,」O1 問,「裡面是什麼?」

那個人沒有直接回答,反問他:

「你剛剛在外面看的時候,有沒有覺得那三間,跟你打過的所有東西都不太一樣?」

「有。」

「哪裡不一樣?」

O1 想了一下。「外面的石室,我打的是牆。那三間……」他停頓,找那個字,「那三間,牆好像不是重點。重點是牆跟牆之間的那些線。」

那個人點點頭。

「對。」他說,「外面那些,你攻的是牆。那裡面,你攻的是信任。」


「信任?」

「那三間裡面住的人,彼此是有關係的。」他說,「誰替誰做事、誰能用誰的名義、誰認得誰的印——那些關係,就是那些線。」

「所以?」

「所以你不是一間一間去砸。」他說,「你是找到一條關係的鏈子,然後順著它走上去。從一個最不起眼的人開始,一路走到那個家族的主人。」

O1 沒有說話。

他想起自己這幾個月,每一間石室都是他一個人蹲在牆前面,一寸一寸勘出來的。他很擅長那個。那是他唯一擅長的事。

而現在這個人告訴他:裡面那三間,光靠盯著牆看,是走不進去的。


「這對你來說可能會比較難。」那個人說。

他說得很輕,不是看不起,是一種了解——他自己一個月前才從那裡面爬出來。

「因為看牆跟看關係,是兩種眼睛。」他說,「你很會看牆,我看得出來。可是那裡面考的不是牆,是人跟人之間的東西——誰信任誰,那個信任能不能被借用。你得換一種眼睛。」

O1 坐在那裡,很久沒有說話。

因為那個人講的東西,他不只在石室裡不會。

他在真的人生裡,也一直看不太懂。

誰信任誰,那個信任能不能被借用——他在公會七年,就是敗在這個上面。他一個人把牆看得很細,卻從來搞不懂那些把人連在一起的線。那些線他看得到,可是他讀不懂。

而現在,那些線變成了他非跨過去不可的四十分。


那個人走之前,O1 跟他道了謝。

「不用謝我。」那個人站起來,拍拍身上的灰,「一個月前有人這樣跟我講,我才過的。你以後也會遇到不會的人,到時候換你跟他講。」

他說完就走了。

O1 坐在通道口,看著那句話在腦子裡轉。

一個月前有人這樣跟他講。

那些把人連在一起的線——他一直以為那種東西只會拿來排擠人、只會把他的名字從名單上劃掉。

他從來沒想過,那種線也可以是這樣傳下來的:一個活著出來的人,回頭拉一把還在裡面的人。


那天他在冊子上開了新的一頁,標題只有兩個字:

王城。

底下他寫了一行:

「這裡不攻牆。這裡攻的是,誰信任誰。」

他寫完,看著那一行,忽然有一種很奇怪的感覺——

好像他這一路走來,繞了那麼遠,最後要考的,剛好就是他這輩子最不擅長的那一題。


【解咒筆記】王城(Active Directory):攻的不是牆,是信任

改版後的 OSCP,AD 是繞不過去的。這一篇談為什麼 AD 需要換一顆腦袋——指令從 Day 16 開始。

一、先看那個計分

先說明:本文的故事是以舊制為基礎,因為我是在改制前考的。 「AD 是必答題」這件,在改版後仍是。

OSCP+ 計分:

  • 三台獨立機,各 20 分 = 60 分
  • AD 題組 = 40 分
  • 及格 = 70 分

把它擺在一起看:

三台獨立機全部打下來,只有 60 分。不及格。
非碰 AD 不可。

這不是「AD 是加分題」。AD 是必答題。 很多人備考時把大部分時間花在單機提權上,把 AD 留到最後——這個順序,可能就是他們沒過的原因。

(新制 AD 改為給起始帳密、且開放部分給分,方向是變友善;但「三台單機不夠及格」這件事沒變。以考試當期的簡章為準。)

二、AD 到底是什麼:一個「靠信任運作」的組織

單機滲透,面對的是一台機器:它有哪些服務、哪些設定錯誤、哪個檔案被誤授權。

AD 不是一台機器。AD 是一個組織的神經系統。 它管的是「這個網域裡,誰是誰、誰能做什麼、誰信任誰」。

一間公司可能有幾百台電腦、幾千個帳號,不可能每台各自管各自的帳密——所以有了網域:帳號、權限、信任關係,集中由一個地方管理。

那個地方叫網域控制器(Domain Controller, DC)。它是這個組織的戶政事務所 + 印鑑證明中心 + 通行證核發處。拿下 DC,你就拿下整個網域。

故事裡那三間石室、那個家族的名字、那些連著的刻痕——就是這個。

三、熟悉又陌生:AD 最難受的地方

如果是從單機打上來的,第一次碰 AD 會有一種很特別的感覺:熟悉又陌生。

熟悉的是——它還是 Windows。單機提權那套(服務、排程、權杖、unquoted path)在 AD 的每一台成員機上一樣管用。你不是從零開始。

陌生的是那個「小異」,而那個小異大到會讓你重新緊張:

  • 帳號和群組多了好幾層。 不再是「一般使用者 vs 管理員」這麼單純。有本地群組、有網域群組;有的群組管一台機器,有的群組管整個網域;權限還照用途細分(Day 16 會列)
  • 多了「憑證可以讓你變成別人」這一整類東西——各種票證、雜湊、快取的憑證。第一次看到「金票」「銀票」這種詞的時候,我是真的不知道從哪裡下手
  • 多了「機器之間的關係」這個維度,而這個維度在單機世界完全不存在

說實話,到現在遇到 AD,還是會緊張。 那個「熟悉的殼、陌生的裡」的落差,不會完全消失,只會越來越知道怎麼在裡面找路。

(對照 Day 10:那一篇是完全陌生,一種沒見過的秩序。這一篇是熟悉裡藏著陌生,同一種系統,但多了一整個不熟的維度。兩種陌生,要用兩種方式對付。)

四、AD 攻擊的靈魂:信任可以被借用

一個組織要運作,內部必須有大量的信任:

  • 登入過的機器,會暫存你的憑證(方便你不用一直重打密碼)
  • 某些服務被授權可以代表你去存取別的資源
  • 管理員的帳號,同時在很多台機器上有權限

這些設計全部都合理,都是為了讓組織順暢運作。

但每一個「信任」,都是攻擊者可以借用的東西:

  • 那台機器暫存了管理員的憑證?我拿下這台,就拿到那個憑證。
  • 那個服務可以代表使用者?我濫用那個代理權,就能變成使用者。
  • 管理員在很多台機器上有權限?我攻下其中最弱的一台,就摸到了管理員。

AD 攻擊的本質,就是把這些「為了方便而存在的信任」,一個一個借過來用。

五、AD 的醍醐味:每一台都藏著下一台的線索

這是 AD 最迷人、也最折磨人的地方。

單機打完就是打完了——拿到 root,結束。

AD 不是。從進入點那台主機開始,直到拿下 DC 為止,每一台主機裡都藏著往下走的線索。

一組憑證、一個快取的雜湊、一份設定檔、一段連線紀錄,它們不是那台機器的終點,是下一台機器的起點。在 A 機器上撿到的東西,是用來打 B 機器的鑰匙。

而且,線索的出現順序,跟你用得到它的順序,常常不一樣。

像是 Day 14 提過的那個魔王級 Lab。最後卡在第四層,卡了很久。後來才發現,打進第四層需要的 proxy 主機位址和帳密,線索其實在前面幾台就已經出現過了,只是當時用不上,就沒有特別留意。

等意識到的時候,時間已經不夠我回頭去解了。

這件事讓我知道:

  1. 在 AD 裡,撿到的每一樣東西都要留著、都要記。 因為不知道它是哪一台機器的鑰匙。
  2. 「現在用不上」不等於「沒用」。 單機世界可以丟掉無關的東西;AD 世界不行,那個「無關」的憑證,可能是三台之後的入口。

六、攻擊 AD 的標準流程(地圖)

細節分散在後面幾篇,先給地圖:

  1. 拿到第一個立足點(一個網域帳號,或一台加入網域的機器)
  2. 列舉整個網域:有哪些人、機器、群組、誰是管理員——Day 16
  3. 畫出信任關係圖:從現在的位置,能不能走到管理員——Day 16(BloodHound)
  4. 沿著那條路橫向移動:借憑證、偽票證、濫用代理權——Day 17
  5. 拿下網域控制器——王座

尤其是第 3 步。 單機滲透沒有這一步。在 AD 裡,看懂關係圖,比會用任何單一工具都重要。

七、給主攻 Web/單機的人

盯著一個目標、把它每個細節看穿,在 AD 裡不夠用。AD 要的不是「把一台機器看穿」,是「在一堆機器和帳號的關係裡,找到那條沒有人守住的路」。

那是一種不同的注意力。單機是深度,AD 是連結。

第一次認真打 AD,光是「順利提權」這件事就卡了快一個禮拜。但它值得,因為:

真實世界的入侵,絕大多數不是靠一個驚天動地的漏洞,是靠一連串「本來就該這樣、只是沒人想到能串起來」的信任。

在單機上學的東西沒有白費,它們是你進入 AD 的門票。但進去之後,要學一種新的看法。

換一種眼睛。


【工會箴言】

外面那些,你攻的是牆。
這裡面,你攻的是信任。



上一篇
Day 14|借道
下一篇
Day 16|血獵犬
系列文
《再叩一次》—一個中年轉職叩門者的 OSCP 三十夜 共 16 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言