前言

今年(2025 年)寒假我參加了 TeamT5 舉辦的 Security Camp 資安培訓營,整體來說收穫滿滿,也認識了很多志同道合的朋友,在講心得前先介紹一下這個營隊。

這個營隊是從 2021 年起由 TeamT5 主辦、專為學生打造的資安職場訓練營隊!營隊課程會以實務操作為主,帶領學員一步步解析、體驗資安研究員的日常任務。讓學員能快速學習,了解每個資安工作角色的具體工作內容,進而找到適合自己的位置!

而根據 TeamT5 的介紹五天的 Security Camp 資安培訓營會接觸到以下內容:

  • 追蹤威脅情資的攻擊脈絡:從樣本分析到追查惡意攻擊族群
  • 資安事件調查起手式:在受害環境中查找蛛絲馬跡
  • 與系統底層一日邂逅:從程式逆向到撰寫外掛
  • 漏洞挖掘的深入體驗:漏洞研究員的樸實無華與快樂

而在參加前會有一個小小的徵選,目的是為了找到對資訊安全有基礎能力之在學生,而徵選的前測題目在這一屆有三大類(僅需選擇一題繳交即可),包含:

  1. 木馬程式實作
  2. 惡意程式分析
  3. 韌體漏洞研究

而三個題目中我選擇了第三題韌體漏洞研究,因為我本身對韌體的興趣比較大,過去也有一些相關的經驗,且也想藉此從零開始對一個韌體、漏洞做研究,而這一題就是只給一個韌體檔與 CVE 編號,讓自己去研究如何拆解韌體、定位漏洞、分析漏洞、模擬服務、撰寫 PoC、最後撰寫出一份完整的研究報告,整體的過程就是一個簡化過的韌體漏洞研究流程,但題目也不是到非常難,印象中我只花了大約 1、2 天的時間就完成了實作部分,但是撰寫報告花了比較多時間(畢竟很懶得寫報告 XDD),最後也順利通過了徵選,並在 2025/01/07~2025/01/10 參加了營隊,並且在 2025/01/16 參加了最後的專題發表。

而另外兩個題目就如字面上所述,木馬程式實作就是要自己寫一個木馬程式,而完成的項目在題目說明也有一步一步說明清楚,最後也要繳交出自己的程式碼,具體內容可以參考 Zeze 在成大資安社的頻道的社課教學:錄影1錄影2錄影3,而這也是營隊課程中的一部分(後續會再提到一部份)。

而惡意程式分析則是給惡意程式,讓自己去分析這個惡意程式的行為、各種特徵、資訊,並且最後也要撰寫一份分析報告,但個人對於惡意程式分析相對比較沒有興趣,所以就沒有特別去研究這一題的內容,但營隊課程一樣有相關課程。

營隊內容

