1. 程式人生 > >CTF奪旗賽經驗總結及落地實踐

CTF奪旗賽經驗總結及落地實踐

中國是科技人才資源最多的國家之一,但也是人才流失比較嚴重的國家。世界各國已經把加強人才建設作為搶佔網路空間制高點的戰略舉措。在此背景下,國內外各類CTF比賽越來越多,那麼怎樣一方面才能準備好比賽,另一方面又怎樣才能組織好比賽,小編請兩位專家來聊聊。


什麼是CTF奪旗賽

Capture The Flag(簡稱CTF),翻譯為“奪旗比賽”,起源於1996年舉辦的DEF CON全球黑客大會,最早是交流安全技術的重要途徑,發展至今已有21年的歷史,是目前全球最高技術水平和影響力的CTF競賽,類似於CTF賽場中的“世界盃” 。 隨著安全攻防技術的發展,CTF比賽也逐漸演變成為資訊保安技術競賽的一種形式,發展成為全球網路安全圈最流行的一種競賽模式,其比賽形式與內容擁有濃厚的黑客精神和黑客文化。 近年來,CTF比賽的數量與規模發展迅猛,國內外各類高質量的CTF競賽層出不窮,CTF已經成為了學習提升資訊保安技術,展現安全能力和水平的絕佳平臺。

CTF基礎知識

語言運用 :計算機語言可以大致分為機器語言,組合語言,高階語言,計算機每進行的一次動作,一個步驟,都是按照計算機語言編好的程式來執行。而在CTF比賽中,計算機語言的瞭解與掌握會有事半功倍的效果,程序的動態除錯、防護指令碼的編寫、原始碼審計等工作都是建立在對計算機語言有所掌握的基礎上進行的。 Web安全 :目前國內大多數CTF比賽都以Web安全為主,但是Web安全涉及的內容非常廣泛,就典型的Web服務來說,其安全問題可能來自於Web伺服器、資料庫、Web程式本身與開發語言等。瞭解一個Web應用的組成架構、裝載與配置、指令操作及元件缺陷,是參賽者知識儲備環節中不可或缺的部分。 安全加固 :安全領域的精髓在於攻防,在CTF比賽也是同樣的道理,比賽成績不僅取決於在有效的時間內拿下多少flag,還取決於能抵禦多少次外來攻擊。有一些比賽隊伍不注重或者不善於漏洞加固,即使得到很多分數,但是優勢還是會被慢慢的蠶食掉。所以,瞭解漏洞的產生原因、減小漏洞的影響範圍以及行之有效的安全加固也是一個成功隊伍的重要能力。 密碼演算法 
:參賽者需要了解主流的密碼演算法,如對稱密碼、公鑰密碼、流密碼、雜湊密碼演算法等。在不斷的攻防對抗中,一些關鍵資訊或者突破口,往往會通過演算法的加解密將它們“隱藏”起來增加解題難度。此外還會伴隨著弱口令嘗試,密碼字典的暴力猜解等。 網路取證 :對於網路攻擊行為的溯源分析、漏洞挖掘過程中的抓包分析往往是很多參賽隊伍在攻防對抗中忽略的問題,能夠在最短的時間內抓到線索並做出行之有效的響應,這方面的能力也就成為了高手和頂尖高手之間的分水嶺,古人常說:“天下大事,必作於細;天下難事,必成於易”,我想應該就是這個道理。

CTF比賽模式

解題模式 :大多數為線上比賽,選手自由組隊(人數不受限制),出題者把一些資訊保安實戰中可能遇到的問題抽象成一個題目,比如一個存在漏洞的網站讓選手入侵,一個有漏洞的程式讓選手分析來寫出漏洞利用程式,一段密文讓選手解密,一個圖片選手你從裡面找出隱藏的線索等等。在完成這些出題的題目後,可以獲得一串奇怪的字串,也就是所謂的flag,提交它,就能獲得這道題目的分數。 攻防模式 
:大多數為線下比賽,參賽隊伍人數有限制(通常為3到5人不等),參賽隊伍保護自己的伺服器,攻擊其他隊伍的伺服器,每個隊伍的伺服器開始擁有相同的配置和缺陷,比如幾個有漏洞的二進位制程式、有漏洞的Web應用、某些許可權賬戶弱口令等等,然後隊員需要找出這些漏洞並進行加固,同時利用這些漏洞來攻擊別人的伺服器,拿到其他隊伍的許可權後,會獲取到相應flag後提交,從對方身上賺取相應的分數,每隔一段時間後,可以再次攻擊並利用未加固的漏洞獲取flag並賺取分數。 混合模式 :解題模式和攻防模式同時進行,解題模式可能會根據比賽的時間、進度等因素來釋放需解答的題目,題目的難度越大,解答完成後獲取的分數越高;攻防模式會貫穿整個CTF比賽的始終,參賽隊伍需不斷積累分數,最終引數隊伍的名次由兩種模式累積的分數總和決定。有些有趣的CTF比賽,還會引入一些情景劇情和現場觀眾的互動,來增加比賽的趣味性。

