見出し画像

防衛省サイバーコンテスト2023 感想とwriteup

2021年から開催されている『防衛省CTF』こと(?)、防衛省サイバーコンテスト2023に初めて参加してみました。感想とwriteupを書き残しておきます。


結果と感想

31問(Welcome除く)中、20問解けて全体の上位15%ぐらいでした。全体の参加者数は約270名でした。
競技時間はAM9時からPM9時までの12時間で、最初の4時間は別用事+昼食で時間が取れず、8時間ほどの取り組みだったのですが、おおよそ解ききった状態まではいけました。個人的には問題数ちょうどよかったです。

露骨に難しい問題が解けていない(悲)

問題は10、20、30点の3段階でレベル分けされていましたが、よわよわなので30点問題は1問も解けずに終わりました。(writeup書くけど、簡単な問題ばっかですまんな!)

このイベントでは過去には1人も解けないような問題が出題されたこともあっ(て叩かれてい)たようですが、今回は最難関の問題でも数人正解している方がいらっしゃったり、上位でも点数がバラけていたりと、難易度もよいバランスだったように思います。

問題の傾向として巷のCTFで出るような尖った問題もなく、サイバーセキュリティに関する全体的な基礎知識(~応用知識)と、ツールの知識&使い方を問われているように感じました。(防衛省がこのイベントを通してどんな人材をリクルーティングしたいのかまでは定かではありませんが…)

writeupはごく簡単な問題しか解けていないPROGRAMMINGとPWN以外の解けた問題を載せておきます。

CRYPT

Simple Substitution Cipher(10)

単純なシーザー暗号
使用ツール:dCode.fr

Substitution Cipher(10)

単純なヴィジュネル暗号。先頭がThisになるっぽかったので鍵を推測して、éで文字がずれたので適当に調整。
使用ツール:dCode.fr

昔社内CTFでヴィジュネル暗号の問題を作問したのを思い出し懐かしくなりました

Administrator Hash (NTLM hash)(20)

Mimikatzに入れるだけ。
使用ツール:Mimikatz

Administrator Password(20)

前問のハッシュをhashcatに入れて、rockyouパスワードリストで調べる。
使用ツール:hashcat

FORENSICS

The Place of The First Secret Meeting(10)

右奥に写っている「ダイアパレス丸の内」でGoogle Map検索して高松城、写真の構図に合う建物は「艮櫓」
使用ツール:Google Maps

They Cannnot Be Too Careful.(10)

Autopsyでうまく復旧できなかったため、UndeleteMyFiles Proを使用してファイル復旧。John the Ripperとrockyouパスワードリストでパスワード解析。
使用ツール:UndeleteMyFiles Pro、John the Ripper

The Deleted Confidential File(20)

zipファイルに含まれてました。その後の問題で解凍するのでどちらにせよ見つかります。
使用ツール:Stirling(いらない)

Their Perpetration(20)

Autopsyで「USBSTOR」と文字列検索したら見つかりました。
使用ツール:Autopsy

NW

Transfer(10)

digコマンドのBINDのバージョンを調べるオプションを使ったら出てきた。
使用ツール:dig
参考:奥が深いDNSサーバーとdigコマンド

Analysis(20)

ログの種類が多いものからgrep -vで除いていったら残っていた。
使用ツール:grep

Enumeration(20)

誤答ペナルティがないのでPostfixのバージョン履歴を上から入れてくだけw
解かなくても解ける悪問・・・。
使用ツール:なし

*と数字の桁数も一緒という・・・

TRIVIA

初心者にも優しい大問も用意されていました。

Threat(10)

そのままです。

Behavior(10)

そのままです。

Inventor(10)

シャミアしか覚えてなくてWikipediaみた。

WEB

Basic(10)

httpの通信に絞って、200が返ってきているリクエストを見る。
使用ツール:Wireshark

Credentialsにそのまま

Discovery(10)

dirbでまずフォルダを探索し、その後Xオプションでhtmlファイルを探索
使用ツール:dirb

ヒント開けました
フォルダの調査
htmlファイルの調査

Bypass(20)

年齢がJavascriptで入力制限がかかっているので、ChromeのJavascriptを無効化。scriptの文字が1回だけ置換されるので、scriptに内包。
使用ツール:なし

1つヒント開けました(ナイスヒントでした)
ユーザ側で入力制限が!
すっきり

Spray(20)

wgetで100名分のプロフィールをダウンロード。(ログインセッションを残すためにload-cookiesオプションを使います)
ダウンロードしたファイルからメールアドレスの部分を使用して、ユーザ名の一覧を作成。ZAPのFuzzer機能を使用し、100ID×2パスワード(passwordと123456789)でログインできるかリストアタックを実施し、ログイン成功を確認。
使用ツール:wget、ZAP

100名分ダウンロード中
メールアドレスからユーザ名の一覧を作成
OWASP ZAPじゃなくなるZAPくん
すっきり

この記事が気に入ったらサポートをしてみませんか?