天天看點

AWD簡單介紹和搭建AWD平台AWD簡單介紹和搭建AWD平台

AWD簡單介紹和搭建AWD平台

何為AWD

比賽中每個隊伍維護多台伺服器,伺服器中存在多個漏洞,利用漏洞攻擊其他隊伍可以進行得分,修複漏洞可以避免被其他隊伍攻擊失分。

1、一般配置設定Web伺服器,伺服器(多數為Linux)某處存在flag(一般在根目錄下)

2、可能會提供一台流量分析虛拟機,可以下載下傳流量檔案進行資料分析

3、flag在主辦方的設定下每隔一定實踐重新整理一輪

4、各隊一般都有自己的初始分數

5、flag一旦被其他隊伍拿走,該隊扣除一定積分

6、扣除的積分由擷取flag的隊伍均分

7、主辦方會對每個隊伍的服務進行check,伺服器當機扣除本輪flag分數,扣除的分值由服務check正常的隊伍均分

8、一般每個隊伍會給一個低權限使用者,非root權限

AWD 常見比賽規則說明

Attack With Defence,簡而言之就是你既是一個hacker,又是一個manager。

比賽形式:一般就是一個ssh對應一個web服務,然後flag五分鐘一輪,各隊一般都有自己的初始分數,flag被拿會被拿走flag的隊伍均分,主辦方會對每個隊伍的服務進行check,check不過就扣分,扣除的分值由服務check正常的隊伍均分。

其中一半比賽以WEB居多,可能會涉及内網安全,攻擊和防禦大部分為前期教育訓練内容。

前期準備

1、隊伍分工明确

2、腳本工具環境完整

3、漏洞POC/EXP庫完整

4、安全防禦WAF及批量腳本完整

必備操作

1、備份網站檔案

2、修改資料庫預設密碼

3、修改網頁登陸端一切弱密碼

4、檢視是否留有後門賬戶

5、關閉不必要端口,如遠端登陸端口

6、使用指令比對一句話特性

7、關注是否運作了“特殊”程序

8、權限高可以設定防火牆或者禁止他人修改本目錄

搭建AWD平台

1、更換源

這裡我使用的是kali進行搭建,将kali的源換成阿裡雲或者清華的源即可,這裡不多介紹

參考文章:https://blog.csdn.net/lina_999/article/details/90635959?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163437049816780265461094%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=163437049816780265461094&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-1-90635959.pc_search_result_cache&utm_term=kali%E6%9B%B4%E6%8D%A2%E6%BA%90&spm=1018.2226.3001.4187
           

2、安裝docker環境

kali這裡是自帶docker環境的,就不需要再去安裝了

3、下載下傳賽題項目

git clone https://github.com/zhl2008/awd-platform
           
AWD簡單介紹和搭建AWD平台AWD簡單介紹和搭建AWD平台

這裡可能需要一個小時以上才能下完,項目比較大

4、下載下傳完後進入項目

cd awd-platform
           
AWD簡單介紹和搭建AWD平台AWD簡單介紹和搭建AWD平台

5、下載下傳鏡像檔案

sudo docker pull zhl2008/web_14.04
           
AWD簡單介紹和搭建AWD平台AWD簡單介紹和搭建AWD平台

這裡下載下傳如果過慢就需要去替換一下docker源

6、更改鏡像名稱

sudo docker tag zhl2008/web_14.04 web_14.04
           
AWD簡單介紹和搭建AWD平台AWD簡單介紹和搭建AWD平台

啟動比賽

1、進入awd項目

cd awd-platform
           

2、建立隊伍

AWD簡單介紹和搭建AWD平台AWD簡單介紹和搭建AWD平台

這裡建立了3個隊伍,賽題是web_yunnan_simple

3、根據賽題修改check.py(awd-platform/check_server/目錄下)檔案,找到check類

