iT邦幫忙

2026 iThome 鐵人賽

DAY 4
0

【故事】

木箱是下午送到的,比 O1 預期的小很多。

他本來以為會有器械。叩門者的行囊在城裡是有點名氣的東西——那種帆布捲,攤開來一排口袋,每個口袋插一件工具,走在路上會叮叮噹噹地響。

箱子裡沒有那個。

裡面有三樣東西:一本很厚的書、一張摺起來的圖紙、一支細長的筆。

那本書是《破封導典》,厚到他單手拿不穩。圖紙攤開來是一間房間的構造圖,標題寫著「摹室」——一種可以整間複製、也可以整間回捲的房間。你在裡面把東西砸爛了,只要事先存過一份「影」,就能讓房間回到砸爛之前的那一刻。

那支筆叫記言筆。學派的規矩是叩門者進試煉場時必須帶著它,它會自動抄錄你做過的每一個動作。他把筆轉了兩圈,看不出機關在哪裡。

圖紙最下面有一行很小的字:

「摹室須自建。學派不代勞。」


他讀完圖紙花了一個晚上。他發現蓋一間摹室其實不難,難的是——

他住的地方沒有位置放它。

那間屋子的格局他閉著眼睛都畫得出來:進門一條窄走道,左手廚房,右邊房間,中間一張長桌。那張長桌是屋裡唯一的平面。

桌上有什麼呢。

有一疊三個月沒整理的帳單。

有兩疊書。

第一疊是術式書。這些年他自己去書坊買的,沒有人指定,也沒有人知道——講牆的結構、講各城邦的門鎖規制、講一些他當時還用不上的東西。有幾本已經被翻爛了。
其中三本翻得最舊。
一本講器械——各種現成的傢伙怎麼用、什麼場合用哪一件。
一本講牆與門——城邦最常見的那種牆,哪裡容易鬆,哪裡是照規制開的。
第三本講的是怎麼自己造一件小工具。
前兩本告訴你別人打造了什麼。第三本告訴你,你也可以自己打。

第二疊是異言文的學習書。那是另一種文字,另一個大陸的,跟叩門這件事一點關係都沒有。他學了幾年,斷斷續續,理由他自己也說不太清楚——大概就是想要有一件事,是不為了交給誰的。

靠牆那一頭,堆的是七年來從公會帶回家的舊卷宗。他一直沒丟,因為總覺得哪天會有人問起。

他在桌邊站了很久。

然後他去找了一個空箱子。

他把那些舊卷宗一份一份收進去。有幾份他停下來看了兩眼,是他做得最好的那幾件;有一份的第三頁還夾著他自己畫的斷面圖,鉛筆線都糊了。他看完,放進去。

沒有人會問起了。 這件事他其實三個月前就知道。

箱子封好,膠帶壓兩遍,推到床底下。帳單挪到櫥櫃上層。

兩疊書他沒有動。

他把它們往桌角推了推,挪出中間的位置,然後用一塊布把空出來的桌面擦了一遍。

桌子空了,書還在。

——清掉的是別人給他的。留下的是他自己買的。

他站在那張桌子前面的時候,忽然意識到一件事:這是七年來,第一件完全屬於他的東西。

沒有人排它的順序,沒有人決定誰能用它,也沒有人能在上面把他的名字劃掉。

一張破桌子。但是誰都動不了。


接下來是時間。

他先試了早起。第一天成功,第二天成功,第三天他在桌前睡著了,醒來的時候額頭黏在導典上,第七頁到第十一頁的字印了一點在皮膚上。第四天他沒有起來。

然後他把它挪到了晚上。

一個人住有一個好處:沒有人等他吃飯,也沒有人問他幾點睡。他回去,開燈,把桌上的東西挪開,坐下。

他給自己定的規矩很低——至少一小時。

不是兩小時,不是三小時。一小時。低到任何一天都推不掉,低到他找不到理由跳過。有些晚上他真的只坐了一小時就去睡了,而那天也算數。

後來這條線自己往後延了。等他開始打試煉場的機器,一坐下就很難停——因為一台機器不會在你想停的時候剛好結束。那段時間他大多打到午夜,偶爾更晚。