CTF比賽經驗

交流聆聽 :CTF比賽通常強度都很大,少則幾小時多則好幾天,即使是特別要好的隊友,也難免會有意見與思路不統一的時候,這個時候與隊友的交流和聆聽則顯得尤為重要。一句溫馨的關懷,一個會心的微笑甚至一個肯定的眼神都會讓你的隊友倍感溫暖,正面的交流與聆聽會鼓勵大家共同前進,克服困難。 學習能力 :CTF比賽中的題目與攻防手段往往沒有特定的規律,因此更看重人臨場的快速學習以及把理論付諸實踐的能力,而並非大量的知識儲備。一定的知識量儲備肯定是必要的,但並不能期望完全依靠知識儲備來獲得勝利。 合作分工 :CTF的成績主要還是看團隊的綜合實習。就如學生時代的中考高考一樣,考核的總分成績,往往各個科目都比較好的人才能獲得比較高的成績。如果隊伍成員都是隻擅長Web安全,其他領域涉及很少,就算研究Web安全研究的再精通也取得不了好名次,一個團隊中既要有攻城拔寨的急先鋒,也同樣需要留守加固的中流砥柱,需要儘可能的面面俱到。 總結分享 :通常專業的CTF隊伍人員會比較穩定,如果想通過比賽的歷練成為頂尖隊伍,除了上述幾點外,比賽過後以及日常的分享總結也是非常重要的。無論取得怎樣的成績,相信每一個隊員心裡都會有困惑或者看法,那麼賽後隊員坐在一起進行討論、分析、總結不僅可以拉近隊員間的感情,提升團隊凝聚力,還可以收穫更多的經驗與心得。

CTF攻防平臺

Facebook CTF平臺

Facebook的CTF平臺是一套開源比賽平臺,包括遊戲地圖、團隊登記和評分系統。還可以按需提供逆向工程逆向工程、Web應用安全、取證、二進位制開發和加密等挑戰。使用者還可以使用Facebook CTF平臺定製或自定義挑戰專案。 e436bdf10bfdf1adfe66e22a434d60a0.png 挑戰分為以下兩類:電腦保安方面的小問題,以及漏洞利用和黑客方面的標記問題。標記挑戰要求參與者完成一項諸如轉儲資料庫、獲取系統外殼或操縱應用程式等任務。
“通過CTF平臺,你可以學習到常規電腦科學專案中學習不到的技巧。此外,這個平臺還幫助你進入安全行業。”Facbook威脅基礎設施團隊的軟體工程師Gulshan Singh說。“在開始找全職工作時,我發現安全職位的面試很像CTF挑戰,有了後者的經驗,我可以更好地展示技能。第一天入職我就讓人感覺非同凡響。”

怎麼使用FBCTF

可以組織一場比賽,最少2個人,最多數百人。參賽者可以在本地或者線上,或者兩種形式均可。按照安裝說明來設定平臺基礎架構,輸入challenges進入管理介面。 參賽者可以註冊為戰隊,如果是一場封閉的比賽,那麼在管理頁面,生成並匯出令牌,然後分享給核準的團隊,然後引導參賽者到註冊頁。如果是一場開放的比賽,那麼直接引導參賽者到註冊頁面即可。

Facebook CTF原始碼下載

CTF平臺可以搭建在執行Ubuntu作業系統的系統(物理機或虛擬機器)上。Facebook已提供了關於如何安裝和使用平臺的說明。下載地址在這裡:https://github.com/facebook/fbctf/ 07cb407cbe43f1aacbc82f98fb46b283.png

綠盟科技CTF平臺

