NiNi - 2024/09/21
之沒有轉
生
就直接拿出真本事
CTF 轉
生
-到了業界就拿出真本事
NiNi
whoami
• DEVCORE 資安研究員
• Pwn2Own Toronto 2022, M
a
ster of Pwn
• DEFCON 26~32 CTF Fin
a
ls
• Fl
a
re-on 8 Finisher #96 (#1 in T
a
iw
a
n)
• 2019
金
盾獎冠軍
• 陽明交通
大
學資電亥客與安全碩
士
其實今天這個主題沒什麼好講的
大
家在
心
裡想
一
到三個資安研究員
(最好是想得起來他具體做過什麼,想不起來的,OK 那是網紅,再想
一
個)
好,請問他們是好的 CTF 玩家嗎
?
CTF 與 Realworld 的差異
CTF 的漏洞挖掘
枚舉攻擊
面
分析
找到漏洞
(可能是非預期解)
寫 exploit 交
f
l
a
g
通常非常簡化
CTF 與 Realworld 的差異
現實世界的漏洞挖掘
枚舉攻擊
面
分析 找到漏洞
寫 exploit 回報漏洞
(如果真的有洞)
擴
大
影響範圍
結束
大
量的閱讀、分析
寫 PoC
CTF 與 Realworld 的差異
現實世界的漏洞挖掘(精簡版)
枚舉攻擊
面
分析 找到漏洞
寫 exploit 回報漏洞
(如果真的有洞)
擴
大
影響範圍
結束
大
量的閱讀、分析
寫 PoC
CTF 與 Realworld 的差異
現實世界的漏洞挖掘(有點精簡版)
枚舉攻擊
面
分析 找到漏洞
寫 exploit 回報漏洞
(如果真的有洞)
vendor 看不懂
你想辦法解釋
擴
大
影響範圍
vendor 沒修好
結束
vendor
覺得你在胡謅
根本不能打
vendor 說
這是 fe
a
ture
vendor 搞定
撞洞
寫 PoC
CTF 帶來的幫助
• 硬技能
• 豐富的
工
具使
用
經驗:IDA、Burp Suite、Frid
a
、流量分析軟體......
• 紮實的知識:exploit 能打成功,觀念不能偏差的太遠
• 直覺:知道哪裡更容易有洞,更會 Educ
a
ted Guess(通靈)
CTF 帶來的幫助
•
人
際網路
• 認識專家:認識別的戰隊的玩家、被挖
角
到別的戰隊
• 容易找到實習:短時間評價
一
個研究員很困難
• 容易找到
工
作:短時間評價
一
個研究員很困難
CTF 帶來的幫助
• 軟技能
• 資訊安全的趨勢:新的題
目
很常反映出現實的研究動態
• 合作精神:避免重複做
一
樣的事情,知道怎麼切分任務
• 時間管理:什麼時候設下停損點,轉換研究
方
向
• 反思:誠實
面
對
自
己
跟團隊的缺失、決策錯誤
CTF 與 Realworld 的差異
現實世界的漏洞挖掘
枚舉攻擊
面
分析 找到漏洞
寫 exploit 回報漏洞
(如果真的有洞)
擴
大
影響範圍
結束
大
量的閱讀、分析
寫 PoC
如何從 CTF 銜接到實戰
?
• 枚舉攻擊
面
:
• 正確的分類攻擊
面
,每個功能具體對應到程式中的什麼部分
• 分析:
• 沒有辦法 100% 把
目
標看完,需要精練,知道
目
前要找什麼東
西
• 寫 exploit:
• 某些情況要求 exploit 穩定、不可讓
目
標 cr
a
sh,穩定性夠
高
才有辦法投入實戰
CTF 玩家需要注意的部分
打穿 ipt
a
bles
防火牆規則缺失
在開源專案中找洞
comm
a
nd injection
SQL injection
St
a
ck over
f
low
處理協議的 bin
a
ry
如何從 CTF 銜接到實戰
?
CTF 玩家需要注意的部分
在開源專案中找洞
酷酷的 Web 漏洞
自
製的 HTTP p
a
rser
Web 介
面
防火牆
簡單 Web 漏洞
過時的套件
可
用
的低權帳號
繞過登入驗證
邏輯漏洞
libr
a
ry 的誤
用
R
a
ce condition
如何從 CTF 銜接到實戰
?
• 事前做好研究
• 過往的 CVE 以及別
人
研究的
方
法是什麼?還有機會嗎?遺漏的攻擊
面
?
• 事中做好筆記
• 在找什麼?怎麼找到這裡的?什麼東
西
分析過了?不能打的具體原因是什麼?
• 事後做好整理
•
一
個
目
標不會只看
一
次,每次累積的經驗都是未來的優勢
CTF 玩家需要注意的部分
如何從 CTF 銜接到實戰
?
•
一
個有範圍的題
目
+ 知道絕對有漏洞存在 + 有 writeup 可以看
如何開始培養:CTF 最主要的特點
如何從 CTF 銜接到實戰
?
•
一
個有範圍的題
目
+ 知道絕對有漏洞存在 + 有 writeup 可以看
• 嘗試復現 1-d
a
y,挑戰
用
盡量少資訊復現(卡住才看別
人
的分析
文
章)
• 現在就開始動
手
看看
手
邊的
目
標:作業系統、瀏覽器、IoT 設備......
如何開始培養
如何從 CTF 銜接到實戰
?
•
一
個有範圍的題
目
+ 知道絕對有漏洞存在 + 有 writeup 可以看
• 嘗試復現 1-d
a
y,挑戰
用
盡量少資訊復現(卡住才看別
人
的分析
文
章)
• 現在就開始動
手
看看
手
邊的
目
標:作業系統、瀏覽器、IoT 設備......
• 很多
人
研究的
目
標為佳
• 不要挑太簡單的(微微踏出舒適圈)
• 分析無難度+直接 st
a
ck over
f
low
• 分析有難度(軟體複雜 or 硬體
門
檻)+直接 st
a
ck over
f
low
如何開始培養
如何從 CTF 銜接到實戰
?
•
一
個有範圍的題
目
+ 知道絕對有漏洞存在 + 有 writeup 可以看
• 嘗試復現 1-d
a
y,挑戰
用
盡量少資訊復現(卡住才看別
人
的分析
文
章)
• 現在就開始動
手
看看
手
邊的
目
標:作業系統、瀏覽器、IoT 設備......
•
或直接加入 DEVCORE 實習計畫
如何開始培養
TheEnd

