目錄
?
前言:
正文:
什么是CTF?
什么是PWN?
為什么要學CTF?
CTF競賽模式:
CTF各大題型簡介:
學之前的思考:分析賽題情況
常規做法
CTF比賽需要的知識儲備
CTF比賽的神器:
惡補基礎知識&資訊安全專業知識推薦圖書:
前言:
這是一場緊張的比賽,現場激情解說:
“SP的戰隊率先發起攻擊,可惜被K&K戰隊以三行代碼輕松攔截!”
“哇哦,SP戰隊依舊緊追猛打,在幾秒之內就找到了對方漏洞所在,極速完勝對手!”
“天哪,SP戰隊再次找到K&K服務器防御漏洞!”
電視劇為了渲染效果,喜歡把CTF搞得跟電子競技比賽一樣,如果你真以為CTF比賽就是電視劇中“現男友”展現的這樣:

還有這樣:

那就大錯特錯了!CTF比賽并不是一個電競專案,真實的CTF是這樣的:

(圖片來源于XNUCA比賽現場圖)
真正的CTF賽事與一般的電競賽事相比較具有更高的專業性和技術性,CTF賽事本身具有一定的門檻性,
CTF,它最初的源頭是全球黑客大會,這也就是說,參加比賽的選手,不是職業電競選手,而是真正的職業競技黑客,他們比拼的是各自作為黑客的技術,
如果說電競選手是在規定好的框架內比拼技術,而黑客卻是能夠突破程式限制,自由攻占服務器的游戲制定者,
正文:
什么是CTF?
CTF(Capture The Flag)中文一般譯作奪旗賽,在網路安全領域中指的是網路安全技術人員之間進行技術競技的一種比賽形式,

CTF起源于1996年DEFCON全球黑客大會,以代替之前黑客們通過互相發起真實攻擊進行技術比拼的方式,發展至今,CTF已經成為全球范圍網路安全圈流行的競賽形式,而DEFCON作為CTF賽制的發源地,DEFCON CTF也成為了目前全球最高技術水平和影響力的CTF競賽,類似于CTF賽場中的“世界杯” ,
什么是PWN?
PWN在黑客俚語中代表著攻破,獲取權限,發音類似“砰”,對黑客而言,這就是成功實施黑客攻擊的聲音——砰的一聲,被“黑”的電腦或手機就被你操縱了,“PWN”自“own”這個字引申出來,這個詞的含意在于,玩家在整個游戲對戰中處在勝利的優勢,或是說明競爭對手處在完全慘敗的情形下,有一個非常著名的國際賽事叫做Pwn2Own,

在CTF比賽中它代表著溢位類的題目,其中常見型別溢位漏洞有整數溢位、堆疊溢位、堆溢位等,主要考查參賽選手對漏洞的利用能力,所需基礎:大學計算機基礎、c語言、匯編語言、作業系統等,
CTF中的PWN題型通常會直接給定一個已經編譯好的二進制程式(Windows下的EXE或者Linux下的ELF檔案等),然后參賽選手通過對二進制程式進行逆向分析和除錯來找到利用漏洞,并撰寫利用代碼,通過遠程代碼執行來達到溢位攻擊的效果,最終拿到目標機器的shell奪取Flag,
為什么要學CTF?
1.刺激!成就感爆棚
“驚退萬人爭戰氣”“銜得錦標第一歸”!當你奪得“一血”拿下比分,完美突破對手的防線,成功抵御“敵人”的進攻,這種來自競技的魅力讓人熱血沸騰,如果想感受競技比賽的刺激、體會技能比拼的成就感和趣味性,CTF就是一個很好的選擇,
2.合理合法的練習環境
隨著《網路安全法》的公布,實網安領域剛入門的小白越來越難找到真實、合法的環境來訓練自己的技能,CTF的出現,正好彌補了這個空白,為大家提供了一個合理又合法的練習環境,
3.拓展安全知識面
CTF的題目一般由多個知識點相互糅合,相對來說目標性比較強,CTF對網安人員的意義還在于拓展了從業者安全知識面,以及獲得通過實戰式應用所學到的安全知識,作業中遇到的有些問題可以用 CTF中涉及的知識解決,
4.獎金豐厚
CTF賽事的獎金很可觀,打CTF比賽不僅能掙錢,還能充分展示自己的技術水平,樹立個人在網安業界的影響力,