綠盟科技資訊保安攻防實訓與競技產品,包括綠盟科技資訊保安實訓平臺和綠盟科技資訊保安競技平臺,如下圖所示: aa1f93988140d6cdf179099d85b77636.png 整體框架如上圖所示,產品特性說明如下:
  • 整體方案採用B/S架構對外提供新安全課件培訓、實驗訓練和攻防保障服務。使用人員可以結合自身情況,靈活選取遠端線上和線下面對面的實時教學形式。
  • 兩個平臺可以支援進行課件培訓、實驗訓練和攻防保障三大功能。課件培訓主要以課件宣講為主,實現資訊保安知識的直接傳遞;實驗訓練以安全攻防模擬操作實驗為主,使得被培訓物件對安全技術的建立直觀印象;攻防保則主要為被培訓物件提供攻防的虛擬環境,實際檢驗被培訓物件的安全水平。
  • IT支撐基礎資源主要包括安作業系統、資料庫、中介軟體、網路裝置和安全裝置等,通過與虛擬技術相結合,用以保障上層的實訓場景和競技場景。

綠盟資訊保安實訓系統

ISTS -Information Security Trainning System,為資訊保安培訓、教學及科研提供一個完整的、一體化的實驗教學環境。打造全方位的專業資訊保安實驗室。主要建設內容包括以下內容:
  • 通過各種形式的資訊保安意識教育實踐、培訓及宣傳,使得資訊保安意識融入到生活工作中,變成一種常態化的工作。
  • 以理論學習為基礎,結合最全面最專業的實訓,增加被培訓物件對資訊保安諸多領域的深入理解。提供多個方面的實驗、實訓及工程實踐,涵蓋多層次的實驗操作,以真實環境的真實案例為操作指南,貼近實際崗位能力要求,提供完整的實驗教學環境。
5b2e33dd697b0b54e0365212880c409a.png

圖1.1 資訊保安實訓平臺功能框架圖

由於資訊保安屬於交叉學科,其中包括:網路安全、系統安全、資料安全等等,資訊保安實訓平臺內建800個資訊保安實訓課程,全面覆蓋資訊保安各個領域的實訓內容。 10a8ab783cb874ae9b25423f889cddee.png

圖1.2 資訊保安實訓平臺選課介面

綠盟資訊保安競技系統

ISCS -Information Security Competition System是圍繞資訊保安理論和知識,組建的資訊保安對抗技能實戰賽。也可以承載資訊保安對抗攻防演練專案,考察攻防演練者網路安全理論知識與實際問題處理能力,旨在藉助攻防演練培養一批具備資訊保安素養的優秀實戰專業的安全人員。安全攻防競賽平的攻防競賽模式可以分為單兵作戰挑戰賽、綜合靶場及網路混戰三種形式。 f27105d530c9f6f7bb939d1159027b43.png

圖1.3 資訊保安攻防競技平臺功能模組圖

個人挑戰模式 個人挑戰模式每個賽題(關卡)是一個單獨的靶場,並提供了七大類賽題,WEB、密碼學、隱寫、溢位、逆向、程式設計、綜合,全面考察參賽選手的安全能力,題目由易到難。 a303dc291106e8a5b97dfef3af3e403d.png

圖1.4 資訊保安攻防競技平臺個人挑戰功能介面

b0fa165889384766090cc3437ea21196.png

圖1.5 資訊保安攻防競技平臺個人挑戰態勢展示圖

網路混戰模式 網路混戰模式是多人或者多組互相進行攻擊的模式,不僅要加固自己的伺服器防止被對手攻陷,同時要儘可能多的攻擊對手的伺服器以取得更多的得分。 3aff56836a7ea552c0d1c4ac21e01266.png

圖1.6 資訊保安攻防競技平臺網路混戰態勢展示

綜合靶場模式 綜合靶場貼近行業使用者業務系統,整個綜合靶場由多臺漏洞靶機,多層網路架構組成。使用者可以有多個攻防入口多種攻防路徑選擇,讓參賽選手在大型真實的行業業務系統中進行挑戰,難度較高。 57efe98a775f5fe5735cc5e6564dacf1.png

圖1.7 資訊保安攻防競技平臺網路靶場勢展示

資訊保安人才培養,我們在行動

