剛和隊友打完國賽, 記錄一下
流水賬
day 0
7月24號從學(xué)校出發(fā), 心里想著終于能夠逃離炎熱的哈爾濱了, 開心. 坐了一天火車到達了北京, 到賓館之后正好邊上就有個餐館, 餐館里面正好還有北京烤鴨, 這必須得吃一波啊, 可能因為其過大的名氣促使我對其抱有的期望過大, 真的吃到嘴里面, emmm..... 確實比一般的烤鴨好一些: 主要在于烤鴨的皮更脆, 而且還有很多精致的配料, 但是說實話我認為比這個好吃的的食物太多了.
晚上大家討論了一下第二天比賽的事宜. 主要有一下幾點想法
- 因為比賽平臺提供了流量, 所以我們最好能準(zhǔn)備一個可以根據(jù)流量生成exp的自動化腳本.
- 為了防止我們的流量被抓, 我們在打別的隊的時候也需要混淆自己的流量
- 等等
day 1
比賽場地只在清華的李兆基大樓, 剛從東南門進入清華的時候就看到一個寬闊無比的草坪.......差不多有2公寓那么大吧......羨慕啊QAQ
比賽開始先是宣布了每個隊的buildit的分數(shù)(決賽的題目都是每個隊出一題組成的, 這個分數(shù)就是專家組給每個隊出的題打的分數(shù)), 與半決賽不同的是: 這次buildit的分數(shù)沒有考慮題目做出來的數(shù)量, 確實, 攻防賽中記錄題目被做出來的數(shù)量很麻煩. 大家的分數(shù)都差不多.
開始比賽先是提供了今天所有pwn題的二進制文件, 然后每個隊有8個服務(wù)器, 上面可能運行著一個pwn題或者web題, 但是需要自己識別究竟是哪個題目, 我們一開始不知道, 花了不少時間來分析binary1, 意識到這個后趕緊通過md5比對來確定我們的服務(wù)器上運行的究竟是哪個題目, 發(fā)下我們之后3個pwn題, 而有5個web題.
然后就是分析程序找漏洞patch. 有些題目出的真的騷, 故意留一個棧溢出, 然后檢查這個棧溢出......還有些題目就比較耿直, 直接留個secret(){system('/bin/sh');}........nop掉就好了233, 過程中遇到了很多坑, 大致如下:
- 分析流量的時候才發(fā)現(xiàn)平臺提供的流量只有進來的流量, 沒有從服務(wù)器返回的流量, 所以看不到完整的交互, 所以根據(jù)流量生成exp的腳本幾乎沒怎么用到
- 打別人的時候沒有加混淆, 打了3, 4輪就打不到了, 都被patch了, 而且還看到了別人用我們的流量打我們, 不得不說有些隊復(fù)用效率太高了
- 中間有段時間pwn3又down又被打, 關(guān)鍵根本就沒有patch過, 就是原始的二進制文件, 應(yīng)該立即找平臺方重啟服務(wù)了, 拖了好幾輪導(dǎo)致丟了不少分.
一開始的時候名次還在10名左右, 但是過了幾輪之后因為我們的題目都被patch了, 所以根本打不到別的隊了, 排名也就一直下滑, 最終一直在16, 17, 18名徘徊.
中間有個插曲, 北郵的隊伍貌似因為利用平臺漏洞被發(fā)現(xiàn)了扣了5000分, 不過他們最終還是拿到了第五名...太強了......幾輪之后山科就一直是第一名了, 而且一直都是遙遙領(lǐng)先的趨勢.......比賽結(jié)束才得知題目服務(wù)器的ssh的密碼都是123456.......然而我們都沒有意識到爆破一些是否存在弱口令, 而是耿直地使用比賽方提供的私鑰.........不得不說山科真的太細心了.....平臺方可能有意安排一個這樣的問題來考察我們的安全意識吧. 第一天結(jié)束時我們的名次定在了16名.
午休的時候清華提供的伙食真的好, 各種水果零食飲料, 第二天的午餐竟然是KFC, 不得不說有錢真好.
比賽完之后我們在清華內(nèi)逛了一圈, 清華太好看了..........同樣是大學(xué), 差距也太大了吧, 無法接受TAT, 貼幾張照片吧




day 2
第二天比賽就半天, 而且也沒有我們自己的題目了, 所以主要就是靠抓流量打.
排名也沒什么變化了, 最終結(jié)束的時候還是16名, 有點遺憾.
下午是分享環(huán)節(jié), 每個隊都根據(jù)自己隊出的題目進行一次分享, 好幾個隊都說自己隊出的題目更像線上做題的類型, 而不是awd的題目, 我們隊也有相同的感覺. 期間山科的TimeKeeper戰(zhàn)隊的師傅上去分享出題思路, 竟然源于Flask源碼的閱讀, 發(fā)現(xiàn)源碼在生成debug的密碼的時候是靜態(tài)的, 可以根據(jù)算法和狀態(tài)算出來的. 真的很佩服.
各隊分享結(jié)束之后還有一些技術(shù)分享, 騰訊一位大佬分享的關(guān)于人工智能在安全領(lǐng)域的應(yīng)用還是挺有意思的, 一個例子就是驗證碼的攻防, 見識到了很多奇奇怪怪的驗證碼方案來提高分辨率, 可惜沒有拍照.
總結(jié)
這次比賽沒有取得好成績水平不夠是一方面, 經(jīng)驗的不足也是很致命的. 總結(jié)一些需要改進的點吧.
- 打別的隊的時候一定要加混淆
- 如果是awd題目的話出題的時候可以多留幾個后門, 要不然也不會像這次一樣打個3, 4輪就打不了了. 而且也可以加一些反調(diào)手段, 爭取可以多打幾輪
- 一航提到目前平臺的不足, 可以考慮開發(fā)一個新的平臺, 包含如下功能:
- 把flag的提交和exp的利用放在一個獨立的機器上運行, 使用隊列實現(xiàn), 最好再加上一個前端
- pwn方面流量重放, 分析, 去重的功能很重要
- patch的管理, 這次比賽就因為我的疏忽導(dǎo)致patch失誤被打了好幾輪
- 混淆流量
- 掃面一下弱口令之類的(向山科學(xué)習(xí))
- 準(zhǔn)備一個文件和exp然后留個后門程序用以獲取challenge用戶的權(quán)限
明年再戰(zhàn)
