0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

NISM CTF 2022 Writeup

Posted at

開催期間中にTwitterのTLに流れてきて、飛び入り参加しました
初めてCTFで全完できて気持ちよかったです

[Forensics] Lost USB memory (77 Solves)

あっ、大切なUSBメモリを紛失してしまった。まぁでも重要なデータは削除してたから大丈夫でしょ。

配布されたbinファイルをfileコマンドで調べると、DOS/MBR boot sectorと表示された
なんぞやと調べるとディスクイメージのようだ

binwalkで取り出せるとのことなので、やってみる
binwalk -e problem.binでは上手く抽出できなかったが、下記サイトによると拡張子を指定すれば抽出できるとのこと

$ binwalk -D='.*' problem.bin

色々出てきた

この中にフラグが書かれているpdfファイルを発見

NISM{1t_1s_34sy_t0_r3st0r3_d3l3t3d_f1l3s}

[Forensics] Hidden files (72 Solves)

長崎で撮った写真を集めてみました。画像に埋め込まれているflagを見つけることはできるかな?

問題文からステガノ問だなと思い、定番の「青い空を見上げればいつもそこに白い猫」を使用
ファイル・データ抽出から検索実行で結合されているjpegファイルを取り出せた
中身を見るとフラグの断片だったので、他の3枚の画像で同じことを繰り返せばフラグゲット

NISM{5pl1tt3d_1mp0rt4nt_f1l35_1nt0_53v3r4l_p4rt5}

[Forensics] A file is opening (51 Solves)

とあるプログラムが重要なファイルを開いているみたい...

メモリダンプファイルを解析する問題、ここからやり方が分からなかったのでハンズオン資料を見た
「Volatility3」というもので解析できるのか、早速下記サイトを参考に導入

後はハンズオン資料の流れに従い、「Volatility3」をインストールしたディレクトリ内で以下のコマンドを入力

$ python3 vol.py -f 'メモリダンプのパス' windows.cmdline.CmdLine

実行されたプロセスの中に怪しいのを発見

4656    notepad.exe     C:\Windows\system32\notepad.exe  C:\Users\Koito_Yuu\Desktop\flag\base64\TklTTXtNM20wcnlfZHVtcF90Mzc3X3U1XzV0NHQzXzBmX3RoM19QQ18xbl90aDNfbTBtM250fQ==

末尾が=なので、base64復号するとフラグが出てきた

NISM{M3m0ry_dump_t377_u5_5t4t3_0f_th3_PC_1n_th3_m0m3nt}

[Forensics] Find Reg Value (35 Solves)

このPCにOSをインストールしたのはいつだろう?

※この問題のフラグはNISM{ }のカッコの中に年・月・日・時・分・秒をアンダーバー区切りにして入れたものです.

例)
答えとなる日時が1970/01/01 10:20:30である場合,フラグは
NISM{1970_01_01_10_20_30}
となります

この問題もハンズオン資料の内容で解けそう(これがないと無理...)
問題名からメモリダンプからレジストリのデータを見ればよさそう
windowsをインストールした日時は、調べると下記レジストリ内にあるとのこと

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\InstallTime

まずは、資料に従い下記のコマンドでレジストリ一覧?みたいなのが見れる

$ python3 vol.py -f 'メモリダンプのパス' windows.registry.hivelist.HiveList

資料より、HKEY_LOCAL_MACHINEに対応しているのは、\SystemRoot\System32\Configのようだ
よってここのレジストリの中身を調べればよさそう

0x8edec008      \SystemRoot\System32\Config\SOFTWARE    Disabled

左に表示されているオフセット値を用いて、下記のコマンドを入力

$ python3 vol.py -f 'メモリダンプのパス' windows.registry.printkey.PrintKey --offset 0x8edec008 --key "Microsoft\Windows NT\CurrentVersion"

表示された結果からInstallTimeを探すと最後の方にあった

