摘要:為了讓理論知識更好地轉(zhuǎn)化為實踐,定期組織信息安全競賽是一種很好的實現(xiàn)方式,而競賽所需要的平臺可以自主進(jìn)行搭建。文章主要介紹了網(wǎng)絡(luò)攻防概念以及CTFd開源平臺,用于搭建競賽平臺以及給學(xué)生提供更好的展示自我的機(jī)會,幫助教師更好地推進(jìn)課程改革,提高學(xué)生的動手實踐能力。
關(guān)鍵詞:滲透測試;網(wǎng)絡(luò)攻防;CTFd
中圖分類號:TP311文獻(xiàn)標(biāo)志碼:A
0 引言
網(wǎng)絡(luò)攻防,也稱網(wǎng)絡(luò)對抗,是網(wǎng)絡(luò)攻擊與網(wǎng)絡(luò)防護(hù)的合稱。
網(wǎng)絡(luò)攻擊是指針對計算機(jī)信息系統(tǒng)、基礎(chǔ)設(shè)施、計算機(jī)網(wǎng)絡(luò)或個人計算機(jī)設(shè)備的,任何類型的進(jìn)攻動作。對于計算機(jī)和計算機(jī)網(wǎng)絡(luò)來說,破壞、揭露、修改、使軟件或服務(wù)失去功能、在沒有得到授權(quán)的情況下偷取或訪問任何計算機(jī)的數(shù)據(jù),都被視為對計算機(jī)和計算機(jī)網(wǎng)絡(luò)的攻擊。
網(wǎng)絡(luò)防護(hù)是一種網(wǎng)絡(luò)安全技術(shù),是致力于解決如何有效進(jìn)行介入控制以及如何保證數(shù)據(jù)傳輸安全性的技術(shù)手段,主要包括物理安全分析技術(shù)、網(wǎng)絡(luò)結(jié)構(gòu)安全分析技術(shù)、系統(tǒng)安全分析技術(shù)、管理安全分析技術(shù)及其他安全服務(wù)和安全機(jī)制策略[1]。
1 攻擊與防御
1.1 網(wǎng)絡(luò)攻擊類型
從攻擊形態(tài)上看,網(wǎng)絡(luò)攻擊主要分為兩大類:被動攻擊和主動攻擊。被動攻擊一般發(fā)生在攻擊者處于無線網(wǎng)絡(luò)范圍內(nèi)并可以監(jiān)視無線通信內(nèi)容時,最常見的被動攻擊是數(shù)據(jù)包嗅探。由于被動攻擊者只是監(jiān)聽網(wǎng)絡(luò)數(shù)據(jù),而不是傳輸數(shù)據(jù),因此被動攻擊通常檢測不到。被動攻擊是指一切竊密的攻擊,典型的攻擊方式是網(wǎng)絡(luò)竊聽和流量分析,通過截取數(shù)據(jù)包或流量分析,從中竊取重要的敏感信息,例如網(wǎng)絡(luò)竊聽。
主動攻擊是指攻擊者部署非法無線接入點,誘騙人們錯誤連接上去。由于主動攻擊可以攔截、監(jiān)視和改變通信內(nèi)容,常常用于執(zhí)行中間人攻擊等活動。主動攻擊涉及修改數(shù)據(jù)流或創(chuàng)建錯誤的數(shù)據(jù)流,包括假冒、重放、修改信息和拒絕服務(wù)等,例如拒絕服務(wù)攻擊。
1.2 網(wǎng)絡(luò)攻擊階段
1.2.1 準(zhǔn)備階段
確定攻擊目的、準(zhǔn)備攻擊工具、收集目標(biāo)信息以及收集和目標(biāo)相關(guān)的信息。比如:網(wǎng)絡(luò)信息(域名、網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)、IP)、系統(tǒng)信息(操作系統(tǒng)版本、開放的網(wǎng)絡(luò)服務(wù))、用戶信息(用戶標(biāo)識、郵件賬號、聯(lián)系方式等)。
1.2.2 實施階段
隱藏自己的位置、利用收集到的信息獲得賬號密碼登錄主機(jī),利用漏洞或者其他方法獲得主機(jī)的控制權(quán)并竊取網(wǎng)絡(luò)資源和特權(quán)。
1.2.3 善后階段
消除攻擊的痕跡、植入后門,退出安裝后門(木馬等)系統(tǒng)日志清除、應(yīng)用程序日志清除。
1.3 網(wǎng)絡(luò)防護(hù)措施
1.3.1 訪問控制
對用戶訪問網(wǎng)絡(luò)資源的權(quán)限進(jìn)行嚴(yán)格的認(rèn)證和控制。例如:用戶身份認(rèn)證;對口令加密、更新和鑒別;設(shè)置用戶訪問目錄和文件的權(quán)限;控制網(wǎng)絡(luò)設(shè)備配置的權(quán)限等。
1.3.2 數(shù)據(jù)加密防護(hù)
加密是防護(hù)數(shù)據(jù)安全的重要手段,其作用是保障信息被截獲后不能讀懂其含義。
1.3.3 網(wǎng)絡(luò)隔離防護(hù)
網(wǎng)絡(luò)隔離有兩種方式,一種是采用隔離卡來實現(xiàn),一種是采用網(wǎng)絡(luò)安全隔離網(wǎng)閘實現(xiàn)。
1.3.4 其他措施
其他措施包括信息過濾、容錯、數(shù)據(jù)鏡像、數(shù)據(jù)備份和審計等。
2 平臺概述
CTFd(Capture The Flag Director)是一個開源平臺,用于主持和管理CTF(Capture the Flag)競賽。
CTF競賽是網(wǎng)絡(luò)安全挑戰(zhàn),旨在測試參與者在各種類型的計算機(jī)系統(tǒng)和應(yīng)用程序中發(fā)現(xiàn)、利用和修補(bǔ)漏洞的能力。CTF活動在網(wǎng)絡(luò)安全和信息技術(shù)界很常見,參與者從專業(yè)人士到愛好者不等。CTFd被各類組織廣泛使用,包括大學(xué)、公司和網(wǎng)絡(luò)安全社區(qū)。通過CTF比賽,為團(tuán)隊提供一個參與挑戰(zhàn)和解決問題的平臺,讓參與者展示黑客技能并學(xué)習(xí)新技能。作為一個開源平臺,CTFd是免費使用的,可以很容易地進(jìn)行定制,滿足每次比賽的具體需求。
2.1 平臺特點
2.1.1 設(shè)計靈活,易于安裝
CTFd設(shè)計靈活,允許組織者定制挑戰(zhàn)和比賽以滿足特定的需求。該軟件易于安裝,可在多種平臺上使用,包括 Windows、Linux 和 MacOS。憑借其直觀的用戶界面,CTFd 使參與者可以輕松導(dǎo)航和參與挑戰(zhàn)。
2.1.2 實時跟蹤進(jìn)度,數(shù)據(jù)直觀展現(xiàn)
CTFd的另一個重要特性是能夠跟蹤和分析參與者的進(jìn)度。這可以通過各種指標(biāo)來實現(xiàn),例如完成時間、嘗試次數(shù)和成功率。此信息可用于識別表現(xiàn)最好的人、調(diào)整挑戰(zhàn)難度并向參與者提供反饋。
2.1.3 擁有強(qiáng)大評分系統(tǒng),安全功能廣泛專業(yè)
CTFd包括一個強(qiáng)大的評分系統(tǒng),可以根據(jù)活動的特定需求進(jìn)行定制。成功完成挑戰(zhàn)可獲得積分,快速完成挑戰(zhàn)或嘗試次數(shù)很少可獲得獎勵。該系統(tǒng)有助于營造競爭環(huán)境,鼓勵參與者發(fā)揮最佳表現(xiàn)。
總的來說,CTFd是一個強(qiáng)大而靈活的平臺,用于組織和開展CTF活動。其可定制的挑戰(zhàn)、強(qiáng)大的評分系統(tǒng)和全面的安全功能適合在很多環(huán)境中使用。憑借其活躍的社區(qū)和易于使用的界面,CTFd是任何組織或參與CTF活動的人的絕佳選擇。
2.1.4 管理便捷,資源豐富
通過CTFd-Whale,安全團(tuán)隊可以輕松地創(chuàng)建和管理比賽所需的各種資源和服務(wù),從而節(jié)省時間和人力成本。此外,CTFd-Whale支持多個Agent同時工作,可以在不同的地理位置和環(huán)境中運行。這使得安全團(tuán)隊可以更好地滿足比賽的需求,并快速部署和管理資源。
CTFd-Whale支持多種資源和服務(wù),如Web應(yīng)用程序、Docker容器、虛擬機(jī)和云實例等。這些資源和服務(wù)可以輕松地添加到CTFd-Whale中,并通過任務(wù)進(jìn)行自動化部署和管理。此外,CTFd-Whale還提供了一些常見的服務(wù)配置,如Web服務(wù)器、數(shù)據(jù)庫服務(wù)器和負(fù)載均衡器等,可以幫助安全團(tuán)隊快速部署和配置服務(wù)。
CTFd-Whale還支持多種自定義功能,如腳本任務(wù)和回調(diào)任務(wù)等。通過這些功能,安全團(tuán)隊可以根據(jù)比賽的需求編寫自定義腳本,實現(xiàn)更加復(fù)雜的任務(wù)。而且,CTFd-Whale支持自定義回調(diào)函數(shù),可以在任務(wù)完成后自動調(diào)用,從而實現(xiàn)自定義的操作,如發(fā)送通知或執(zhí)行其他操作。
總之,CTFd-Whale是一個功能強(qiáng)大的自動化部署工具,可以幫助安全團(tuán)隊快速部署和管理比賽所需的各種資源和服務(wù)。
2.2 平臺搭建流程
2.2.1 下載并安裝CTFd
可以從產(chǎn)品的官方網(wǎng)站或GitHub上下載最新版本的CTFd。下載后,按照安裝說明,在系統(tǒng)上設(shè)置該框架。
2.2.2 創(chuàng)建一個CTF
在安裝CTFd后,通過登錄管理面板選擇“新CTF”選項來創(chuàng)建一個新的CTF。系統(tǒng)會提示輸入CTF的基本信息,如:名稱、描述、開始和結(jié)束時間。
2.2.3 創(chuàng)建挑戰(zhàn)
一旦創(chuàng)建了一個CTF,就可以開始創(chuàng)建挑戰(zhàn)。挑戰(zhàn)是參與者必須解決的問題或難題,以獲得積分??梢詣?chuàng)建各種挑戰(zhàn),如:密碼學(xué)、逆向工程、網(wǎng)絡(luò)開發(fā)、法醫(yī)學(xué)等。
2.2.4 管理團(tuán)隊和參與者
在CTFd中,參與者可以創(chuàng)建團(tuán)隊來合作和解決挑戰(zhàn)。管理員可以管理團(tuán)隊和參與者,創(chuàng)建新團(tuán)隊,并邀請參與者加入CTF。
2.2.5 運行CTF
一旦設(shè)置了CTF并創(chuàng)建了挑戰(zhàn),可以在指定的開始時間啟動CTF。參與者可以通過網(wǎng)絡(luò)界面訪問CTF并開始解決挑戰(zhàn)。
2.2.6 評估結(jié)果
在CTF期間,可以監(jiān)控參與者的進(jìn)度和分?jǐn)?shù)。CTF結(jié)束后,可以評估結(jié)果并宣布獲勝者。
3 平臺搭建
3.1 安裝部署工具
3.1.1 準(zhǔn)備Docker
安裝系統(tǒng)工具并設(shè)置yum源,具體命令如下:
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
之后,安裝Docker,并啟動Docker:
yum install docker-ce
systemctl start docker
3.1.2 準(zhǔn)備docker-compose
安裝docker-compose并將docker-compose-Linux-x86_64上傳到/usr/local/bin/目錄下 并更名為docker-compose,設(shè)置docker-compose執(zhí)行權(quán)限:
chmod +x /usr/local/bin/docker-compose
3.1.3 準(zhǔn)備Nginx
安裝Nginx,并啟動Nginx[1]:
yum install nginx
nginx -c /etc/nginx/nginx.conf
3.2 環(huán)境配置
3.2.1 Docker集群設(shè)置
初始化docker swarm init,將初始化的集群加入節(jié)點中:
docker node update --label-add='name=linux-1' $(docker node ls -q)
將ctfd-whale插件放到CTFd的插件下面,在目錄ctfd下。
3.2.2 啟動Docker版本的frps及frps配置
在ctfd的目錄下進(jìn)入該目錄。
cd frp-docker-for-ctfd-whale/
進(jìn)入目錄,啟動Docker,初次下載界面可能不一樣,是因為會去拉下載內(nèi)容,但不影響。
3.2.3 啟動容器
在ctfd/CTFd目錄下執(zhí)行,具體如下:
docker-compose build
docker-compose up -d
此時,docker ps命令可看到ctfd-frpc-1容器未上線,接著用docker network inspect ctfd_frp查看,發(fā)現(xiàn)只有ctfd-ctfd-1容器在ctfd_frp網(wǎng)絡(luò)里,現(xiàn)在要把ctfd_frpc_1和frp-docker-for-ctfd-whale-frps-1容器加入網(wǎng)絡(luò)。
docker network connect --ip 172.1.0.3 ctfd_frp ctfd_frpc_1
docker network connect --ip 172.1.0.4 ctfd_frp frp-docker-for-ctfd-whale-frps-1
之后需要重啟容器,具體命令如下:
docker restart ctfd_frpc_1 frp-docker-for-ctfd-whale-frps-1
重啟后接著用Docker network inspect ctfd_frp再次查看,此時3個容器都在ctfd_frp網(wǎng)絡(luò)內(nèi),再用docker ps查看容器狀況,各個容器都正常運行。
啟動完畢,打開 http://ip:8000 安裝 CTFd。
進(jìn)入系統(tǒng)后臺設(shè)置,打開插件設(shè)置頁面[2]。
3.2.4 啟動題目鏡像
添加第一題,添加題目注意事項:
(1)Docker Image。寫鏡像名稱。
(2)Frp Redietct Type。寫鏡像里面的指定端口號。
初次加載會很慢,因為需要去倉庫拉代碼,可以通過docker images 看到歷史題目。第一次加載時,查看容器狀態(tài),如果啟動了,在系統(tǒng)里銷毀靶機(jī),等容器結(jié)束之后再重新啟動,如此再訪問,大部分環(huán)境都是可以的,搭建完成。
4 結(jié)語
隨著全球信息化程度的不斷加深,網(wǎng)絡(luò)已經(jīng)融入有關(guān)國家安全的各個領(lǐng)域。無論是傳統(tǒng)交通生產(chǎn)領(lǐng)域的平穩(wěn)運行,還是高端金融軍工層面的持續(xù)穩(wěn)定,都離不開以網(wǎng)絡(luò)安全為基礎(chǔ)的支撐。
在數(shù)字時代,網(wǎng)絡(luò)攻擊已成為一種越來越常見的現(xiàn)象,日趨復(fù)雜和頻繁的同時也可能對個人、企業(yè)甚至政府造成重大損害,針對關(guān)鍵基礎(chǔ)設(shè)施的網(wǎng)絡(luò)攻擊也越來越多。網(wǎng)絡(luò)攻擊是黑客故意利用計算機(jī)系統(tǒng)、網(wǎng)絡(luò)或應(yīng)用程序的弱點,以獲得未經(jīng)授權(quán)的訪問或造成損害。這些攻擊的范圍從簡單的數(shù)據(jù)泄露到全面的網(wǎng)絡(luò)入侵,他們所造成的損害可能是嚴(yán)重的。
面對這些問題,開發(fā)者開發(fā)有效的網(wǎng)絡(luò)攻擊和防御平臺保護(hù)網(wǎng)絡(luò)和數(shù)據(jù)也變得越來越重要。作為信息安全專業(yè)的學(xué)習(xí)者和從業(yè)者,要嚴(yán)格遵守網(wǎng)絡(luò)安全法的規(guī)定,具備良好的法律法規(guī)意識、行業(yè)道德規(guī)范以及職業(yè)素養(yǎng),樹立正確的人生觀、價值觀、世界觀以及崇高的思想品德和高尚的愛國主義情懷[3]。
本文是基于CTFd-whale的配置,對其重要部分做了詳細(xì)敘述。CTFd的主要功能之一是能夠創(chuàng)建自定義挑戰(zhàn)。這些問題的范圍可以從需要基本密碼學(xué)技能的簡單問題到需要高級編程知識的更復(fù)雜的挑戰(zhàn),用于學(xué)生專業(yè)實踐練習(xí)以及提升學(xué)生專業(yè)技能。
參考文獻(xiàn)
[1]畢曉東.網(wǎng)絡(luò)安全虛擬仿真靶場設(shè)計與實現(xiàn)[J].計算機(jī)時代,2022(10):29-32.
[2]冷濤,王衡.Docker網(wǎng)絡(luò)靶場平臺的設(shè)計與構(gòu)建——對標(biāo)警務(wù)實戰(zhàn)化大練兵[J].四川警察學(xué)院學(xué)報,2021(3):41-46.
[3]趙靜.基于網(wǎng)絡(luò)安全平臺的SQL注入技術(shù)研究[J].無線互聯(lián)科技,2022(3):81-82.
Construction of network attack and defense competition platform
ZhaoJing, TangRongxiu
(Tianjin Polytechnical College, Tianjin 300400, China)
Abstract:In order to better transform theoretical knowledge into practice, it is a good way to organize information security contests on a regular basis, and the platforms needed for contests can be built independently. This article mainly introduces the concept of network attack and defense and the CTFd open source platform, which are used to build contest platforms and provide students with better opportunities to show themselves, help teachers better promote curriculum reform and improve students’ hands-on practical abilities.
Key words: penetration test; network attack and defense; CTFd