國內部分CTF獎金設定(資料來源于網路)
5.名企招聘看重的經歷
目前,相關企業招聘普遍看重CTF大賽獲獎經歷,安全名企大廠也經常會通過組織CTF競賽發現人才,收攬人才,



下定決心想要學習CTF,那么要怎么開始呢?
CTF競賽模式:
(1)解題模式(Jeopardy)在解題模式CTF賽制中,參賽隊伍可以通過互聯網或者現場網路參與,這種模式的CTF競賽與ACM編程競賽、資訊學奧賽比較類似,以解決網路安全技術挑戰題目的分值和時間來排名,通常用于在線選拔賽,題目主要包含逆向、漏洞挖掘與利用、Web滲透、密碼、取證、隱寫、安全編程等類別,
(2)攻防模式(Attack-Defense)在攻防模式CTF賽制中,參賽隊伍在網路空間互相進行攻擊和防守,挖掘網路服務漏洞并攻擊對手服務來得分,修補自身服務漏洞進行防御來避免丟分,攻防模式CTF賽制可以實時通過得分反映出比賽情況,最終也以得分直接分出勝負,是一種競爭激烈,具有很強觀賞性和高度透明性的網路安全賽制,在這種賽制中,不僅僅是比參賽隊員的智力和技術,也比體力(因為比賽一般都會持續48小時及以上),同時也比團隊之間的分工配合與合作,
(3)混合模式(Mix)結合了解題模式與攻防模式的CTF賽制,比如參賽隊伍通過解題可以獲取一些初始分數,然后通過攻防對抗進行得分增減的零和游戲,最終以得分高低分出勝負,采用混合模式CTF賽制的典型代表如iCTF國際CTF競賽,
CTF各大題型簡介:
MISC(安全雜項):全稱Miscellaneous,題目涉及流量分析、電子取證、人肉搜索、資料分析、大資料統計等等,覆寫面比較廣,我們平時看到的社工類題目;給你一個流量包讓你分析的題目;取證分析題目,都屬于這類題目,主要考查參賽選手的各種基礎綜合知識,考察范圍比較廣,
PPC(編程類):全稱Professionally Program Coder,題目涉及到程式撰寫、編程演算法實作,演算法的逆向撰寫,批量處理等,有時候用編程去處理問題,會方便的多,當然PPC相比ACM來說,還是較為容易的,至于編程語言嘛,推薦使用Python來嘗試,這部分主要考察選手的快速編程能力,
CRYPTO(密碼學):全稱Cryptography,題目考察各種加解密技術,包括古典加密技術、現代加密技術甚至出題者自創加密技術,實驗吧“角斗場”中,這樣的題目匯集的最多,這部分主要考查參賽選手密碼學相關知識點,
REVERSE(逆向):全稱reverse,題目涉及到軟體逆向、破解技術等,要求有較強的反匯編、反編譯扎實功底,需要掌味訓編,堆疊、暫存器方面的知識,有好的邏輯思維能力,主要考查參賽選手的逆向分析能力,此類題目也是線下比賽的考察重點,
STEGA(隱寫):全稱Steganography,隱寫術是我開始接觸CTF覺得比較神奇的一類,知道這個東西的時候感覺好神奇啊,黑客們真是聰明,題目的Flag會隱藏到圖片、音頻、視頻等各類資料載體中供參賽選手獲取,載體就是圖片、音頻、視頻等,可能是修改了這些載體來隱藏flag,也可能將flag隱藏在這些載體的二進制空白位置,有時候需要你偵探精神足夠的強,才能發現,此類題目主要考查參賽選手的對各種隱寫工具、隱寫演算法的熟悉程度,實驗吧“角斗場”的隱寫題目在我看來是比較全的,以上說到的都有涵蓋,新手盆友們可以去了解下,
PWN(溢位):PWN在黑客俚語中代表著攻破,取得權限,在CTF比賽中它代表著溢位類的題目,其中常見型別溢位漏洞有堆疊溢位、堆溢位,在CTF比賽中,線上比賽會有,但是比例不會太重,進入線下比賽,逆向和溢位則是戰隊實力的關鍵,主要考察引數選手漏洞挖掘和利用能力,
WEB(web類):WEB應用在今天越來越廣泛,也是CTF奪旗競賽中的主要題型,題目涉及到常見的Web漏洞,諸如注入、XSS、檔案包含、代碼審計、上傳等漏洞,這些題目都不是簡單的注入、上傳題目,至少會有一層的安全過濾,需要選手想辦法繞過,且Web題目是國內比較多也是大家比較喜歡的題目,因為大多數人開始安全都是從web日站開始的,