2022-07-09 12:20:01.000000      0x8edec008      REG_QWORD       \SystemRoot\System32\Config\SOFTWARE\Microsoft\Windows NT\CurrentVersion     InstallTime     133012080566588255      False

表示されている数値は、Windows時間(NTタイムエポック)というもので、cmdのw32tmコマンドで変換できるみたい
cmdでw32tm /ntte 133012080566588255と実行してフラグゲット

NISM{2022_07_02_13_00_56}

[Web] 超、易問! (109 Solves)

NISMのテーマカラーは何色でしょうか?

URLにアクセスすると、色を選択できるページに飛ぶ
表示されている色を全部選択しても、not correctとなりフラグが出てこない
URLパラメータに?color=whiteと選択した色が含まれるため、ここをNISMのテーマカラーに書き換えればよさそう
NISMのアイコンは青色だと分かったので、?color=blueに変更するとフラグが出てきた

NISM{7h1s_ls_4_GE7_qu3ry.}

[Web] frog, frog, frog (91 Solves)

蛙好きの友人が、蛙と名の付く文学作品を集めたサイトを作ったらしい。せっかくだから見てみようか。

この問題は解くのに一番時間がかかった
作品の中にtitleが「The flag hiding」となっているものが混ざってるのでこれを見ればクリアだなと思うが詰まってしまう

ソースを見るとPOSTメソッドが使われていてディレクトリトラバーサル問ではなさそうだし、どうすればいいんだ...
ページ上部にwelcome, guest user!と出てることから、適当にCookie: user=adminにしてcurlを叩いたりと色々やったが結局分からず、、、

我慢できずにポイント使ってヒント見た
ブラウザの開発者ツールを使ってみよう、とのことでまさかこれだけで解けるやつか...?
隈なく調べると、スタイルエディターのcss内に普通にフラグが置いてあった、、、悔しい!

NISM{Why_c4n_y0u_C_m3!?}

[Web] お米食べろ (55 Solves)

近年はお米の消費量が落ち込んでいる、と言われますが、やっぱり毎日一番食べているのはお米ですよね!
2010年から2020年までの全国の水陸稲作付面積の統計データを集めました。

問題からSQLインジェクション問だなと直感
試しに' OR 1=1;-- で検索すると、全データが出てきた
しかし中にはフラグはないので、別のテーブルから引っ張っらないとダメみたい

まずは、UNION SQLインジェクションでflagの入ったテーブルを探す
下記サイトが凄く参考になった

下記ペイロードでテーブルの情報を抜き出せた

' UNION SELECT table_name, table_schema, null FROM INFORMATION_SCHEMA.TABLES;--

flagsという名前のテーブルを発見、後はflagsテーブルのカラム名を知りたいので、以下を実行

' UNION SELECT COLUMN_NAME, COLUMN_TYPE, null FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = 'flags';--

idとflagの2つあることが分かった、後はflagsテーブルからflagを抜き出すだけ!

' UNION SELECT id, flag, null FROM flags;--

ン?何故か通らない、ナゼダー
調べまくると、どうやらUNIONで異なるDBから結合する場合、db_A.user_entryみたいにDB名もくっつけないといけないようだ

flagsテーブルはflagsデータベース内にあると分かっているので、

' UNION SELECT id, flag, null FROM flags.flags;--

フラグらしきものがたくさん出てくる中、NISMから始まっているのがフラグだな

NISM{wh3r3_m3t4d4t4_1s_loca7ed_d3p3ndz_on_7he_7ype_of_d@t@b@se.}

[NW] Electrical talk (92 Solves)

あなたは、社内ネットワークに接続されている無数のコンピュータの中から、唯一通信できるコンピュータ1台を発見するネットワーク宝探しゲームに参加しています。
様々なIPアドレスへ通信確認をしているpcapと、そのIPとのホスト名対応表を用いて、通信可能なコンピュータのホスト名を答えよ。

回答の際は、次の形式で答えること。ただし、ホスト名には、ホスト名対応表の任意のホスト名が入る。 NISM{[ホスト名]}

pcapファイルをwiresharkで開いてみる

pingを色んなIPに投げている、この中から応答が返ってきているIPアドレスを探せばよさそう
適当にSource addressを降順で並び替えると、一番上にEcho replyしているIPアドレスが来た
後は、ホスト名対応表から探せばクリア

NISM{tHekLRUU3dRMH5kJ5Q}

[NW] Insecure communications (84 Solves)

ネットワークの勉強の一環で、親友の同意のもと、親友のネットワークを数分キャプチャさせていただいた。
どうやら、親友はある会員向けのHTTPサイトにアクセスし、会員限定記事を見ているようだ。
僕も見たい。そこには魔法のflagが隠されているみたいだ、、、
与えられたpcapより、会員向けサイトのクレデンシャルを見つけ出し、実際にアクセスして自分の目でflagを確認してみよう。

pcapファイルを見ると、HTTPとTCPで通信している内容だと分かる
追跡からTCPストリームを見て閲覧サイトのURLが分かるが、フラグの在り処が分からない

そういえば、WiresharkはHTMLファイルなどエクスポートできるんだったと思い出したのでやってみることに

ファイル > オブジェクトをエクスポート > HTTP を選択
とりあえずすべて保存、するとmail-maga-auth.pyという怪しいファイルを発見
中身を見るとユーザ名とパスワード、ログイン失敗画面のhtmlっぽいぞ
ここからURLも/magazine.htmlと分かる

wiresharkでmail-maga-auth.pyのホスト名を見るとelectronicから始まっていることから「津田社電子」のサイトにメルマガ会員ページがあると判断

後はどのパスワードを使用すればいいかだが、wiresharkで得られた最後のmail-maga-auth.pyに書かれたものを使ってみる
パスワードは一部がURLエンコードされていたので、デコードすると通った

NISM{like_a_magic_highway_and_network_is_deep_but_fun}

[NW] Where am I? (93 Solves)

ネットワークを学習する上で避けては通れないサブネットマスクの計算。
力試しでやってみましょう。

192.168.1.0/28のネットワークにおいて、192.168.1.93のネットワークアドレスを答えなさい。
なお、解答の際はNISM{[IPアドレス]}の形式で答えること。

例:回答が192.168.250.34なら、回答はNISM{192.168.250.34}となる。

CMANのサブネットマスク計算を使った

NISM{192.168.1.80}

[Misc] カラーコード (117 Solves)

NISMのロゴマークに使われている青色は、RGB形式で表すと、rgb(0,153,204)です。この色のカラーコードを答えてください。flagは、NISM{#xxxxxx}の形式で答えてください。

「rgb カラーコード変換」と検索
出てきた下記のサイトでrgb値を入力してカラーコードを求める

NISM{#0099CC}

[Misc] 奇妙な文字列 (115 Solves)

こんな意味不明な文字列が友達から送られてきたんだけど、君は解読できるかい?
TklTTXtiQHNlNjRfYzRuX2IzX2VhNWkxeV9kZWMwZGVkfQ==

末尾が=と、見るからにbase64なので復号

NISM{b@se64_c4n_b3_ea5i1y_dec0ded}

[Welcome] When is Christmas ? (139 Solves)

今年も、皆が待ち望むクリスマスがやってくる。クリスマスは、おいしいケーキにおいしいオードブル。考えるだけでお腹が空いてきますね。
さて、今年のクリスマスはいつでしたっけ?yyyy_mm_ddで答えてください。

flagはNISM{[半角英数字記号]}の形式です。
今年のクリスマスは、2022_12_25ですので、本問のflagはNISM{2022_12_25}となります。

*flagは、NISM{2022_12_25}です。*

フラグを入力するだけ

NISM{2022_12_25}

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?