この大会は2020/9/25 2:00(JST)~2020/9/27 8:00(JST)に開催されました。
今回もチームで参戦。結果は2450点で387チーム中124位でした。
自分で解けた問題をWriteupとして書いておきます。
Discord (Misc)
Discordに入り、#ctf-mainチャネルのトピックをコピペする。
En los ultimos anos el equipo de NULL Life ha trabajado junto a la Ekoparty para proveer el Capture The Flag principal, logrando interconectar actividades y otros sectores de la conferencia para darle un trasfondo interesante. Este ano no sera diferente, solo que nos encontraremos en la virtualidad. Ademas, contamos con el apoyo de GitHub Security Lab como sponsor. Bienvenidos! https://ctf.ekoparty.org/ EKO{flag-format}
EKO{flag-format}
Wet (Misc)
Aztecコードがゆがんでいる画像が添付されている。歪みを直し、https://zxing.org/w/decode.jspxでデコードする。
EKO{tirate_un_flag}
Exe (Entry)
添付のマルウェアファイルのsha256を答える問題。
$ sha256sum exe eba35b2cd54bad60825f70fb121e324d559e7d9923b3a3583bb27dfd7e988d0c exe
EKO{EBA35B2CD54BAD60825F70FB121E324D559E7D9923B3A3583BB27DFD7E988D0C}
Run (Entry)
添付のマルウェアを検知しないアンチウイルス製品を答える問題。VirusTotalにあげると、4つ検出できなかったアンチウイルスソフトがあり、その中の一つがフラグだった。
EKO{Webroot}
Cert (Entry)
添付ののマルウェアサンプルは中国の会社によって署名されているので、その会社の名前を答える問題。
$ osslsigncode verify cert Current PE checksum : 00000000 Calculated PE checksum: 0008908D Message digest algorithm : SHA1 Current message digest : C78EF2F4F4F7B310B546B0F2F81DD3B87CC18A10 Calculated message digest : 185FB6D5A8654A3F7C77FDD720948CBD493C1C96 MISMATCH!!! Signature verification: ok Number of signers: 1 Signer #0: Subject: /C=CN/ST=Beijing/L=Beijing/O=Beijing Qihu Technology Co., Ltd./OU=\xE7\xA0\x94\xE5\x8F\x91\xE9\x83\xA8/CN=Beijing Qihu Technology Co., Ltd. Issuer : /C=US/O=VeriSign, Inc./OU=VeriSign Trust Network/OU=Terms of use at https://www.verisign.com/rpa (c)10/CN=VeriSign Class 3 Code Signing 2010 CA Number of certificates: 5 Cert #0: Subject: /C=US/O=Symantec Corporation/CN=Symantec Time Stamping Services CA - G2 Issuer : /C=ZA/ST=Western Cape/L=Durbanville/O=Thawte/OU=Thawte Certification/CN=Thawte Timestamping CA Cert #1: Subject: /C=US/O=Symantec Corporation/CN=Symantec Time Stamping Services Signer - G4 Issuer : /C=US/O=Symantec Corporation/CN=Symantec Time Stamping Services CA - G2 Cert #2: Subject: /C=CN/ST=Beijing/L=Beijing/O=Beijing Qihu Technology Co., Ltd./OU=\xE7\xA0\x94\xE5\x8F\x91\xE9\x83\xA8/CN=Beijing Qihu Technology Co., Ltd. Issuer : /C=US/O=VeriSign, Inc./OU=VeriSign Trust Network/OU=Terms of use at https://www.verisign.com/rpa (c)10/CN=VeriSign Class 3 Code Signing 2010 CA Cert #3: Subject: /C=US/O=VeriSign, Inc./OU=VeriSign Trust Network/OU=(c) 2006 VeriSign, Inc. - For authorized use only/CN=VeriSign Class 3 Public Primary Certification Authority - G5 Issuer : /C=US/ST=Washington/L=Redmond/O=Microsoft Corporation/CN=Microsoft Code Verification Root Cert #4: Subject: /C=US/O=VeriSign, Inc./OU=VeriSign Trust Network/OU=Terms of use at https://www.verisign.com/rpa (c)10/CN=VeriSign Class 3 Code Signing 2010 CA Issuer : /C=US/O=VeriSign, Inc./OU=VeriSign Trust Network/OU=(c) 2006 VeriSign, Inc. - For authorized use only/CN=VeriSign Class 3 Public Primary Certification Authority - G5 Message digest algorithm : SHA256 Current message digest : 7A1893B4095CF5A2762C0E6BDEFFD4809C2FB8A0D69406BE2CFF16E04AF8B05D Calculated message digest : B7439CED8CF39D5B48D782408CA624BD81B7F913C16E551352C277889D912966 MISMATCH!!! Signature verification: ok Number of signers: 1 Signer #0: Subject: /C=CN/ST=Beijing/L=Beijing/O=Beijing Qihu Technology Co., Ltd./OU=\xE7\xA0\x94\xE5\x8F\x91\xE9\x83\xA8/CN=Beijing Qihu Technology Co., Ltd. Issuer : /C=US/O=Symantec Corporation/OU=Symantec Trust Network/CN=Symantec Class 3 SHA256 Code Signing CA Number of certificates: 3 Cert #0: Subject: /C=CN/ST=Beijing/L=Beijing/O=Beijing Qihu Technology Co., Ltd./OU=\xE7\xA0\x94\xE5\x8F\x91\xE9\x83\xA8/CN=Beijing Qihu Technology Co., Ltd. Issuer : /C=US/O=Symantec Corporation/OU=Symantec Trust Network/CN=Symantec Class 3 SHA256 Code Signing CA Cert #1: Subject: /C=US/O=Symantec Corporation/OU=Symantec Trust Network/CN=Symantec Class 3 SHA256 Code Signing CA Issuer : /C=US/O=VeriSign, Inc./OU=VeriSign Trust Network/OU=(c) 2006 VeriSign, Inc. - For authorized use only/CN=VeriSign Class 3 Public Primary Certification Authority - G5 Cert #2: Subject: /C=US/O=VeriSign, Inc./OU=VeriSign Trust Network/OU=(c) 2006 VeriSign, Inc. - For authorized use only/CN=VeriSign Class 3 Public Primary Certification Authority - G5 Issuer : /C=US/ST=Washington/L=Redmond/O=Microsoft Corporation/CN=Microsoft Code Verification Root Failed
エラーが発生しているが、署名した会社はわかる。
EKO{Beijing Qihu Technology Co., Ltd.}
Deep (Trivia)
添付のマルウェアサンプルのssdeepを答える問題。
$ ssdeep deep ssdeep,1.1--blocksize:hash:hash,filename 1536:KCnGt1AnxGhRoE0JLEaolArglgidmpHACgaSz42tpAonFcP+i+9l:jG1hRoE0JLE8Qjg6aSk0LE+9l,"/mnt/hgfs/Shared/deep"
EKO{1536:KCnGt1AnxGhRoE0JLEaolArglgidmpHACgaSz42tpAonFcP+i+9l:jG1hRoE0JLE8Qjg6aSk0LE+9l}
Obaphx (Trivia)
添付のマルウェアサンプルが使っているMITREのテクニックを答える問題。バイナリに含まれている文字列「Stack corruption typically occurs when either the wrong calling convention is used or when the function is called with the wrong number of arguments.」で検索してみると、以下のページが見つかった。
https://otx.alienvault.com/indicator/file/b3b2bdf018131644a317293043b2928b26bdd633
MITREのテクニックを確認すると、その中の一つがフラグだった。
EKO{hooking}
COVID19 (Crypto)
添付のコードを整形する。
WScript.Sleep 3000 Dim str Dim str2 str = ")46) )75) ... " str2 = Replace(str,")","") Function h2s(h) Dim a : a = Split(h) Dim i For i = 0 To UBound(a) a(i) = Chr("&H" & a(i)) Next h2s = Join(a, "") End Function Dim De De = h2s(str2) Execute De
strの並んでいる数値を16進数ASCIIコードとしてデコードする
with open('covid', 'r') as f: lines = f.readlines() codes = lines[3][7:-2].replace(')', '').split(' ')[:-1] msg = '' for code in codes: msg += chr(int(code, 16)) print msg
実行結果は以下の通り。
Function n(s,c):n=String(s,c):End Function:t=t&"4D5A90000300000004000000....... EKO{super_infected}set startshe = wscript.createobject("wscript.shell") set sysOb = createobject("scripting.filesystemobject") startup = startshe.specialfolders ("startup") & "\Chrome.vbs" sysOb.copyfile wscript.scriptfullname,startup ,true WScript.Sleep 1000
この復号結果にフラグが混ざっていた。
EKO{super_infected}
Final (Misc)
アンケートに答えたら、フラグが表示された。
EKO{s33_y0u_in_2021}