但規矩始終是一小時。 那條低到不像話的線,是他一年多沒有斷掉的唯一原因。

他算過:一天一小時,一年三百多天,如果守得住八成——

他算出一個數字,然後不敢細想,把紙翻過去了。


摹室蓋起來那天,他做的第一件事不是去叩任何一道門。

他先存了一份影。

然後他故意把房間弄壞——他挑了最快的方法,改了一個不該改的地方,房間立刻就歪了。牆的角度不對,門框卡住,燈也不亮。

他站在那間壞掉的房間裡看了一分鐘,然後回捲。

房間回來了。

他又弄壞一次,又回捲。第三次的時候他已經很熟了,從弄壞到復原不到十秒鐘。

導典上沒有教這一段。這是他自己想的——他想的是:如果我一定會把東西弄壞,那我最該先學會的,不是不弄壞,是怎麼回來。


那天晚上,他在桌上那本導典的第一頁空白處寫了一行字。

不是箴言,不是誓言,就是一句很普通的話:

「桌子是我的。」

他寫完,闔上書,去睡了。

第二天他打開第一頁,看見那句話還在,然後才翻到第二頁。

這個動作他重複了一年多。


【解咒筆記】環境建置:你會弄壞它,所以先學怎麼回來

這一篇是全系列最實用的一篇。如果你只打算照做一件事,照做這篇。

一、第一原則:隔離

不要用公司的設備,也不要用你日常辦公的那台機器。 兩個理由:

  • 職業與法律面:工具、流量、憑證混在一台公司資產上,界線一旦爭議起來,你沒有任何立場
  • 技術面:練習環境一定會被弄髒——奇怪的套件、改壞的設定、殘留的憑證。你不會希望它跟正職工作共用同一個系統

最低成本的正確做法:一台自己的機器 + 一層虛擬化。

二、架構:不必豪華,要夠隔

你的主機(Host)
└── Hypervisor(VirtualBox / VMware Workstation Player / Proxmox)
    ├── Kali VM          ← 你的工作機
    └── 靶機網段          ← DVWA / Juice Shop / Metasploitable

規格現實一點:16GB RAM、四核心、200GB 可用空間,就能跑得動 Kali 加一兩台靶機。32GB 會舒服很多,但不是門檻。

家裡有多的機器的話,Proxmox 這類裸機 hypervisor 更好用,因為可以把靶機網段真正切開。但第一天不需要——先把 Kali 跑起來比較重要。

三、快照策略(本篇的核心)

故事裡的「存影」就是快照(snapshot),而它是新手最常忽略、最後最後悔的一件事。

至少留三層:

內容 什麼時候回捲
基準影 裝完 Kali、更新完、還沒裝任何東西 環境爛到不知道哪裡壞了
成形影 裝完常用工具、設定好 shell 與筆記工具 日常回歸點,九成情況用這層
臨戰影 每次開始打一台新靶機之前 打壞了、裝了奇怪套件、改了系統設定

然後是故事裡那一段,我認為是這篇最值得記住的一句:

如果你一定會把東西弄壞,那你最該先學的不是不弄壞,是怎麼回來。

建完環境的第一件事,是練還原。 存一份影,故意把系統改壞,然後還原,確認它真的回得來。做三次,做到你對「回捲」這個動作完全沒有心理成本。

這件事有一個很實際的效果:當你不怕弄壞環境,你才敢亂試。 而 OSCP 的整條路,靠的就是敢亂試。

四、目錄與命名:為三個月後的自己而做

這一段跟 Day 13、Day 28 是同一條線。雖然剛開始會有點覺得麻煩,但熟悉之後會發現很有用。之前就是跌過才發現到這樣做的好處。
不過,這邊只是舉例,每個人可以依照自己的習慣來設計,也可以一邊執行一邊修改,但一定要做。

~/labs/<靶機名或委託名>/
├── scans/          掃描原始輸出
├── enum/           列舉整理
├── exploits/       用到的 PoC 與修改版
├── loot/           取得的憑證、hash、檔案
├── screenshots/    截圖(檔名帶時間戳)
└── notes.md        主筆記