學之前的思考:分析賽題情況
PWN、Reserve偏重對匯編、逆向的理解
Crypto偏重對數學、演算法的深入學習
Web編程對技巧沉淀、快速搜索能力的挑戰
Misc則更為復雜,所有與計算機安全挑戰有關的都算在其中
常規做法
A方向:PWN+Reserver+Crypto隨機搭配
B方向:Web+Misc組合
其實Misc所有人都可以做

CTF比賽需要的知識儲備
前鋒攻擊(漏洞利用腳本 python)
- 漏洞利用,成功利用漏洞并突破安全防御機制
- 漏洞利用后果:控制劫持流、敏感資訊泄露、可用性破壞
- 奪取Flag:控制流劫持并執行Shellcode,獲得shell(拿到控制臺)或讀flag到socket
- 破壞服務可用性:服務漏洞利用造成服務狀態例外 安全防御機制:NX(DEP)、PIE 、ASLP、Stack Canary
- 漏洞利用技術:ROP、結合地址泄露漏洞等,/brute forcing、SEH Exploit
掌握二進制代碼【木馬 shellcode powershell】
漏洞利用腳本撰寫,遠程觸發漏洞
python pwn tools
web的機制 php js html
中場(逆向分析,代碼審計)
- web漏洞挖掘能力
代碼審計(檢查原始碼,檔案包含錯誤,執行檔案錯誤,檔案上傳錯誤,SQL注入的問題)
除錯環境 - pwn漏洞挖掘
逆向分析(el檔案,讀匯編,讀偽代碼,反著看c++,java,c)
Linux系統知識
后衛(安全運維人員)
- 服務器安全運維人員
shell 腳本撰寫能力
python腳本撰寫能力
Linux運維的知識(保證服務器安全,防止木馬,分析流量,備份資料庫,備份服務器 - 流量分析能力
協議分析

CTF比賽的神器:
前鋒
-
kali系統
- nmap 埠掃描
- searchsploit 漏洞查詢
- metaspolit 攻擊框架 use exploit/windows/smb/ms17_010_eternalblue
- sqlmap sql注入的批量掃描
- hydra ssh暴力破解
- burpsuite sql注入的批量掃描
- python的pwntools (前鋒人員使用,漏洞利用) kail裝pip install pwntools
中場
逆向分析
- ida pro ----kpathch插件
- gdb 以及插件 gef peda-gdb gdbserver (apt-get install gdbserver)
- notepad++
- ue winhex
流量分析
- wireshark
- pcap python lib
- 秘密武器
后衛
安全運維人員
-
檔案監控武器
-
權限檢索武器
-
木馬查殺武器
-
批量攻擊框架
-
木馬
-
菜刀(管理webshell)


惡補基礎知識&資訊安全專業知識
推薦圖書:
A方向:
RE for Beginners(逆向工程入門)
IDA Pro權威指南
揭秘家庭路由器0day漏洞挖掘技術
自己動手寫作業系統
黑客攻防寶典:系統實戰篇
B方向:
Web應用安全權威指南
Web前端黑客技術揭秘
黑客秘籍——滲透測驗使用指南
黑客攻防寶典WEB實戰篇
代碼審計:企業級Web代碼安全架構

最后,祝大家早日學有所成,拿到滿意offer,快速升職加薪,走上人生巔峰,
可以的話請給我一個三連支持一下我~~
→【資料獲取】←

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/287880.html
標籤:其他
上一篇:2021強網杯 Web尋寶 WP
下一篇:[網路安全提高篇] 一一〇.強網杯CTF的Web Write-Up(上) 尋寶、賭徒、EasyWeb、pop_master

