由於曾經 IRCON,寫了一篇文章 「[資訊安全]IRCON King of The Hill CTF 初體驗」,隨後被邀請一同參加企業級場的 Red Alert 72 的 資安攻防 電競賽,也對模式感到好奇,以往參與的 CTF 從解題模式到 King of The Hill,該次比賽提供類 Attack and Defense 模式的紅藍隊大隊抗,主要參賽隊伍為籃隊。
目錄
前言
Red_Alert_72 是一個讓參賽者去防守特定機器的比賽,其中又穿插一些解題式的 CTF Pwn,主要比重還是偏向主機防守的部分,當服務被阻斷,便會開始扣分,響應的是企業被攻擊後,所損失的相對影響,由於第一次參與這種類型的 資安攻防 競賽,還是相當興奮。
活動資訊: https://csa.kktix.cc/events/redalert2019
Pwn 題
Pwn 共有 6 題,在這之前有些許不明白,為什麼要叫做 Pwn 題,然後題目的水平都不高,解出一題的平均時間都不會超過五分鐘,從 Log 到 VM,提示中都包含了不少資訊,其中被誤導的是 Flag 的格式不統一問題,以往參賽 Flag 的型式都是「Flag{}」,然而提示的 Flag 格式為 「red_alert_72_{flag}」,然後拿到一個完整的 Flag 像是「red_alert_72_123456」,還自動的把 Flag 加工成「red_alert_72_{123456}」,導致送出去的結果一直被拒絕…,不然應該可以拿首殺的。
- 日誌分析
- 惡意程式檔案分析
- 流量分析
- VM 流量分析(Flag 在外部伺服器)
- VM 分析(Flag 在系統中)
- VM 分析(Flag 為 User 密碼)
有興趣的話可以自行下載 Red_Alert_72 的題目備份,解壓縮密碼: By_MksYi_Backup
https://drive.google.com/file/d/1yo9eCGrx6zq8V4Af0SHLwLsfwfMZmZsv/view?usp=sharing
1 號主機
OS: Windows 2008 R2
一開始開放 CDX 主機連線之後,看到的是一台 Windows 主機,隨即將他開機…
就是上圖所看到的藍白,好像藍的幾次才終於跳出了登入畫面。 修改預設密碼,檢查其他使用者。
1. 確認 Web Server,並換上隊伍 Flag。
2. 檢查工作排程器,確認沒有不必要的排程,並確認程式位置加以確認是不是被掛馬。
3. 檢查服務,關閉不必要的服務。
4. 設置防火牆。
5. 掃 Port,確認有沒有被開門。
6. 查看系統進程,確認是否有木馬正在執行,此外我們還誤用了打包在 VM 上的 notepad++。
7. 使用相關 AV 工具(OpenVAS、Nessus)對系統進行風險評估。
8. 修補相關弱點服務(更新)
該主機沒有被駭客入侵的跡象,唯一扣分的部分都是更新時跑重開機的時候服務中斷造成的,其中有發現主機中存在 MS15-034 弱點,修補上也遇到了一些困難,相關 Patch 上不了,最後就直接放生,還好也沒有被利用成功。
MS15-034 確認:
相關修補資訊:
https://docs.microsoft.com/zh-tw/security-updates/securitybulletins/2015/ms15-034
2 號主機
OS:Ubuntu 16.04 TLS
這台主機發生了很多事情,唯一不解的是,覺得已經安全的狀態,駭客卻還是可以一直干擾服務,以下流程為進入主機後的流程。
1. 連線至該主機,修改預設密碼。
2. 創建其他使用者,並加至 sudoers。
3. 清除預設使用者。
4. Web Server 換上隊伍 Flag。
5. 檢查 crontab 中的排程,並清除。
6. 查看系統進程,並且 Kill 可疑的程式運行。
7. 掃 Port,確認有沒有被開門。
隨後陸續發生攻擊事件,從主機開機到隔天清晨三點都沒有中斷過,幾乎是不眠不休的在跟 Red Team 資安攻防,簡單整理攻擊事件如下:
1. 服務上的攻擊
* 移除 Web Server
* 破壞 Web Server 設定
* 修改防火牆規則
* DDOS
2. 修改 Flag
3. 放置惡意腳本
有次攻擊發生的很臨時,跟其他組員的 SSH 同時間被踢出連線,接著就發生以下的事情。
- SSH 被踢斷線
- Web Server(Apache2)相關設定檔被移除
- 所有帳戶被刪除
- 系統重新開機
最後使用 Boot 的 Recovery Mode 才重製 root 密碼。
參考資料:https://blog.csdn.net/qq_41325698/article/details/84196515
3 號主機
OS:Ubuntu 18.04 TLS
這台只有被攻擊過一次,就安逸的到比賽結束了,從主機開機開始到結束的流程如下。
- 連線至該主機,修改預設密碼。
- 創建其他使用者,並加至 sudoers。
- 清除預設使用者。
- Web Server 換上隊伍 Flag
- 更新、升級套件。
攻擊事件:
- SSH 被踢出
- Web Server 服務被關閉
回復作業:
1. 取回 root
2. 建立帳戶
3. 尋找駭客足跡
4. 清除後門
* 後門程式
* Web Shell
結論
一路走來的 CTF 經驗,不論是解題,還是 IRCON 的 King of The Hill,相關經驗也都是攻擊比較多,對於防禦相當生疏,甚至連 Linux 的防火牆都不熟悉,不免會害怕不能貢獻給團隊些什麼,還好還是能透過一些攻擊手法,驗證漏洞是否存在,是說大多都不是洞,而是系統中藏有 Red Team 預裝的木馬程式。
在此還是要客套一下,雖然不知道說給誰聽,還是感謝主辦單位舉辦這樣的活動,不過既然可以規劃成紅藍隊大對抗了,應該是有辦法透過 CDX 的平台來辦一場 Attack and Defense 的資安攻防賽才對,很期待未來有這樣子的模式,然後也希望真的要出 Pwn 題的話能有些深度,然後針對 Flag 格式嚴謹一些。
其餘的話是一些個人抱怨,競賽過程中充滿了不少疑慮,原先第二天結束前的名次都還是位居第二,直到開放第二台主機之後,被不間段的攻擊…直到掉出前十名以外,甚至一直無法掌握攻擊者行蹤,首先讓系統有弱點存在,進而被利用是我們 Blue Team 的疏失沒錯,但好奇的是,其他組沒有這樣子的漏洞嗎? 成了當下唯一被扣分的組別好一段時間…,究竟是主辦單位針對還是怎麼樣?
賽後發現
競賽的注意事項中提及,「不可移除或變更原本安裝之網站伺服器(Web Server) 」,也許是冒犯到規則了,但賽前賽後的直播也沒有強調。
雖然競賽須遵守規則,但以企業的角度來說,維持服務還是第一優先才對吧,當下 Apache2 被打掛的時候,臨時想到使用 Nodejs 撐一下,以避免被扣分,如果真的是因為觸犯規則而遭到針對,那也應該在賽中、賽後直播時提及一下有隊伍觸犯規則吧?
成績
7/7 => 2
7/8 => 5
7/9 => 7
7/10 => 11