[問題諮詢] 007 後端工程師如何轉職攻擊型資安工作(滲透測試工程師為例)

飛飛 | 2024-01-10

滲透測試工程師

  • 初階/攻擊相關工作
  • 職位可以找滲透測試(PT)
  • 平均薪資
    • 三萬/四萬
    • 能力好五萬起跳

「從來不是工作難找 是薪水不滿意 XD」--飛

如果已經做好心理準備了,可以再往下看可以的學習路徑。

面試

  1. 通常會問你有沒有經驗
  2. 要你舉出常用的滲透測試工具

快速列舉幾個工具

  1. dirb/其他掃描系列都可以
  2. burpsuite
  3. nmap
  4. metasploit
  5. sqlmap
  6. 弱點掃描要會用+看 openvas/OWASP ZAP

關於經驗那件事情

實戰經驗最難得的是

前輩:我覺得這裡應該要這樣打、那樣打
新人:蛤~~

舉個例子

我們常常使用 nmap 但掃完之後會有沒有頭緒

但我們看到
smb 開了 3389 開了 ==> 快速知道這是 windows 電腦

再舉個例子

80 443 網頁打法
但有時候你如果把 nmap 開 -p- 或是用 rustscan
會發現 高port 會有測試網站

如何準備(免費)

準備(要錢)

  • 靶機
    • tryhackme
    • Hack the box VIP

需要知道什麼

  1. 了解滲透測試的流程
  2. 看得懂弱點掃描報告
  3. 靶機經驗也算經驗
    • 會使用工具
    • 會寫報告

case study

履歷加分-課金法

  • OSCP 原廠 1649 美金

[問題諮詢] 006 後端工程師該如何學習防禦技巧,以 SSDLC 為例

飛飛 | 2023-05-25

問題

如果想入門紅隊到進階大概要讀哪些材料的東西,我主要目的是防禦,而非入侵. 但是要會防禦,要知道如何入侵,我本身是後端開發工程師. 但這方面知識有點缺乏,之前有說想說可以透過考證照入門,但上課加考照費用太多了。

後端程式碼是 Java、框架是Spring Boot,防禦目標主要是個人設備,進階才是公開的網站。

回復

針對開發工程師,我通常建議閱讀 SSDLC 相關的內容,SSDLC 為安全的開發流程:

SSDLC(Secure Software Development Lifecycle)是一種安全的開發流程,旨在軟體開發生命周期的各個階段中,以安全為主導進行設計、開發、測試和部署。

開發工程師,如果透過 SSDLC,可以在自己開發的軟體、網站加入安全性的考量,也有助於降低被攻擊的風險。

SSDLC 的主要流程如下:

  1. 需求階段
  2. 設計階段
  3. 撰寫程式碼階段
  4. 測試階段
  5. 部署階段

每一個階段該注意的事情,我在底下分析給大家參考:

需求階段

確認軟體開發需求,"通常" PM 會告訴你需求,然後開發,但有時候隕石開發該怎麼辦?

◇ 在這裡跟大家建議,先確認整體 "資料流向" 再確認目前這些資料 "誰可以瀏覽、新增、刪除、修改",可以優先確認整體的 "權限" 問題。

為什麼這樣建議
我們在攻擊過程當中,無法被自動化弱點掃描找到的漏洞是 "程式邏輯" 相關的漏洞,最難防禦、影響最大的也是 "程式邏輯" 漏洞。

漏洞名稱包含 IDOR(權限控管相關的漏洞)、還有商業邏輯漏洞。

還需要確認什麼
你撰寫的程式,是否有【合規性的要求】:

  1. 如信用卡、金融卡,需要符合 PCI DSS 的標準,保護信用卡使用者的安全與保密需求。
  2. 金融單位合規,如《金融機構辦理電腦系統資訊安全評估辦法》
  3. 教育部委外辦理或補助建置維運伺服主機及應用系統網站資通安全及個人資料保護管理要點

設計需求

這個階段不外乎會繪製 UML 以及使用者等設計圖
也會透過透過威脅建模、風險評估,來設計安全架構。

