はじめに
2024_02_25に開催された防衛省サイバーコンテストのWriteup(一部)です.
今回のCTFはちゃんとCTFの勉強を始めて2回目のCTFでした.
自分のOUTPUTも兼ねて公開したいと思います.
Welcome!
ここで問題用サーバに接続するための.ovpn
ファイルと,FLAGが書かれたWelcome.txt
の配布がありました.
Information of Certificate
Eady.crt
という証明書が配布され,この証明書の発行者のコモンネーム部がFlagとなっているようです.
このようなファイルを扱うのは初めてだったため少し手間取りましたが,ファイルのプロパティを見るだけでいいみたいですね.(*コマンドで見る方法もあるみたいなのでそちらも試してみます.)
String Obfuscation
以下のようなpythonファイルが配布されました.
import sys
if len(sys.argv) < 2:
exit()
KEY = "gobbledygook".replace("b", "").replace("e", "").replace("oo", "").replace("gk", "").replace("y", "en")
FLAG = chr(51)+chr(70)+chr(120)+chr(89)+chr(70)+chr(109)+chr(52)+chr(117)+chr(84)+chr(89)+chr(68)+chr(70)+chr(70)+chr(122)+chr(109)+chr(98)+chr(51)
if sys.argv[1] == KEY:
print("flag{%s}" % FLAG)
これはただソースコードを読めばわかりそうですね.
replace(A,B)
はAをBに置換するものなので,これを前から順番に実行していくと,最終的にKEYはgolden
になります.
そして実行時の引数としてpython3 string_obfuscation.py golden
とするとsys.argv[1]
とKEYが一致するためFLAGを得られます.
FileExtract
FileExtract.pcapng
というパケットキャプチャファイルが配布されました.
かなり長いですが,プロトコルの部分を見ると定期的にFTPが流れており何かを送信していることがわかります.なのでFTPプロトコルに絞って追跡してみます.(追跡の仕方は適当なFTPパケットにカーソルを合わせて右クリックし「追跡」→「TCPストリーム」でできます.)
追跡結果が以下の通りです.
ユーザ名やパスワードが平文で送られておりs3cr3t.zip
が送られていることがわかります.
なのでs3cr3t.zip
を調べてみます.
プロトコルがFTP-dataのパケットに注目します.
FTP-dataのところにカーソルを合わせて右クリック→「追跡」→「TCPストリーム」を選択します.
すると以下のような文字列が得られます.
これをRaw形式で保存します.これを開こうとするとパスワード入力画面が出てくるので先ほどの得られたパスワードbr2fWWJjjab3
を入力するとFLAGが得られます.
Logistic Map
x = 0.3
for i in range(1,10000):
x = 3.99 * x * (1 - x)
print(f'x_{i}:{x}')
The Original Name of AES
これは調べる問題ですね.
https://ja.wikipedia.org/wiki/Advanced_Encryption_Standard
CVE Record of Lowest Number
これも調べる問題ですね.
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-1999-0001
このページの「Description」の欄に ip_input.c
とあります.
MFA FACOR
Browsers Have Local Storage
とりあえずディレクトリ探索してみます.gobuster dir -u 10.10.10.30 -w /usr/share/wordlists/dirb/common.txt -o gobuster_log.log
すると/js
というファイルがあります.
localStorage.js
の中に答えがあります.
*ディレクトリ探索しなくてもページのソース見ればわかりましたね.
おわりに
今回のCTFはちゃんとCTFの勉強を始めて2回目のCTFでした.
午前しか参加できませんでしたがまだまだ自分の知識不足を痛感しました.
これからももっと精進していきたいと思います.
参加された皆様,またどこかのCTFでお会いした際にはよろしくお願いいたします.