我們認為針對資訊保安人才的培養,需要有一套全面而有效的方案。經過多年行業比賽經驗積累,綠盟科技推出資訊保安人才培養解決方案,本方案由資訊保安實訓平臺NSFOCUS-ISTS與資訊保安競技平臺NSFOCUS-ISCS組成,通過資訊保安實訓平臺建設資訊保安人才培養體系,實現網路安全意識培養,實現資訊保安實操學習環境。通過資訊保安攻防競技平臺進行模擬業務系統安全實踐,提高使用者資訊保安實操能力。同時,通過舉辦安全技能大賽可進行資訊保安能力的檢驗和資訊保安人才的選拔。 資訊保安人才培養解決方案已經實際應用到各個行業的多次比賽中,在政府行業支援了2016年湖北網路安全技術競賽,在教育行業支援了全國大學生電子設計競賽、北理工ISCC大賽,在交通運輸行業支援了第二屆長航局網路與資訊保安培訓演練,在運營商行業支援了電信系統資訊保安大比武、2015-2016年兩屆雲南省網際網路攻防大賽,在金融行業支援了雲南銀行業首屆網路攻防大賽、遼寧省銀行業首屆網路安全攻防競賽,在能源行業支援了國家電網資訊保安人才選拔賽等等。 資訊保安是國家資訊化健康發展的基礎,是國家安全的重要組成部分,也是一項涉及面廣、滲透性強的系統工程,必須培養社會公民的資訊保安意識和引導公民參與。國家資訊保安的競爭,歸根到底是資訊保安人才的競爭,再先進的技術、裝置也還需要人來掌控,所以人才是資訊保安的關鍵!  

檢視原文:http://blog.nsfocus.net/capture-the-flag/

相關推薦

CTF經驗總結落地實踐

中國是科技人才資源最多的國家之一,但也是人才流失比較嚴重的國家。世界各國已經把加強人才建設作為搶佔網路空間制高點的戰略舉措。在此背景下,國內外各類CTF比賽越來越多,那麼怎樣一方面才能準備好比賽,另一方面又怎樣才能組織好比賽,小編請兩位專家來聊聊。 什麼是CTF奪旗賽 C

CTF培訓——Web應用安全

培訓公司:安全狗 - 廈門服雲資訊科技有限公司 常見Web漏洞簡介 SQL注入 跨站指令碼漏洞 檔案包含/讀取 任意程式碼執行 任意命令執行 任意檔案上傳 PS:演示環境dvwa SQL注入 SQL注入是什麼 SQL注入就是通過把

CTF(資訊保安)學習網址

針對CTF怎麼訓練 1.學習網址:實驗吧 該網站實操課程比較全,實驗和CTF題庫都可以免費學 2.線上練習平臺:還是實驗吧 實驗吧的決鬥場,題庫全更新快,基本每題都有WriteUP(ctf中的解題思路),免費練習的好地方。 3.工具站:CTFt

c/c++程式設計經驗總結VS2013使用注意事項

1、fatal error LNK1112: 模組計算機型別“X86”與目標計算機型別“x64”衝突 可能的解決方案:專案名右鍵,點選清理。 2、windows下檢視exe和dll依賴及版本位數 解決方案:在vs安裝目錄下,我的路徑為為D:\vs2013\Common7\Tools\Shor

CTF線下AWD總結

AWD 記錄一下自己最近參加的線下攻防比賽,沒時間學習了,就準備了幾天,果然不出意外的被安全專業的大佬打得很慘。 缺點是不會攻擊,我和我隊友兩個人就只有防,AWD防了400分,綜合滲透拿了200分。 感覺自己的知識欠差很多,程式碼審計能力弱,寫指令碼能力弱,

html網頁設計細節總結實踐經驗總結

text 文件路徑 -1 div 提醒 進制的轉換 改換 slice 對話 1) <link rel=” ” type=”text/css” href=”__.css”>是空元素,僅包含屬性。用來定義文檔與外部資源的關系,常用於鏈接樣式表

基於Metronic的Bootstrap開發框架經驗總結(18)-- 在代碼生成工具Database2Sharp中集成對Bootstrap-table插件的分頁排序支持

關註 基礎 表頭 數據 database 一定的 處理 tree的使用 適合 在我們開發系統界面,包括Web和Winform的都一樣,主要的界面就是列表展示主界面,編輯查看界面,以及一些輔助性的如導入界面,選擇界面等,其中列表展示主界面是綜合性的數據展示界面,一般往往需要對

RabbitMQ 高可用集群搭建電商平臺使用經驗總結

喜歡 inf 分布式 一個 ipo 匹配模式 ide 總結 hosts配置 面向EDA(事件驅動架構)的方式來設計你的消息 AMQP routing key的設計 RabbitMQ cluster搭建 Mirror queue policy設置 兩個不錯的RabbitMQ

CTF雜項】常見檔案檔案標頭檔案尾格式總結各類檔案頭