class check():
    def __init__(self):
        print "checking host: "+host

    def index_check(self):
        res = http('get',host,port,'/','',headers)
        if 'Home' in res:
            return True
        if debug:
            print "[fail!] index_fail"
        return False


    def test_check(self):
        res = http('get',host,port,'/about.php?file=header.php','',headers)
        if 'About' in res:
            return True
        if debug:
            print "[fail!] test_fail"
        return False


    def test_check_2(self):
        headers['Cookie'] = ''
        data = 'key=1'
        res = http('get',host,port,'/services.php',data,headers)
        if 'Services' in res:
            return True
        if debug:
            print "[fail!] test_2_fail"
        return False
           

4、修改flag重新整理時間,同樣是check.py檔案中,預設120s,2分鐘

AWD簡單介紹和搭建AWD平台AWD簡單介紹和搭建AWD平台

5、建立好隊伍後就可以開始比賽了,輸入指令啟動比賽

AWD簡單介紹和搭建AWD平台AWD簡單介紹和搭建AWD平台

6、比賽拓撲圖

AWD簡單介紹和搭建AWD平台AWD簡單介紹和搭建AWD平台

web站點

team1:192.168.109.128:8801

team2:192.168.109.128:8802

team3:192.168.109.128:8803

ssh連接配接

team1:192.168.109.128:2201

team2:192.168.109.128:2202

team3:192.168.109.128:2203

ssh連接配接的賬号密碼在項目下的

pass.txt

裡面

AWD簡單介紹和搭建AWD平台AWD簡單介紹和搭建AWD平台

7、通路web站點

team1web站點

AWD簡單介紹和搭建AWD平台AWD簡單介紹和搭建AWD平台

其他隊伍的web站點與team1隊伍完成一緻,隻是端口不同而已

得分

運作修改後的check.py檔案,啟動check伺服器

AWD簡單介紹和搭建AWD平台AWD簡單介紹和搭建AWD平台

在這裡可以看到實時分數

AWD簡單介紹和搭建AWD平台AWD簡單介紹和搭建AWD平台

如果覺得這個頁面太醜的話,可以自己換個頁面,我這裡用的夜莫離大佬做的頁面

AWD簡單介紹和搭建AWD平台AWD簡單介紹和搭建AWD平台

計分闆源碼下載下傳

連結:https://pan.baidu.com/s/1xF9uZpKUZTZt_OOfpoOrOw 
提取碼:qwer
           

計分闆檔案拷貝至awd-platform下的flag_server檔案夾下。要注意将檔案score.txt與result.txt檔案權限調至777,這樣才能重新整理出分值。

記分闆裡面的

index.php

檔案需要将IP換成自己虛拟機的IP

AWD簡單介紹和搭建AWD平台AWD簡單介紹和搭建AWD平台

模拟team1攻擊team2得分

通路team2web網站

AWD簡單介紹和搭建AWD平台AWD簡單介紹和搭建AWD平台

下載下傳發現一個代碼執行漏洞

檢視根目錄下的檔案

ls /
           
AWD簡單介紹和搭建AWD平台AWD簡單介紹和搭建AWD平台

發現flag,檢視flag内容

cat /flag
           
AWD簡單介紹和搭建AWD平台AWD簡單介紹和搭建AWD平台

送出flag為自己的隊伍加分

加分的方法是通路一個為位址并且以get的形式上交flag

http://主機IP位址:8080/flag_file.php?token=teamx&flag=xxxx (x為隊伍号)

AWD簡單介紹和搭建AWD平台AWD簡單介紹和搭建AWD平台
AWD簡單介紹和搭建AWD平台AWD簡單介紹和搭建AWD平台

可以看到team1加了兩分,team2減了兩分,但是如果是開賽前三十分鐘的話是攻擊不成功的,前三十分鐘為準備階段

結束比賽

進入項目目錄

sudo python stop_clean.py
           
AWD簡單介紹和搭建AWD平台AWD簡單介紹和搭建AWD平台