三個原則:

  1. 原始輸出永遠留檔。 nmap -oA 三種格式一次留,不要只看終端機
  2. 檔名帶時間戳20260915-2310-nmap-full.txt。三個月後你會需要知道順序
  3. 截圖當下就命名。 不要留 Screenshot_2026-09-15_at_23.10.42.png,你之後不會知道那是什麼

五、全程留存:記言筆的現實版

  • tmux 或 screen:連線斷了工作不會死。長時間掃描必備
  • script 或 asciinema:完整錄下終端機工作階段。script -a ~/labs/<target>/session.log
  • shell history 調大HISTSIZEHISTFILESIZE 拉大,加上時間戳(HISTTIMEFORMAT
  • 重要指令的輸出重導向存檔,不要只留在畫面上

為什麼這麼囉唆?因為報告需要可重現的步驟。長夜之後你要寫的不是心得,是一份別人照著做能重現同樣結果的文件。

這也是 Day 13 的伏筆:我第一次長夜失敗,真正的原因不在技術。

六、範圍紀律:這一行的洗手

這一節對想往這領域走的人,比對考試更重要。

  • 確認你連的是哪張網卡、路由往哪裡走。開工前 ip aip route 看一次
  • 靶機網段與家用網段隔開。你不會希望一台故意有漏洞的機器待在跟你的 NAS 同一個網段
  • 打之前先確認範圍

最後一項要展開講,因為它保護的不只是客戶,更是你自己

在真實委託裡,最麻煩的狀況往往不是你打壞了什麼,而是——你不小心多測了一點,而客戶認定你是故意去碰的。

這裡有一件這一行的殘酷事實:

你做了什麼不重要。別人認定你做了什麼才重要。

你解釋「那台機器的 IP 跟授權清單只差一碼」沒有用,你說「我只是掃到,沒有進去」也沒有用。一旦對方認定你越界,你就是越界。

所以確認範圍不是禮貌,是自保。而且要留下紀錄:你依據哪一份清單、在什麼時間、確認過哪些目標。

開工前確認 scope,就是這一行的洗手。 你不會每次都看見細菌,但你每次都要洗。

(考試也一樣:打到範圍外會直接取消資格。習慣現在養成,日後執行委託時它會保護你。)

七、工具:先少,不要多

新手最常犯的錯是第一週裝了四十個工具,然後每一個都只會按預設值跑。

前兩個月,這些就夠:

  • nmap(把它學到精,不要只會 -sV
  • ffuf 或 feroxbuster
  • Burp Suite Community
  • 一個筆記工具(Obsidian、CherryTree、或純 Markdown)
  • netcat、curl(越基礎越要熟)

其他的等你遇到需要再裝。工具的數量不會讓你變強,對一個工具的理解深度才會。

八、那段時間怎麼用

最後回到最難的部分:時間。

我的規矩只有一條:每天至少一小時。

不是兩小時,不是三小時——一小時。低到任何一天都推不掉,低到找不到理由跳過。這條線設得越低,越不會斷。

實際上後期會自己延長。開始打靶機之後很難準時停,因為一台機器不會在你想停的時候剛好結束,那段時間我大多打到午夜。但規矩始終是一小時,那條低到不像話的線,才是一年多沒斷掉的原因。

在那段時間裡,配置大致是:

時段 做什麼
開頭 回顧昨天的筆記,決定今天做哪一件事
主體 實作。只做一件事
最後 寫筆記、存檔、記下「明天從哪裡開始」

兩個關鍵:

  1. 最後那段不能砍。 累的時候最想砍的就是它,砍掉等於今天白做——因為你明天要花半小時想起自己做到哪裡
  2. 疲勞的時候不要開新靶機。 累到不行的那天就做整理:補筆記、歸檔截圖、整理指令。低品質的勘紋比不勘紋更危險,因為它會讓你以為那裡沒東西

還有一件事,說出來有點難堪但很重要:那段時間一定會失守。 出差、加班、單純太累。守八成就很好了。

重點不是不中斷,是中斷之後回得來。 跟快照一樣。


【工會箴言】

先把桌子清出來。
這是第一道門。



上一篇
Day 3|那座塔的價錢
下一篇
Day 5|破封導典
系列文
《再叩一次》—一個中年轉職叩門者的 OSCP 三十夜13
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言