2016/06/30
CTF 比賽介紹
1
✤ 小魚
✦ 交通大學資工所研究生
✦ 軟體品質實驗室 SQLab
✦ HITCON GIRLS - CTF組
Who am I
2
✤ 念奇
✦ 中央大學資工所研究生
✦ 先進防禦實驗室 ADL
✦ HITCON GIRLS - CTF組
Outline
✤ CTF 是什麼?
✤ CTF 題目類型
✤ CTF 賽制
✤ CTF 著名比賽
✤ 如何學習 CTF
✤ Capture The Flag
✤ 學習資訊安全攻擊/防禦的競賽
✤ 利用執行在目標電腦中的應用程式漏洞取得 Flag
✤ 解密藏在檔案或程式中的 Flag
CTF
secret
4
CTF 題目類型
Reverse1
Pwn2
Web3
Crypto4
Forensic5
5
✤ 參賽者會得到一個程式(binary),需在沒有完整原始碼的情況下分析程式,找到隱藏資訊或改變程式流程
✤ 反組譯程式
Pwn2
Web3
Crypto4
Forensic5
Reverse1
CTF 題目類型
6
✤ 靜態分析(Static Analysis)
✦ 不執行程式,單純從反組譯出的程式碼、組合語言、程式流程圖、Global & Static data 等進行分析
✤ 動態分析(Dynamic Analysis)
✦ 直接執行程式,並根據當下程式執行狀況、Registers 和 Memory 中的值進行分析
Reverse1
Pwn2
Web3
Crypto4
Forensic5
CTF 題目類型
7
✤ 與 Reverse 相似,參賽者也會得到一個 binary
✤ 但目標是要攻擊執行在對方主機上的 binary,拿到對方主機控制權
CTF 題目類型 Pwn2
Reverse1
Web3
Crypto4
Forensic5
8
✤ 分析(analysis)➔找尋漏洞(bug)➔撰寫攻擊程式(exploit)
✤ bug
Buffer overflow, Use after free,…etc
✤ exploit
利用程式漏洞進而獲得主機控制權(get shell)
CTF 題目類型 Pwn2
Web3
Crypto4
Forensic5
Reverse1
9
✤ 常用工具:IDA
CTF 題目類型 Pwn2
Web3
Crypto4
Forensic5
Reverse1
10
✤ 常用工具:IDA
CTF 題目類型 Pwn2
Web3
Crypto4
Forensic5
Reverse1
11
✤ 常用工具:gdb
CTF 題目類型 Pwn2
Web3
Crypto4
Forensic5
Reverse1
12
✤ 常用工具:gdb
CTF 題目類型 Pwn2
Web3
Crypto4
Forensic5
Reverse1
13
✤ 攻擊目標網頁,獲取資訊或不合法登入或取得對方主機控制權
CTF 題目類型
Web3
Crypto4
Forensic5
Pwn2
Reverse1
14
✤ 分析網頁架構➔找尋可控輸入與漏洞➔攻擊
✤ 框架(framework)、撰寫語言、作業系統
✤ 舊版本已知漏洞、新版本未修補漏洞
✤ 語言特性
CTF 題目類型
Web3
Crypto4
Forensic5
Pwn2
Reverse1
15
✤ 分析網頁架構➔找尋可控輸入與漏洞➔攻擊
✤ 網址、使用者輸入、檔案上傳
CTF 題目類型
Web3
Crypto4
Forensic5
Pwn2
Reverse1
16
✤ 分析網頁架構➔找尋可控輸入與漏洞➔攻擊
✤ 獲取資訊或不合法登入或取得對方主機控制權
✤ XSS, SQL Injection, File Inclusion, Command Injection, …etc.
CTF 題目類型
Web3
Crypto4
Forensic5
Pwn2
Reverse1
17
✤ 分析網頁架構➔找尋可控輸入與漏洞➔攻擊
✤ OWASP Top 10
CTF 題目類型
Web3
Crypto4
Forensic5
Pwn2
Reverse1
18
✤ 常用工具:Wappalyzer (Chrome/Firefox extension)
CTF 題目類型
Web3
Crypto4
Forensic5
Pwn2
Reverse1
19
✤ 常用工具:開發者工具
CTF 題目類型
Web3
Crypto4
Forensic5
Pwn2
Reverse1
20
✤ 常用工具:Burp Suite
CTF 題目類型
Web3
Crypto4
Forensic5
Pwn2
Reverse1
21
✤ 密碼學(Cryptology)
✤ 參賽者會得到密文,需分析其加密方法並解出明文
CTF 題目類型
Crypto4
Web3
Forensic5
Reverse1
Pwn2
22
✤ 雜湊(Hash)
✤ SHA、MD5
✤ 金鑰加密
✤ AES、DES(對稱性加密)
✤ RSA (非對稱性加密)
CTF 題目類型
Crypto4
Web3
Forensic5
Reverse1
Pwn2
Hash function &(*$#&*@
public key
private key23
✤ 常用工具:
✤ 線上 Hash 解密網站
✤ OpenSSL
✤ rsatool
CTF 題目類型
Crypto4
Web3
Forensic5
Reverse1
Pwn2
24
✤ 資訊隱藏學(Steganography)
✤ 參賽者得到一個任何格式的檔案,可能是文字檔、圖檔、音訊檔、網路封包等,分析並找出隱藏的資訊
CTF 題目類型
Forensic5
Web3
Crypto4
Reverse1
Pwn2
25
✤ 圖檔
✤ 調整色調
✤ 看似是一張圖,其實圖中有圖
CTF 題目類型
Forensic5
Web3
Crypto4
Reverse1
Pwn2
26
✤ 網路封包(.pcap)
✤ 分析封包內的摘要及詳細資訊
✤ 常用工具:Wireshark
CTF 題目類型
Forensic5
Web3
Crypto4
Reverse1
Pwn2
27
✤ 無法分類就歸到這一類
✤ Crypto+Pwn
✤ Web + Pwn
✤ Pwn + Web + Crypto
CTF 題目類型
Web3
Crypto4
Reverse1
Pwn2
28
Forensic5
Misc6
組合題7
CTF 賽制
Jeopardy1
Attack & Defense2
King of Hill3
CTF 賽制
29
✤ 各種類型的題目,每種類型可能會有數道題目
✤ 通常愈難的題目分數愈高
✤ 線上賽居多,參與隊伍數及各隊人數較無限制
參賽者 主辦方
30
CTF 賽制
Jeopardy1
Attack & Defense2
King of Hill3
31
CTF 賽制
Jeopardy1
Attack & Defense2
King of Hill3
✤ 各隊參賽者有自己的主機,主機上執行著各種有漏洞的服務
✤ 攻擊他隊的服務的同時,也要防禦自己的服務
exploit patch
參賽隊伍A 參賽隊伍B
32
CTF 賽制 Attack & Defense2
Jeopardy1
King of Hill3
✤ 分析主機上的服務,找到漏洞利用方式
✤ 撰寫攻擊程式,攻擊其他各隊
✤ 修補自己有漏洞的程式
✤ 攻擊成功(取得 Flag)則得分,被他隊取得 Flag 則扣分
✦ 一般為每回合 5 分鐘
✦ 同一回合內,同個攻擊程式,可成功攻擊愈多隊則分數愈高
33
CTF 賽制 Attack & Defense2
Jeopardy1
King of Hill3
參賽隊伍A 參賽隊伍B
power off
34
CTF 賽制 Attack & Defense2
Jeopardy1
King of Hill3
✤ 主辦方會不定時測試參賽隊伍的服務是否正常
參賽隊伍A 參賽隊伍B
power off服務不正常運作則扣分,
扣除的分數平分給其他服務正常運作的隊伍35
CTF 賽制 Attack & Defense2
Jeopardy1
King of Hill3
✤ 裝備++:
✦ 良好的網路環境
✦ 隊員間資料分享平台
✤ 技能++:
✤ 漏洞發掘、漏洞修補
✤ 網路流量分析
✤ 系統管理
✤ 後門
network flow
system administratorbackdoor
36
CTF 賽制 Attack & Defense2
Jeopardy1
King of Hill3
37
CTF 賽制 Attack & Defense2
Jeopardy1
King of Hill3
38
CTF 賽制 Attack & Defense2
Jeopardy1
King of Hill3
39
主辦方
參賽隊伍A 參賽隊伍B主辦方
✤ 主辦方提供許多服務
✤ 參賽者攻擊服務,嘗試佔領主機
CTF 賽制
King of Hill3
Jeopardy1
Attack & Defense2
40
參賽隊伍A 參賽隊伍B主辦方
參賽隊伍A
✤ 佔領時間愈長,分數愈高
✤ 佔領同時也要修補漏洞
CTF 賽制
King of Hill3
Jeopardy1
Attack & Defense2
CTF 比賽
41
CTF 著名比賽
適合初學者
✤ CSAW
✤ NYU
✤ ASIS
✤ 伊朗
42
CTF 著名比賽
進階
✤ PlaidCTF
✤ PPP隊伍
✤ SECCON
✤ 日本
43
CTF 著名比賽
進階
✤ Boston Key Party
✤ 美國東北大學
✤ CodeGate
✤ 韓國
44
CTF 著名比賽
進階
✤ RuCTFE
✤ 俄羅斯
✤ XCTF
✤ 中國
45
CTF 著名比賽
進階
✤ DEFCON CTF
✤ 美國拉斯維加斯
✤ 資安界公認,相當於世界盃 CTF 的比賽
✤ 分為初賽 Qualified CTF、決賽 Final CTF
✤ DEFCON 是全球最大的駭客年會 46
CTF 著名比賽
✤ HITCON CTF
✤ 台灣第一次舉辦世界性的比賽
✤ DEFCON 47
進階
CTF 比賽
特殊
✤ WCTF
✤ 360Vulcan Team & PoC Security
✤ 各個隊伍互相出題交給主辦方
✤ 出題題型限制平台:windows 與 Linux 上個一題
✤ 目前這種賽制尚未被國際採用48
CTF 比賽
特殊
✤ CGC( Cyber Grand Challenge )
✤ 一個機器自動分析、修復、攻擊程式漏洞的競賽
✤ 參與 CGC 各個隊伍要用自己開發的系統自動分析程式、確認程式漏洞,並自動修復漏洞
✤ 2015 年的初賽選出 7 隊
✤ 2016 年的決賽競爭出冠軍,並將與來自全世界的駭客隊伍一起參與 DEF CON CTF
49
CTF 學習
50
✤ HITCON Knowledge Base ( http://kb.hitcon.org/ )
CTF 學習
55
✤ Wargames ( http://overthewire.org/wargames/ )
✤ practice security concepts in the form of fun-filled games
✤ W3Challs ( https://w3challs.com/ )
CTF 學習
57
Q & A
58