前面有提到營隊內容會以實務操作為主,帶領學員一步步解析、體驗資安研究員的日常任務,而這次的營隊課程分成 4 天進行,分別是:

  • Day 1:資安事件處理剖析(#Incident Response #Forensic)
  • Day 2:漏洞挖掘的深入體驗(#Vulnerability #IoT Security)
  • Day 3:與系統底層一日邂逅(#Anti-debugging #Reverse #Hooking)
  • Day 4:初探威脅情資的奧秘(#APT #Threat Intelligence)

而在隔一周後會有交流分享會&活動總結等,會需要各組進行專題發表,做為這次營隊的結業,而現在就簡短講一下這四天的課程內容,但基本上有些內容是不太能公開(我也忘記有哪些了,所以就都簡單帶過)。

順帶一提,營隊中的午餐、點心、飲料都是由 TeamT5 幫忙準備的,餐點部分也都還不錯吃,以下為了怕純文字太無聊,所以也會附上餐點的照片 XDD

Day 1:資安事件處理剖析

第一天的課程主要是講解資安事件調查、處理的流程與方式,並且透過實際案例分析,讓學員能夠更深入了解在資安事件發生時,應該如何進行調查與取證,並且學習到一些常用的工具與技巧,而有實作到的包含 Linux Server 事件調查、IIS Web Server 事件調查、Windows DC Server 事件調查等,而雖然到現在還是沒有到很熟悉這些流程,因為我覺得包含不少經驗的累積,像是要怎麼去找 root cause、怎麼去分析 log、怎麼去還原事件流程等,但至少有個基本的概念,知道要怎麼去做這些事情。

關於第一天午餐(樂福健康餐盒:去骨烤雞腿) image

Day 2:漏洞挖掘的深入體驗

這一天的課程特地分成上下午場說明:

上午場主要會先講解一些如何去學習漏洞研究的方式,包含要怎麼起步、進步、甚至是挖掘漏洞,接下來就介紹一下 IoT 會有什麼可能的弱點、漏洞、怎麼去進行 IoT 的漏洞研究,其中也包含一些怎麼取得 firmware(包含抓封包、直接進 shell 下載、UART、JTAG dump firmware 等等),以及怎麼去拆解 firmware(包含 binwalk、7z、dd 等等),怎麼模擬裝置、服務(透過 Systemd-nspawn、chroot、qemu-user、qemu-system、docker 等等,或是透過模組化的 FirmAE、Firmadyne 等),再來就是講解前測的韌體漏洞研究題目,並且和學員講解怎麼分析這個韌體,從拆解韌體、定位漏洞、分析漏洞、模擬服務、撰寫 PoC,也說了一些可能踩到的坑,但講師說題目不可以公開,所以就不多說了。

後續也教學了怎麼復現 TP-Link SR20 過去的漏洞,這邊也有手把手帶著大家一步一步去分析這個韌體,並且透過公開資訊去分析、定位漏洞,並且把 call stack 畫出來,最後模擬服務並且復現漏洞。

而上午場的最後講師也分享自己怎麼去 unbrick 一個被更新壞的 router,並且成功把裝置救回來,整個過程非常有趣。

下午場則是講述若是無法直接取得韌體、或是韌體無法順利被拆解(有加密之類的),那麼就需要透過分析的方式,像是分析前後版本是否有解密函式、或是網路上有無解密工具等,或是直接透過購買時體設備分析,而這邊會是以講師有裝置並且先把檔案從裝置上拉下分析為起始點,而這堂課的目標是解開某一塊被加密過的磁區,而整體過程中也包含直接 xxd 分析、magic number 分析、bootloader 分析等,最後經過大量分析後變成修改開源的解壓縮工具原始碼再重新編譯起來並且解開該磁區,這邊也讓我感覺印象深刻,因為過程中真的會需要大量的經驗累積,像是要怎麼去找 magic number、怎麼去分析 bootloader、怎麼去找解密函式等,這些都是需要經驗的累積才能夠更有效率的進行分析,雖然過去有做過簡單的韌體分析,但這次的課程讓我感覺到自己還有很多需要學習的地方。

關於第二天午餐(一日樂食:嫩煎里肌牛) image

Day 3:與系統底層一日邂逅

基本上是以前測作業實作為主軸,包含 loader、rootkit、Hack Chrome、Kernel 實作 keylogger、隱藏檔案等,而課程就帶著我們一步一步去實作這些東西,並且講解一些相關的概念,像是什麼是 rootkit、hook 的方式有哪些、如何繞過 hook、Windows kernel driver 的開發等等,後續也有去寫一些 rule 去嘗試偵測檔案,像是 YARA、Sigma 等等,整體來說這一天的課程內容也非常豐富,雖然有些東西還是沒有很熟悉,但至少對於 Windows api、kernel driver 有更進一步的了解,並且對於 kernel driver 的開發也有一些概念,若是對於這方面有興趣的話,這堂課會是個不錯的入門,可以到成大資安社的頻道觀看相關的教學影片(連結在前面有提到)。

關於第三天午餐(女王飯捲:牛肉紫菜) image

Day 4:初探威脅情資的奧秘

這一天的課程主要是講解威脅情資的相關內容,包含怎麼去做威脅情資的樣本蒐集、分析、追蹤等,並且透過實際案例分析,讓學員能夠更深入了解在威脅情資的蒐集與分析過程中,應該如何進行調查與取證,並且學習到一些常用的工具與技巧,而有實作到的包含 APT 攻擊分析、惡意程式分析、C2 伺服器分析等,而過程中也有帶到一些 APT 組織的相關資訊,而雖然自己是逆向出身的,不過這一天需要用到的工具跟知識點實在是跟自己的知識水平差距太多了,所以很多東西都沒有很懂,像是要怎麼去分析 C2 伺服器、要怎麼去追蹤 APT 組織等,我認為這些都是需要大量經驗累積的東西,雖然這一天的課程內容也非常豐富,但自己感覺吸收得比較沒有很好,不過至少對於威脅情資有個基本的概念,簡單的知道要怎麼去做這些事情。

關於第四天午餐(Makoto 丼日式便當:櫻花蝦高麗菜牛丼) 忘記拍照了 QQ

專題發表

關於專題發表基本上是三個人一組,但我們這組基本上只有兩個人在研究而已,說實話其實感覺沒有參與專題的話理論上不應該拿到最後證書的,但尊重發放規則,而我們這組就是去研究一個已經 EOL(End of Life) 的 router,裝置是 D-Link DIR 850L,而我們的目標就是要去分析這個裝置,幸運的是這次不用模擬,有實機可以分析,雖然後面也發生了一些神奇狀況,但就不多說,總之就是去嘗試挖掘這個設備的漏洞,過程中也包含了韌體的拆解、漏洞分析、PoC 撰寫等,而雖然遇到不少困難,但最後還是順利完成了專題發表,在這邊感謝組員 Flydragon簡報連結

image

關於專題發表午餐(熱量炸彈:披薩、炸雞) image

點心(雞蛋糕) image

飲料(再睡五分鐘:黑糖珍珠好濃鮮奶) image

心得

整體來說這次的營隊收穫滿滿,雖然有些內容沒有到很懂,但至少對於資安事件處理、漏洞挖掘、系統底層、威脅情資等有個基本的概念,並且也認識了志同道合的朋友,這些都是非常寶貴的經驗,而也很感謝 TeamT5 舉辦這麼棒的營隊,讓我能夠有機會參加這次的營隊,並且學習到很多東西,也希望未來能夠有更多類似的營隊可以參加。