合勤 榮耀資戰 CTF 初賽 Write-up

2020-05-30

日誌分析

01

Log為誘捕系統連線資訊,請分析在此份log中,駭客最感興趣的前三名服務。flag為前三名服務 port 號,依序合併後的SHA1加密值(小寫)。

範例: 前三名服務 [80,5060,21] -> sha1('80506021') -> eeeb577554eeba6a9481f7e0306a514105724fca

答案格式:flag{port號合併後的SHA1加密值}

寫腳本來計算,python 腳本如下

with open('exam1.txt', 'r') as f:
    line = f.readlines();

counter = [0 for i in range(65537)]

for i in range(len(line)):
    port = int(line[i].split()[3].split(':')[1])
    counter[port] += 1
    print('{}: {}, counter[{}]: {}'.format(i, port, port, counter[port]))

biggest = [counter.index(x) for x in sorted(counter, reverse=True)[:3]]

print(biggest)
    
# flag{0e2c3e4dd79f9a26e591728c8af4e8347403127a}

02

Log為誘捕系統連線資訊,請分析在此份log中,攻擊次數最多的IP,flag為IP的SHA1加密值(小寫)

答案格式:flag{IP的SHA1加密值}

寫腳本來計算,python 腳本如下

with open('exam2.txt', 'r') as f:
    line = f.readlines();

ips = []

for i in range(len(line)):
    print(i)
    ips.append(line[i].split()[1].split(':')[0])

iplist = []
aplist = []

for ip in ips:
    if iplist.count(ip) != 0:
        continue
    
    print('processing...')
    iplist.append(ip)
    aplist.append(ips.count(ip))
    
print('sorted...')
biggest = [aplist.index(x) for x in sorted(aplist, reverse=True)[:3]]

for i in biggest:
    print('{}: {}'.format(iplist[i], aplist[i]))
    
# 94.102.49.91: 26444
# 176.122.7.93: 16786
# 79.124.62.34: 11017
#
# flag{ffd04754ddf2b714d0779f4d415530550b4e4b91}

03

此份Log記錄者駭客入系統的軌跡,駭客似乎在某個公共服務中下載惡意程式,裡面藏有flag。

答案格式:flag{惡意程式裡面藏的flag}

隊友 in0de 解的

有個command 是git clone

裡面是一張照片

binwalk解開看到shell

by in0de

封包分析

01

請分析題目所給網路封包檔案,判斷攻擊者使用了什麼攻擊手法

範例:CVE-2020-0606

答案格式:flag{CVE-XXXX-XXXX}

裡面看起來比較可疑的是某幾個 DNS 封包

在回應 query zonetransfer.me 的 answer 中,有幾個可疑的項目,例如

感覺是類似植入惡意的 DNS 項目的攻擊

Google 搜尋的關鍵字先用 DNS Attack zonetransfer.me 試試看

就找到了 Zone Transfer CVE-1999-0532 - 古老的 DNS 資安議題

原來這個攻擊是指:如果任何人都能對 DNS Server 做 zone transfer,企業底下的所有網址就都被列出

所以剛剛的情境中,那些可疑的項目本身就像是企業底下的網址,受害者主機為 34.225.33.2,直接為不明來源 IP 做 zone transfer

flag{CVE-1999-0532}

02

某公司的資料疑似外洩,這期間剛好錄製了相關的網路行為。請嘗試著分析這中間所發生的行為,並嘗試著尋找外洩的機密檔案。

答案格式為:flag{機密檔案內容}

簡單先從各種協議下手,如 HTTP、SMB、FTP

最終在 FTP 有收穫

看看這個封包前後傳了什麼,就能找到一個 FTP-DATA 封包

flag{7a0f7e5ee037244f6dbb6caf464b56}

03

這是某公司的電腦,使用者發現電腦怪怪的,似乎被駭客入侵了。試著分析一下這台電腦發生了什麼事情,請協助找到後門使用來登入的帳號 。

答案格式為:flag{後門登入帳號}

這次連線有點多

思路是以 Statistics->Endpoints 來一一檢查每個連線的 IP

192.168.77.22 應該是主機本身,故跳過

而後面幾個 IP 中,有個 192.168.88.10,因為是 private address,所以比賽當下,當我前 2 個 IP 連線看完沒收穫後,就直接跳過來看這個 IP

開了後門,常常想下指令 whoami 確認一下權限,所以我就先嘗試搜尋 whoami

挖到寶,這個 IP 蠻確定是攻擊者了,看看他都下了什麼指令

net user he11ow0rld9487 /add

flag{he11ow0rld9487}