檔案標頭檔案尾總結 JPEG (jpg),   檔案頭:FFD8FF                        檔案尾:FF D9PNG (png),    檔案頭:89504E47                      檔案尾:AE 42 60 82GIF (gif),   檔案頭:4749463

CTF雜項】常見文件文件頭文件尾格式總結各類文件頭

頭文件 apr bz2 machine eml design hive map pdf 文件頭文件尾總結 JPEG (jpg),   文件頭:FFD8FF                        文件尾:FF D9PNG (png),    文件頭:89504E47

vue元件通訊--注意事項經驗總結

元件間的通訊是是實際開發中非常常用的一環,如何使用對專案整體設計、開發、規範都有很實際的的作用,我在專案開發中對此深有體會,總結下vue元件間通訊的幾種方式,討論下各自的使用場景 文章對相關場景預覽 父->子元件間的資料傳遞 子->父元件間的資料傳遞

DWR框架的初次使用經驗總結

DWR的宣傳語是 “ Easy Ajax For Java”。 需求是這樣的--後端定時接受伺服器傳送過來的資訊。並把資訊每隔五秒推送一次到前端實現頁面區域性重新整理功能! AJAX可是實現前端非同步傳送請求到後端,拿取資料,並實現頁面區域性重新整理的功能! Ajax有一個很大的缺陷就是

關於以太坊智慧合約在專案實戰過程中的設計經驗總結(1)

此文已由作者蘇州授權網易雲社群釋出。 歡迎訪問網易雲社群,瞭解更多網易技術產品運營經驗 1.智慧合約的概述 近幾年,區塊鏈概念的大風吹遍了全球各地,有的人覺得這是一個大風口,有的人覺得他是個泡沫。眾所周知,比特幣是區塊鏈1.0,而以太坊被稱為了區塊鏈2.0,而區塊鏈1.0和2.0最主要的差別就在於以太坊擁有

關於以太坊智慧合約在專案實戰過程中的設計經驗總結(2)

此文已由作者蘇州授權網易雲社群釋出。 歡迎訪問網易雲社群,瞭解更多網易技術產品運營經驗 7.智慧合約經驗分享 1)智慧合約開發的工具的問題 古人云“工欲善其事必先利其器”,同意良好的智慧合約的開發工具對智慧合約的開發效率有極大的提升。以下是一些比較好的智慧合約的開發組合: &nb

畢業6個月,找工作經驗分享未來規劃總結

Hi, I graduated from an ordinary 211 university and chose to major in computer unexpectedly. However, I am a very studious student, althoug

人工智慧平臺的架構調優經驗總結

資料分析過程:問題抽象-》資料域定義-》資料處理-》資料整合-》資料加工-》資料集(用於資料分析的集合) 離線分析:歷史資料 實時分析:執行資料 調優方案: •問題抽象:分類、聚類、推薦、關聯規則 •特徵獲取:預處理 •特徵選擇-》專業知識(知識庫)+演算法(邏輯迴

2018花金融產品技術支援和開發面試相關總結個人感受

       網上有關花旗相關面試的博文不多,特此總結了技術支援和開發的面試一些問題(本人是技術支援,開發的面試問題是另一位小姐姐提供的),問題難度差不多,技術支援對英語要求更高些(終面全程英語面試),供後續校招的同學們參考。        花旗金融可以發簡歷到[email

分散式系統中的日誌落地經驗總結

在過去的2年多的時間裡,隨著在公司推進容器雲,陸陸續續的和日誌打了不少交道,在這裡做一個總結: 為什麼需要日誌 日誌如何接收與儲存 日誌如何收集 日誌收集客戶端分析 日誌的標準化 日誌報警 日誌歸檔 其他問題 為什麼需要日誌 日誌的作用我覺得有三點: 故障

2016第七屆藍橋杯國決賽c/c++本科B組試題總結解題答案

未完待更新........ 1.一步之遙 從昏迷中醒來,小明發現自己被關在X星球的廢礦車裡。 礦車停在平直的廢棄的軌道上。 他的面前是兩個按鈕,分別寫著“F”和“B”。 小明突然記起來,這

2015第六屆藍橋杯國決賽c/c++本科B組試題總結解題答案

1. 積分之迷 小明開了個網上商店,賣風鈴。共有3個品牌:A,B,C。 為了促銷,每件商品都會返固定的積分。 小明開業第一天收到了三筆訂單:  第一筆:3個A + 7個B + 1個C,共返積分:315  第二筆:4個A + 10個B + 1個C,共返積分:420