20240921 - HITCON 社群活動《CTF 轉生-到了業界就拿出真本事》 - Nini 分享

  • 1.
    NiNi - 2024/09/21 之沒有轉 生 就直接拿出真本事 CTF轉 生 -到了業界就拿出真本事
  • 2.
    NiNi whoami • DEVCORE 資安研究員 •Pwn2Own Toronto 2022, M a ster of Pwn • DEFCON 26~32 CTF Fin a ls • Fl a re-on 8 Finisher #96 (#1 in T a iw a n) • 2019 金 盾獎冠軍 • 陽明交通 大 學資電亥客與安全碩 士
  • 3.
  • 4.
  • 5.
  • 6.
    CTF 與 Realworld的差異 CTF 的漏洞挖掘 枚舉攻擊 面 分析 找到漏洞 (可能是非預期解) 寫 exploit 交 f l a g 通常非常簡化
  • 7.
    CTF 與 Realworld的差異 現實世界的漏洞挖掘 枚舉攻擊 面 分析 找到漏洞 寫 exploit 回報漏洞 (如果真的有洞) 擴 大 影響範圍 結束 大 量的閱讀、分析 寫 PoC
  • 8.
    CTF 與 Realworld的差異 現實世界的漏洞挖掘(精簡版) 枚舉攻擊 面 分析 找到漏洞 寫 exploit 回報漏洞 (如果真的有洞) 擴 大 影響範圍 結束 大 量的閱讀、分析 寫 PoC
  • 9.
    CTF 與 Realworld的差異 現實世界的漏洞挖掘(有點精簡版) 枚舉攻擊 面 分析 找到漏洞 寫 exploit 回報漏洞 (如果真的有洞) vendor 看不懂 你想辦法解釋 擴 大 影響範圍 vendor 沒修好 結束 vendor 覺得你在胡謅 根本不能打 vendor 說 這是 fe a ture vendor 搞定 撞洞 寫 PoC
  • 10.
    CTF 帶來的幫助 • 硬技能 •豐富的 工 具使 用 經驗:IDA、Burp Suite、Frid a 、流量分析軟體...... • 紮實的知識:exploit 能打成功,觀念不能偏差的太遠 • 直覺:知道哪裡更容易有洞,更會 Educ a ted Guess(通靈)
  • 11.
    CTF 帶來的幫助 • 人 際網路 • 認識專家:認識別的戰隊的玩家、被挖 角 到別的戰隊 •容易找到實習:短時間評價 一 個研究員很困難 • 容易找到 工 作:短時間評價 一 個研究員很困難
  • 12.
    CTF 帶來的幫助 • 軟技能 •資訊安全的趨勢:新的題 目 很常反映出現實的研究動態 • 合作精神:避免重複做 一 樣的事情,知道怎麼切分任務 • 時間管理:什麼時候設下停損點,轉換研究 方 向 • 反思:誠實 面 對 自 己 跟團隊的缺失、決策錯誤
  • 13.
    CTF 與 Realworld的差異 現實世界的漏洞挖掘 枚舉攻擊 面 分析 找到漏洞 寫 exploit 回報漏洞 (如果真的有洞) 擴 大 影響範圍 結束 大 量的閱讀、分析 寫 PoC
  • 14.
    如何從 CTF 銜接到實戰 ? •枚舉攻擊 面 : • 正確的分類攻擊 面 ,每個功能具體對應到程式中的什麼部分 • 分析: • 沒有辦法 100% 把 目 標看完,需要精練,知道 目 前要找什麼東 西 • 寫 exploit: • 某些情況要求 exploit 穩定、不可讓 目 標 cr a sh,穩定性夠 高 才有辦法投入實戰 CTF 玩家需要注意的部分
  • 15.
    打穿 ipt a bles 防火牆規則缺失 在開源專案中找洞 comm a nd injection SQLinjection St a ck over f low 處理協議的 bin a ry 如何從 CTF 銜接到實戰 ? CTF 玩家需要注意的部分 在開源專案中找洞 酷酷的 Web 漏洞 自 製的 HTTP p a rser Web 介 面 防火牆 簡單 Web 漏洞 過時的套件 可 用 的低權帳號 繞過登入驗證 邏輯漏洞 libr a ry 的誤 用 R a ce condition
  • 16.
    如何從 CTF 銜接到實戰 ? •事前做好研究 • 過往的 CVE 以及別 人 研究的 方 法是什麼?還有機會嗎?遺漏的攻擊 面 ? • 事中做好筆記 • 在找什麼?怎麼找到這裡的?什麼東 西 分析過了?不能打的具體原因是什麼? • 事後做好整理 • 一 個 目 標不會只看 一 次,每次累積的經驗都是未來的優勢 CTF 玩家需要注意的部分
  • 17.
    如何從 CTF 銜接到實戰 ? • 一 個有範圍的題 目 +知道絕對有漏洞存在 + 有 writeup 可以看 如何開始培養:CTF 最主要的特點
  • 18.
    如何從 CTF 銜接到實戰 ? • 一 個有範圍的題 目 +知道絕對有漏洞存在 + 有 writeup 可以看 • 嘗試復現 1-d a y,挑戰 用 盡量少資訊復現(卡住才看別 人 的分析 文 章) • 現在就開始動 手 看看 手 邊的 目 標:作業系統、瀏覽器、IoT 設備...... 如何開始培養
  • 19.
    如何從 CTF 銜接到實戰 ? • 一 個有範圍的題 目 +知道絕對有漏洞存在 + 有 writeup 可以看 • 嘗試復現 1-d a y,挑戰 用 盡量少資訊復現(卡住才看別 人 的分析 文 章) • 現在就開始動 手 看看 手 邊的 目 標:作業系統、瀏覽器、IoT 設備...... • 很多 人 研究的 目 標為佳 • 不要挑太簡單的(微微踏出舒適圈) • 分析無難度+直接 st a ck over f low • 分析有難度(軟體複雜 or 硬體 門 檻)+直接 st a ck over f low 如何開始培養
  • 20.
    如何從 CTF 銜接到實戰 ? • 一 個有範圍的題 目 +知道絕對有漏洞存在 + 有 writeup 可以看 • 嘗試復現 1-d a y,挑戰 用 盡量少資訊復現(卡住才看別 人 的分析 文 章) • 現在就開始動 手 看看 手 邊的 目 標:作業系統、瀏覽器、IoT 設備...... • 或直接加入 DEVCORE 實習計畫 如何開始培養
  • 21.