CTF入門
轉(zhuǎn)載:
CTF簡介:
CTF(Capture The Flag)中文一般譯作奪旗賽,在網(wǎng)絡(luò)安全領(lǐng)域中指的是網(wǎng)絡(luò)安全技術(shù)人員之間進(jìn)行技術(shù)競技的一種比賽形式。
CTF起源于1996年DEFCON全球黑客大會,以代替之前黑客們通過互相發(fā)起真實(shí)攻擊進(jìn)行技術(shù)比拼的方式。
發(fā)展至今,已經(jīng)成為全球范圍網(wǎng)絡(luò)安全圈流行的競賽形式,2013年全球舉辦了超過五十場國際性CTF賽事。
而DEFCON作為CTF賽制的發(fā)源地,DEFCON CTF也成為了目前全球最高技術(shù)水平和影響力的CTF競賽,類似于CTF賽場中的“世界杯” 。
CTF靶場:CTF刷題,在校生備戰(zhàn)CTF比賽,信安入門、提升自己、豐富簡歷之必備(一場比賽打出好成績,可以讓你輕松進(jìn)大廠,
如近期的各種CTF杯),在職人員可以工作意外提升信安全技能。
滲透實(shí)戰(zhàn)靶場:挖洞、滲透實(shí)戰(zhàn)(web、域、橫向滲透),適合實(shí)戰(zhàn)能力需要大幅度提升的同學(xué)。
一、CTF入門
1.1、CTF常識
CTF(Capture The Flag,奪旗賽)起源于 1996 年 DEFCON 全球黑客大會,是網(wǎng)絡(luò)安全愛好者之間的競技游戲。
CTF 競賽涉及眾多領(lǐng)域,內(nèi)容繁雜。
CTF是一種流行的信息安全競賽形式,其英文名可直譯為“奪得Flag”,也可意譯為“奪旗賽”。
其大致流程是,參賽團(tuán)隊(duì)之間通過進(jìn)行攻防對抗、
程序分析等形式,率先從主辦方給出的比賽環(huán)境中得到一串具有一定格式的字符串或其他內(nèi)容,并將其提交給主辦方,從而奪得分?jǐn)?shù)。
為了方便稱呼,我們把這樣的內(nèi)容稱之為“Flag”。
CTF比賽知識范圍大致分為:
Web安全、PWN(二進(jìn)制安全)、Reverse(逆向破解)、Crypto(密碼學(xué)安全)、Forensics(數(shù)字取證)、Misc(雜項(xiàng))
Web安全
CTF中的Web題型,就是給定一個Web網(wǎng)站,選手要根據(jù)題目所提示的信息,找到網(wǎng)站上的flag字符串。
做題的方法類似于滲透測試,
但通常不會是一個完整的滲透測試,而是用到滲透測試中的某一個或某幾個環(huán)節(jié)。
可能涉及信息搜集、各類漏洞發(fā)現(xiàn)與利用、權(quán)限提升等等。
為了獲取flag,可能需要拿到管理員權(quán)限,數(shù)據(jù)庫權(quán)限,甚至獲取網(wǎng)站所在服務(wù)器的權(quán)限。
所需知識:
語言:PHP、Python、JavaScript…
數(shù)據(jù)庫:MySQL、MSSQL…
服務(wù)器:Apache、Nginx…
Web框架:ThinkPHP、Flask…
語言特性:弱類型、截斷…
函數(shù)特性:is_numeric、strcmp等;
PWN
PWN在安全領(lǐng)域中指的是通過二進(jìn)制/系統(tǒng)調(diào)用等方式獲得目標(biāo)主機(jī)的 shell。
CTF 中主要考察二進(jìn)制漏洞的發(fā)掘和利用,需要對計算機(jī)操作系統(tǒng)底層 有一定的了解。
在 CTF 競賽中,PWN 題目主要出現(xiàn)在 Linux 平臺上。
所需知識: C/C++編程語言基礎(chǔ)、編譯原理、匯編、反匯編、操作系統(tǒng)、加密與解密、堆棧原理、棧溢出、堆溢出…
Reverse
CTF之REVERSE題目涉及到軟件逆向、破解技術(shù)等,要求有較強(qiáng)的反匯編、反編譯扎實(shí)功底。
需要掌握匯編,堆棧、寄存器方面的知識。有好的邏輯思維能力。
主要考查參賽選手的逆向分析能力。
所需知識: 匯編、反匯編、堆棧、調(diào)試器、代碼分析、OllyDBG、IDA等
Crypto
CTF之CRYPTO部分題目考察各種加解密技術(shù),包括古典加密技術(shù)、現(xiàn)代加密技術(shù)甚至出題者自創(chuàng)加密技術(shù)。
所需知識: 數(shù)學(xué)知識、密碼編制、密碼破解、古典密碼、現(xiàn)代密碼、密碼分析;
Forensics
CTF之FORENSICS包括文件格式分析,隱寫術(shù),內(nèi)存轉(zhuǎn)儲分析或網(wǎng)絡(luò)數(shù)據(jù)包捕獲分析,
提取靜態(tài)數(shù)據(jù)文件中隱藏的信息的任何挑戰(zhàn)都可以歸為這一類
所需知識: 數(shù)據(jù)恢復(fù)、磁盤取證、內(nèi)存取證、流量分析、文件隱寫;
Misc
就是除上述之外的亂七八糟的網(wǎng)絡(luò)安全范圍內(nèi)的東西,英文全稱為 Miscellaneous,
意思是混雜的、各種各樣的。MISC 題通 常包括文件分析、圖像隱寫、數(shù)據(jù)搜索、內(nèi)存鏡像分析和流量分析等。
題型多樣,腦洞大,趣味性強(qiáng)是 MISC 題型的主要特點(diǎn)。
所需知識: 信息隱藏、文件格式、內(nèi)存鏡像、流量分析、數(shù)據(jù)分析、社會工程等;
1.2、CTF競賽模式
解題模式(Jeopardy)
在解題模式CTF賽制中,參賽隊(duì)伍可以通過互聯(lián)網(wǎng)或者現(xiàn)場網(wǎng)絡(luò)參與。
這種模式的CTF競賽與ACM編程競賽、信息學(xué)奧賽類似,
以解決網(wǎng)絡(luò)安全技術(shù)挑戰(zhàn)題目的分值和時間來排名,通常用于在線選拔賽,選手自由組隊(duì)(人數(shù)不受限制)。
題目主要包含六個類別:RE逆向工程、Pwn漏洞挖掘與利用、Web滲透、Crypto密碼學(xué)、Mobile移動安全和Misc安全雜項(xiàng)。
攻防模式(Attack-Defense)
在攻防模式CTF賽制中,參賽隊(duì)伍在網(wǎng)絡(luò)空間互相進(jìn)行攻擊和防守,
通過挖掘網(wǎng)絡(luò)服務(wù)漏洞并攻擊對手服務(wù)來得分,
通過修補(bǔ)自身服務(wù)洞進(jìn)行防御來避免丟分。
攻防模式通常為線下賽,參賽隊(duì)伍人數(shù)有限制(通常為3到5人不等),
可以實(shí)時通過得分反映出比賽情況,最終也以得分直接分出勝負(fù)。
這是一種競爭激烈、具有很強(qiáng)觀賞性和高度透明性的網(wǎng)絡(luò)安全賽制。
在這種賽制中,不僅僅是比參賽隊(duì)員的智力和技術(shù),也比體力(因?yàn)楸荣愐话愣紩掷m(xù)48小時及以上),同時也比團(tuán)隊(duì)之間的分工配合與合作。
混合模式(Mix)
結(jié)合了解題模式與攻防模式的CTF賽制,主辦方會根據(jù)比賽的時間、進(jìn)度等因素來釋放需解答的題目,題目的難度越大,解答完成后獲取的分?jǐn)?shù)越高。參賽隊(duì)伍通過解題獲取一些初始分?jǐn)?shù),然后通過攻防對抗進(jìn)行得分增減的零和游戲,最終以得分高低分出勝負(fù)。采用混合模式CTF賽制的典型代表如iCTF國際CTF競賽。
二、CTF賽事發(fā)布網(wǎng)站
i春秋: https://www.ichunqiu.com/competition
XCTF社區(qū):https://time.xctf.org.cn
CTFwiki(入門必看wiki): https://ctf-wiki.github.io/ctf-wiki/#/introduction
CTFrank: https://ctfrank.org/
CTFtime(基本都是國外的): https://ctftime.org
三、CTF在線靶場
1、BugkuCTF(經(jīng)典靶場,難度適中,適合入門刷題,題量大)
https://ctf.bugku.com/
2、北京聯(lián)合大學(xué)BUUCTF(新靶場,難度中上,搜集了很多大賽原題)
https://buuoj.cn/
3、CTFSHOW:(新靶場,題量大,很多大賽會從中抽原題)
https://ctf.show/challenges
4、XCTF攻防世界:
https://adworld.xctf.org.cn/task
上面4個靶場是我常去的,BugkuCTF很久以前就刷了一遍,
BUUCTF刷了有70%,CTFSHOW最近一直在刷,XCTF攻防世界以前有內(nèi)網(wǎng)滲透實(shí)驗(yàn),現(xiàn)在主要上去刷CTF。
5、實(shí)驗(yàn)吧:
http://www.shiyanbar.com(2017年刷過一遍,目前站一直更新)
**6、安恒周周練:**https://www.linkedbyx.com/home
7、XSS專練:https://xss.haozi.me/tools/xss-encode/
8、南京郵電大學(xué)CTF網(wǎng)絡(luò)攻防訓(xùn)練平臺: http://ctf.nuptzj.cn/
9、網(wǎng)絡(luò)信息安全實(shí)驗(yàn)平臺 http://hackinglab.cn/index.php
四、漏洞靶場
1. DVWA(必練):Web安全入門必刷的靶場,包含了最常見的web漏洞,界面簡單易用,
通過設(shè)置不同的難度,可更好地理解漏洞的原理及對應(yīng)的代碼防護(hù)
http://www.dvwa.co.uk
2. Sqli-Labs(必練):一個印度大神程序員寫的,用來學(xué)習(xí)sql注入的一個游戲教程,目前65關(guān),沖關(guān)過程中學(xué)注入。
https://github.com/Audi-1/sqli-labs
3. Upload-labs(必練):一個和sqli-labs類似的靶場平臺,專門學(xué)習(xí)文件上傳的,目前21關(guān)。
https://github.com/c0ny1/upload-labs
4. BWVS(老版本bugku的離線版):
https://github.com/bugku/BWVS
5. BWAPP:
https://sourceforge.net/projects/bwapp
6. WAVSEP:
https://github.com/sectooladdict/wavsep
7. VulnStack:
http://vulnstack.qiyuanxuetang.net/vuln
8. Webug 3.0:
https://pan.baidu.com/s/1eRIB3Se
9. Metasploitable:
https://github.com/rapid7/metasploitable3
10. DVWA-WooYun:
https://sourceforge.net/projects/dvwa-wooyun
11. OWASP Mutillidae:
https://sourceforge.net/projects/mutillidae
12. Web for Pentester:
https://www.pentesterlab.com/exercises/web_for_pentester
五、滲透實(shí)戰(zhàn)靶場
1、Vulhub: (各種漏洞環(huán)境集合,一鍵搭建漏洞測試靶場)
https://vulhub.org/(在線版)
https://github.com/vulhub/vulhub(離線版)
2、vulnhub:(國外實(shí)戰(zhàn)靶場,適合入門提高)
https://www.vulnhub.com/
3、vulnstack(紅隊(duì)實(shí)戰(zhàn)靶場,域、橫向滲透、多層網(wǎng)絡(luò),強(qiáng)烈推薦,目前共7個靶場,網(wǎng)上writeup齊全)
http://vulnstack.qiyuanxuetang.net/vuln/#
4、WebGoat(WEB漏洞測試和練習(xí))
https://github.com/WebGoat/WebGoat
5、Web For Pentester(web漏洞檢測技術(shù))
https://www.pentesterlab.com
6、VulApps(快速搭建各種漏洞環(huán)境與安全工具環(huán)境)
http://vulapps.evalbug.com/
7、bWAPP(集成了各種常見漏洞和最新漏洞的開源Web應(yīng)用程序)
http://www.itsecgames.com/
8、btslab(不同類型的Web應(yīng)用程序漏洞)
https://github.com/CSPF-Founder/btslab/
9、pikachu(一個好玩的Web安全-漏洞測試平臺)
https://github.com/zhuifengshaonianhanlu/pikachu
版權(quán)聲明:本文為博主程序員鬼鬼原創(chuàng)文章。
原文鏈接:https://blog.csdn.net/shanguicsdn111/article/details/142467668