威脅建模

  1. 哪些類型的攻擊可能對我們的系統造成危害?例如,網路攻擊、惡意軟體、內部威脅等。
  2. 哪些資產可能會被攻擊者盜取、損壞或破壞?例如,敏感客戶資料、財務資訊、知識產權等。
  3. 哪些漏洞可能被攻擊者利用來入侵系統?例如,弱密碼、未更新的軟體、網站注入漏洞等。
  4. 攻擊者可能會利用哪些方法來進入系統?例如,社交工程、網路釣魚、漏洞掃描等。
  5. 攻擊者可能會使用哪些工具或技術來發動攻擊?例如,網路滲透測試工具、惡意程式碼等。
  6. 攻擊者的能力和資源如何?例如,是否是有組織的犯罪團伙、國家支持的駭客、單一駭客等。
  7. 攻擊者的意圖是什麼?例如,竊取資訊、勒索贖金、破壞系統等。
  8. 什麼是最高風險的攻擊場景?例如,攻擊者成功取得了系統管理權限、大規模的數據洩露等。

撰寫程式碼階段

  1. 撰寫程式碼的過程
    • 根據需求撰寫安全功能
    • 紀錄所有第三方套件的版本
    • 不任意使用來路不明的工具
  2. 使用 ChatGPT 也要小心敏感資料外洩
  3. 常見的輸入輸出內容也需要注意
  4. 每一個模組都需要進行測試

測試階段

  1. 漏洞掃描(弱點掃描)
  2. 滲透測試

上線階段

  1. 部署過程要注意測試伺服器與正式伺服器
  2. 測試資料庫與正式資料庫
  3. .git 相關安全
  4. 監控上線
    • log 監控
    • 性能監控

[問題諮詢] 005 如何學習數位鑑識、事件調查(DFIR)

飛飛 | 2023-03-31

前言

雖然仍然不是數位鑑識與事件調查的專家,但偶而還是會看一下相關的書籍,或是在求學過程中有幸可以參加相關的課程,真的很感謝這些講師提供課程。

本文簡單介紹 DFIR 範疇與相關的資源與學習方向。

關鍵字

  • 數位鑑識(Digital Forensics, DF)
    • 數位鑑識是 forensic science 的範疇,forensic science 鑑識科學是一種利用科學手段處理、解決與司法體系利益相關問題的科學。其主要針對刑事及民事案件。[1]
  • 事件調查(Incident Response,IR)
    • NIST SP800-61 R2
      • Computer Security Incident Handling Guide
      • 提供資安事件回應的指導方針,如何分析事件數據和確定每個事件的適當回應。
      • 幫助企業建立資安事件回應能力,並有效地處理事件。
      • 指導方針不限於特定的硬體平台、作業系統、協定或應用程式。

IR 學習流程[2]

  1. 時間軸分析:在資安事件發生後,調查入侵過程的時間軸,將事件串連成線,以得到完整的攻擊過程,快速判定可用於後續分析的資訊。
  2. 關鍵字搜尋:利用關鍵字快速搜尋與過濾,從大量記錄中找出可疑的記錄,再進行前後比對或分析,找出資安攻擊的源頭。
  3. 統計及頻率分析:透過統計分析的方法,找出系統運作的正常平均值,再比對資安事件發生時各系統的數值,判定是否異常,以找出被入侵的系統源頭。
  4. 方向性分析:分析資安攻擊的方向性,由外而內或由內而外,以確定調查方向。

相關資源

參考資料

[問題諮詢] 004 CTF PWN 領域中如何變強

飛飛 | 2023-03-17

如何變強

前言

雖然不是 PWN 領域的專家,但網路上的資源很多,基本上還是可以利用這些內容來加強自己的能力,本篇也分享一些學習的方法。

問題

「教練,我想變強。」這是在漫畫裡面最經典的那個畫面。

而這次的問題諮詢時,同樣也遇到這個問題。

因為本身這個問題者已經有對應的知識量,還有經驗,但一直覺得自己能力還上不去。

初學者

給 PWN 的初學者看的,
推薦入門還是用 張元的教材,了解一下 PWN 的架構。

方法

以下是目前給對方的建議:
也許有時候拿起書,書本太厚,讀不下去,這是資訊圈的工具書的問題,但書裡面有大綱,你可以拿來盤點自己的能力,當做一個 Check List。

