AWD
AWD:Attack With Defence,即攻防對抗,比賽中每個隊伍維護多臺服務器(一般兩三臺,視小組參賽人數而定),服務器中存在多個漏洞(web層、系統層、中間件層等),利用漏洞攻擊其他隊伍可以進行得分,加固時間段可自行發現漏洞對服務器進行加固,避免被其他隊伍攻擊失分。
1.一般分配Web服務器,服務器(多數為Linux)某處存在flag(一般在根目錄下);
2.一般每個隊伍會給一個低權限用戶,非root權限;
3.各隊一般都有一個初始分數;
4.flag一旦被其他隊伍拿走,該隊扣除一定積分;
5.得到flag的隊伍加分;
6.flag在主辦方的設定下每隔一定時間刷新一輪(大概是10分鐘);
7.主辦方會對每個隊伍的服務進行check,服務器宕機扣除本輪flag分數,扣除的分值由服務check正常的隊伍均分。
準備時間
一般AWD會有30分鐘準備時間
登錄
SSH登錄
命令格式為: ssh -p 指定端口號 用戶名@ip
使用Finalshell或者Xshell等圖形化服務器管理軟件
密鑰登錄
sftp -i id_rsa ctf@192.168.182.130
修改密碼
官方在給出服務器密碼時,很有可能是默認的,那就需要趕快修改自己的密碼,但一般主辦方給的是隨機密碼。
如果發現每個隊伍的SSH賬號密碼都是一樣的,需要立即修改口令,如果被其他隊伍改了那就gg了,同時要準備好批量腳本,一旦是默認密碼,可以直接利用。
ssh修改密碼 (passwd)
mysql修改密碼
方法一: show databases; use mysql; set password for root@localhost = password('123');
方法二:update user set password = PASSWORD('需要更換的密碼') where user='root'; flush privileges; show tables;
Web后臺很有可能存在弱口令,需要立即修改,也可以修改其他隊伍的后臺口令,為本隊所用,說不定可以利用后臺getshell。
備份源碼 比賽開始后第一時間備份服務器中web目錄下的文件(/var/www/html),備份的目的在于萬一對方利用漏洞進入你的靶機將你的WWW下的目錄給刪除了,可以及時恢復,如果你沒有備份就相當于宕機了。
目錄打包
2. 數據庫備份
- 備份指定的多個數據庫
?
mysqldump -uroot -proot --databases DB1 DB2 > /tmp/db.sql
?
無 lock tables 權限的解決方法
?
mysqldump -uroot -proot --all-databases --skip-lock-tables > /tmp/db.sql
?
- 恢復備份(在 MySQL 終端下執行)
?
source FILE_PATH3.下載到本地
??? scp -P ssh_port user@host_ip:/tmp/bak.sql local_file?防御思路
在準備時間,把打包好的源碼解壓到本地,使用漏洞掃描器(D盾,河馬等)進行掃描,查看是否有后門
可以使用 seay源碼審計系統進行代碼審計
我們可以對自己的靶機進行端口掃描
?以下是一些服務端口的漏洞: ?
??? 22:ssh弱口令 ?
??? 873:未授權訪問漏洞 ?
??? 3306:mysql弱口令 ?
??? 6379:redis未授權訪問漏洞
waf的作用: 最重要是分析流量,別人攻擊我們的時候,我們可以看到別人的攻擊方式。這樣的話即使我們找 不到攻擊點,非常苦惱的時候,我們就可以分析流量,使用別人的攻擊方式。 可以直接進行防御,類似于一臺防火墻(一般的比賽是不允許使用的,畢竟比賽時間短,就根本繞不過去waf,那比賽就沒意思了)
有些比賽是不允許上通用waf的,check機制可能會check到waf過濾的參數,導致宕機,waf部署需要謹慎,還需要注意的是:上完waf檢查服務是否可用,部分檢查允許使用部分小的waf,會檢查頁面完整性、服務完整性。
常用的waf使用方法,是用你要保護的文件去包含這個waf.php。比如說,你要保護select.php,那么你就在select.php里面寫上一行include './waf.php'或者 require_once('waf.php'); 如果你要保護所有文件,那么就在config這種配置文件里包含waf,因為這種config的文件,一般會被大部分功能頁面調用
)AWD_PHP_WAF 項目地址:https://github.com/NonupleBroken/AWD_PHP_WAF
)awd-watchbird 這是個通防waf,支持流量轉發和替換flag 項目地址:GitHub - leohearts/awd-watchbird: A powerful PHP WAF for AWD
流量監控 即使不能上waf,外面也可以準備一個流量監控腳本,來幫助我們進行流量分析,獲取對方的攻擊流量,我們也能以同樣的方式去攻擊其余隊伍。
清除對方的攻擊 ps aux查看進程,查看是否有異常的進程,不清楚什么是異常的進程,可以在開始時查看一下并記錄下來,被攻擊時,對照著記錄,清理其余進程。 kill -9 pid
攻擊思路
主機發現 準備好掃描一個網段的腳本,靶機一般都在同一個局域網
后門利用 我們在準備時期掃到的后門,可以嘗試利用。 如果連接成功,可以先不急著提交flag,嘗試進行權限維持,寫入不死馬,這樣我們就能一直拿他flag。
AWD一般使用CMS,盡量多收集一些CMS和對應的POC
攻擊web服務,訪問對方的網站,嘗試各種攻擊手段
最后:
保持良好的心態,不到最后一刻都有翻盤的可能
找出漏洞拿到shell,權限維持后,盡量把這個洞給被控機修了,以免被別人拿到shell
不僅要保證自己能拿到shell,還有保證別人拿不到shell
拿shell前先打一波流量,混淆視聽
保證自己的網站上沒有d盾可以掃出來的后門
提高python腳本編寫能力
webscan --url http://192-168-1-251.pvp5796.bugku.cn/ --html-output single-url1.html