這次我和我朋友兩個報了T貓盃,也是我第一次參加T貓杯,並且蠻幸運進了決賽,決賽是辦在成功大學,然後現場根本是逢甲和成大的聚會,比賽平台和規則非常特別,初賽和決賽都是用一樣的平台,第一次遇到真的覺得蠻新奇的。

賽中是要到一個線上的平台,登入後有多個題目能解,到這邊和普通的CTF都沒什麼太大區別,但它是一個題目一個題目計時,一題有15分的30分的還有1小時的,考題題型有各種像鑑識、滲透、Ransomware分析等等,反正就是和一般CTF出的不太一樣(不愧是名字有掛實務的比賽),滲透題型的靶機基本上就是一碰就掛打的非常痛苦,整體來看有點像hackthebox的starting point,但沒有那麼難。

決賽共有三題但題目描述和順序我忘了存,所以這邊就用我們隊賽中解的順序來排。

第一題-網頁漏洞分析(30分鐘)

題目丟了一個php網站的檔案給你,然後叫你去看程式碼。

第一小題

題目是問這些程式有哪種漏洞,賽中我和我朋友看到有sql的部分就跳進去追看有沒有sqli的洞,但發現不是,後來是在逛使用者輸入的時候發現這段

1
2
3
4
5
$content = $_POST['content'];

$db = new \BulletinBoard\database\Bulletin();

$id = $db->add_bulletin($content);

他直接把輸入塞進去sql,完全沒有過濾輸入,在顯示的部分也是直接把結果直接放上去,所以答案是Src\Bulletin::add_bulletin()有Stored XSS。
的問題。

第二小題

問上面的洞的CAPEC編號是什麼,直接照打上去就好。
image

這題因為我和我隊友都算半個WEB狗所以解蠻快的。

第二題-滲透(30分鐘)-沒解完

一開始開靶機和搞懂環境就花了我們大概5分鐘,然後我rustscan跑下去就掛了一段時間,之後在看80port的網頁內容時陸續又斷了幾次,之後時間就到了TT。

第三題-Ransomware分析(1小時)

這題真的很特別,平常CTF的Forensic和Reverse題我都是丟給隊友解,我也沒看過給你一台遠端的主機,然後你要用遠端螢幕連過去的CTF題。

題目大概是說這台電腦中了Ransomware,有資料被加密要請你分析並解密。

第一小題

他告訴你他是因為mail下載了奇怪的檔案,問你是哪封信哪個帳號寄的
我們開了他的mail軟體,然後找到了一篇有附上韌體更新檔的信,用IDA分析那個附加的檔案後發現就是這封,繳寄那封信的帳號就拿分了。
image

第二小題

問你加密的方法,我們直接IDA追Encrypt的部分就好了,

很明顯是用AES

第三小題

這題就是要你把解密密鑰逆向回來。看回我們剛剛追的Encrypt的部分

我們把ldstr aK0nmo76dgTmcu5的內容跟著加密這段流程走一遍就能拿到密鑰了。

第四小題

解密檔案拿到flag,有兩種方法一種是把flag照流程跑然後用剛剛拿到的密鑰解密,第二種是他Ransomware都給你decrypt的功能了,不用白不用,直接把密鑰丟到Ransomware的密碼那欄給他解密就好了。

結語

最後我們隊拿下了特優,這次賽制算是蠻特別的體驗,畢竟解題旁邊還有時間在跳真的壓力很大。
也感謝我電神隊友matt在初賽和決賽貢獻了一堆酷酷的解法和想法。