開催期間中に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}