輸入和輸出的黃金比例是3:7,因此你今天學習的時候,還是重在"輸出",流程是你今天看了很多東西, 你放在腦袋裡面可能會忘記,你嘗試輸出(不管是用寫的、用講的、做簡報、做圖 anything),你可以看到自己累積下來的內容。

CTF 中戰隊的成果是 CTF 比賽的結果,打了幾場比賽,贏了幾次,但如果不打比賽如何證明自己的能力,除了挖更多的漏洞,有時候挖不到有時挖得到(運氣導向),說我自己的有多少個 CVE 編號。

其他可以證明的,可累積的成果展示,包含分享次數、演講、報告、寫作、日記、心得、文章、教學、工作坊的講師,還有很多都可以練習輸出。

更多在學習的過程,可能會"失敗",但是記錄失敗不是壞事,記錄自己的思路,別人想得出來,卡在哪裡,下次遇到類似的可以直接沿用這次的經驗。

步驟

  1. 先盤點自己會有哪些內容
    • 怎麼盤點
      • 用書本的大綱來盤點
        1. 多本書籍
        2. 主題閱讀
  2. 設定目標
    • 每天閱讀五分鐘
    • 每天輸出十五分鐘
  3. 看到成果
    • 累積自己的學習成果

[問題諮詢] 003 如何在本地架設攻防環境

飛飛 | 2023-02-24

問題

希望在教學的時候學生端的設備要斷網,然後要自己架肉機來打,有什麼工具可以協助架設肉機嗎?

答案

  • 在學校的教學環境中,最常見的是 VM 虛擬機器
  1. 第一步驟:安裝虛擬機軟體 VMplayer vs Virtulbox
  2. 第二步驟:安裝 Linux or 安裝 kali Linux (作為攻擊機)
  3. 第三步驟:安裝漏洞機器

其他回答


上圖為常見的虛擬機軟體 VirtualBox 與 VMWare Player 比較與常見滲透測試的作業系統 Kali Linux 與 Parrot OS 比較

[問題諮詢] 002 資安方向諮詢是否需要先考研究所與待遇

飛飛 | 2023-02-21

問題1:是否先出社會或讀研究所

想請問一下走資安的話應該要先考研比較好還是先出社會再考研比較好,我在網路上沒有找到其他人的經驗分享所以才想說來問一下您。

不過倒是有在國外的論壇上找到其他人的分享,在國外大家似乎都是偏向先出社會有了經驗再決定要不要回去讀碩,畢竟是國外所以想說問一下您可能會獲得不同角度的看法。

答覆1

我是先出社會再回去讀碩班,大四的時候有推甄,先註冊後休學保留學籍兩年。
你傳送了資安的話比較看能力給薪水,
以我的觀點是,我出社會的經驗,讓我知道目前資安公司(乙方)他們面臨到哪些問題,需要哪些能力。

而我在回來碩班可以加強相關知識,有更明確的學習方向。

問題2:讀研究所的薪水差距

有碩跟沒碩在薪水上會有明顯的差距嗎

答覆2

資安的話比較看能力給薪水,除非是那種公家機關 or 大公司才看學士 或 碩士。

[問題諮詢] 001 高三文組諮詢轉資安方向

飛飛 | 2023-02-21

問題

學姊你好,我是高三的學生,未來想要往資安發展,有看到您的文章。但我是純文組出身,學測前才想轉跑道,但來不及報考自然科,所以想跟學姊請教個問題:

目前能填跟資訊相關科系的有政大資管、交大資財財金組、成大資管、逢甲資工,加上我未來想轉台大資工系,不知道學姐有什麼看法。

答覆

  1. 拼轉學考
    • 如果下定決心轉學考,那說實話哪個學校都沒差別,要補習就建議在台北補習,資源比較強,可以選政大。
    • 缺點:政大資安目前剛開始,師資不全
    • 台大資工轉學考不好考,要有心理準備,轉學考是孤獨的。
  2. 課程資源與師資
    • 交大資源比較強一些,要去選資工系的課程(拼轉系),強化資工底層的課程。
    • 優點:資源多,可以去清大、中央上課
  3. 社群資源
    • 如果希望有人陪伴,逢甲大學黑客社的人多,可以一起研究資安。
    • 缺點:學費貴

其他參考資料

交大轉系的心得文章: