[資安補帖] 005─Day5─資安競賽-金盾獎(初賽)經驗分享

飛飛 | 2023-05-21

前言

跟社團的大家一起去了金盾獎,
金盾獎的全名是─全國大專院校資安技能金盾獎。
所以今天就來介紹一下金盾獎吧~

社團經驗談

說到創一個社團,學校就會規定社團,
要有規章,身為一個IT社團,我們就用GitHub做規章的版本控制。
HackerSir Articles of association

  • 如何修正格式
    • master 目前是處於保護狀態
    • 如果要修正格式(像是換行,空白)或是修改 Readme 文件
    • 請 Push 到 misc 分支,在 merge 到 master
  • 修正案
    • 請先 fork 到自己的帳戶,再送PR
    • 在社員大會上進行討論+表決

正文

這是我第三次參加金盾獎,
如果是學生的話,很推薦來參加這個比賽。
分成初賽複賽
不過我沒有參加過複賽XDDD
所以今天先來分享初賽

題型

  • 學科:100題
    • 選擇題
  • 術科:5題
    • CTF競賽

首先,先提一下學科的部分,因為有100題,所以我小小腦袋只記得一些關鍵字XD
希望大家可以在底下留言,分享一下關鍵字XD。

  • 區塊鏈
  • ITIL
  • IAM
  • Windows的權限
  • LDAP
  • 封包鑑識
  • ISO/IEC

再來是術科,主辦單位很貼心,附了一個有很多工具的隨身碟,
ps.去年更多工具XD

工具列表

  • binwalk-master
    • 附上連結大家可以研究看看如何在乾淨的windows環境使用
    • python setup.py install
  • dd
  • odbg110
    • 32位元
      • 然後題目是64位元的rrrrrrrrrrrrrrrrrrrr

        Ollydbg真的是來助興的 ~ Norman Clode

  • winhex
    • 第一個bug就是不能存檔
      • 我們可以知道沒有C:\TEMP這個資料夾
      • 那我們就自己創一個給他
    • 了解FILE signature(檔案簽章)
  • apktool
    • 將apk轉換成原始碼
  • Dev-Cpp
    • 請愛惜內建的 gdb 、 objdump
      • 因為來助興的Ollydbg不能使用,因此需要用到gdb來分析EXE檔案
  • Python
    • Version:3.7.0
  • Wireshark
    • win32
    • win64
    • 用來分析封包的軟體,其中有一題就是給你一個封包,然後去找Flag。
      • 這題目,應要熟練如何操作Wireshark。

write_up

  1. App-release-flag.zip
    • zip 解壓縮會是一個 apk
    • apk
    • 我們可以透過apktool
    • 但是這邊我們透過將副檔名 .apk 直接改成.zip
      • 解壓縮之後可以解出App內的檔案
        • 因為電腦只有記事本
        • 利用Flag格式flag{}
        • 最後在resources.arsc這個檔案找到
  2. mal_victim.pcapng
    • 封包題型
      • 透過Wireshark來解題
      • 我解題的思路是先找http
        • 找http
      • 利用Follow這個功能
        • 搜尋HTTP Stream
        • 以及TCP Stream
          • 找TCP Stream和TCP Stream
      • 最後會在TCP Stream
        • Stream 13
        • Stream 13
      • 再提供一個方法
        • 直接對該封包用記事本打開
          • 然後搜尋flag
            • 就有了QQ
              1. crackMe.exe
      • 題目要找出密碼是多少
        • 而不是繞過判斷
      • 這題一開始下意識就會打開odbg110
        • 然後就會發現32位元跟64位元
          • 然後就悲劇XD
      • 後來一發現Dev C++內建gdb和objdump
        • 我們利用gdb打開一看
          • gdb
          • 我們分析組合語言可以發現
            • 做字串比較 XOR
            • 比較五次都對才是答案
              >>> chr(0xe ^ 0x41)
              'O'
              >>> chr(0xd ^ 0x41)
              'L'
              >>> chr(0x2d ^ 0x41)
              'l'
              >>> chr(0x24 ^ 0x41)
              'e'
              >>> chr(0x9 ^ 0x41)
              'H'
  3. gold_shield.zip
    • 請愛惜winhex
      • 無法存檔的時候
        • 就直接在C槽建一個temp(請愛護錯誤訊息)
    • 打開來看FILE signature是QZ
      • 當下不知道那是什麼
        • 就直接改PK吧(被打
          • QZ 表示 ZIP分割檔
          • PK 表示 一般的ZIP檔
        • 然後存檔
          • 就可以解壓縮了
            • 然後就會有張圖片QQ
              • https://blog.feifei.tw/wp-content/uploads/2023/05/post-2619-646a3cd993138.
                • 請照著圖片上打ctrl + alt +delete
        • 這時候要利用binwalk
          • python binwalk_simple.py -B 接檔名
            • DoReMiSo
              • 就會看到新的ZIP檔案
              • https://blog.feifei.tw/wp-content/uploads/2023/05/post-2619-646a3cd9c0804.png
              • python extract_data.py 接檔名
                • 把東西拆出來了
                • 得到一張有看起來很凱薩的圖
                • 來吃點沙拉
                  s = "mshn{dolyl_aolyl_pz_spml,aolyl_pz_ovwl}"
                  for c in s:
                      if ord(c) in range(ord('a'), ord('z')+1):
                          c = chr((ord(c) - 97 - 7) % 26 + 97)
                      print(c, end="")

                  5.程式的第一步

    • hello world
    • 拿各種大小寫hello world來撞 md5
    • 07a6c2cf43aac78ad09f9c57e8f65b71
    • 這裡附上Python過程
      >>> import hashlib
      >>> hashlib.md5(b"").hexdigest()
      'd41d8cd98f00b204e9800998ecf8427e'
      >>> hashlib.md5(b"flag{Hello World!}").hexdigest()
      '3ae537c57ebb9191fdce385d28880773'
      >>> hashlib.md5(b"flag{Hello World}").hexdigest()
      '734d1e181b68bbba6959cd51c5d6bce2'
      >>> hashlib.md5(b"flag{hello world}").hexdigest()
      '07a6c2cf43aac78ad09f9c57e8f65b71'

鐵人賽中跟金盾相關的文章

Google跟金盾相關的文章

  • 106年資安技能金盾獎 初賽心得

    Linux指令(別走火入魔,今年只考一題chmod)、雲端名詞、網管實務、作業系統、加密演算法、通訊協定、攻擊方式、協會跟標準的歷史

  • 2016 金盾獎 初賽心得

    試題範圍包含通訊網路與系統安全、通訊網路安全技術、系統安全技術、密碼學原理與應用、雲端安全、BYOD行動設備管理、電腦鑑識及個資保護等項,試題設計著重理論與實務
    Iaas 、Paas、Saas 的差異,似乎是每年必考
    數位簽章,有一題好像是選「數位簽章不具有可用性 (availability)」
    IPsec
    HTTPS, SSH, SSL, SSLv2, TLS
    VPN: PPTP, SSL, Hybrid
    標準與協會:NIST, ISO, OCED, P-mark,有一題竟然問 P-mark 是那一國
    Switch 的一些常見設定:QoS, VLAN, Port-security, SNMP, DNS, DHCP snooping
    沒聽過的軟體們:Tripwire, Kerberos
    常見攻擊:DDoS, Land attack, SYN flood, IP spoofing, dns reflection attack
    無線安全:WPA2 enterprise, 802.1X, LDAP, Radius, EAP, EAP-TLS, PKI , PEAP
    Firewall, IDS(intrusion detection system), IPS (intrusion prevention system), anomaly-based detection, signature -based detection,
    密碼學: hash, md5, AES, RSA, SHA, MAC, HMAC,只要知道這些名詞在幹麻就好,不怎麼考細節
    個資的原則:OCED, APEC
    背 port: TCP/UDP, HTTPS, HTTP, syslog, 某題它考了一個奇怪的協定是用哪個 port
    failover, single point of failure, 即時備援機制, cluster, least privilege, default deny
    apache server: .htaccess, AllowOverwrite
    虛擬化:vm theft, VM jumping, vm superabundance