【参加記】KOSENセキュコン2019【writeup】

KOSENセキュコン2019に 一関高専.zip として参加しました。 結果は1160ptで15位(49チーム中)でした。

私は9問解いて700点を入れました。以下簡単なwriteupです。

回答は半角で

パーセントエンコーディングされたと思わしき文字列が渡されます。

https://ja.wikipedia.org/wiki/%e3%83%91%e3%83%bc%e3%82%bb%e3%83%b3%e3%83%88%e3%82%a8%e3%83%b3%e3%82%b3%e3%83%bc%e3%83%87%e3%82%a3%e3%83%b3%e3%82%b0

こんなのです。URL decode みたいな感じで検索をかけて出てきたデコーダにかけるとフラグが出てきます。

伝統的な暗号

エスパーをしました。 単一換字式暗号ではなかったのと、「伝統的な暗号」ということがありました。 なのでVigenere cipherかなと思い文字数を確かめたらそれっぽかったので提出したら通りました。犯罪者。

無言のELF

実行ファイルが渡されます。

$ ./a.out
AAAAAAAA
login incorrect

こういうときの定番としてとりあえず strings を叩いてみるというのがあります。列挙された文字列の中からそれらしきものを一通り試すと

$ ./a.out
kosensecuritycontest2019
CTFKIT{hpb5ipher_et3phet5o}

拡張されたIPv6

問題文のヒントに従い、 IPv6 整数 拡張Twitter検索をかけます。

プログラミング言語を当てよう

「今話題の」プログラミング言語を当てよとのことでした。Twitterでこの話題を見ない日はなく、またしてもTwitterに助けられます。ありがとうTwitter....(KISS)

www.bcnretail.com

大人たちの無意味な慣習

pcapファイルが降渡されます。HTTPでいろいろなことをしていたので

ファイル -> オブジェクトをエキスポート -> HTTP

で.htmlや.zipを取り出します。html側でパスワードをやりとりしているのでそれを使ってzipを解凍、フラグを取得しました。

最後に消したファイル

FTK Imagerで消えたファイル( .flag/beelzebubu.key )を取り出します。

cyberforensic.focus-s.com

これは秘密鍵なので、flag/mullin.encrypted を復号してフラグ取得です。

目に見えなくても

ページのソースにフラグが書いてあったと記憶しています。

メモリダンプ

解けませんでした。

Windows7のクラッシュダンプが渡されます。

Volatilityを使ってfilescanをしていると URESHINO-PC-20181219-051007.dmp というのがあり、オッこれか?となりましたがそれ以上の進展はなく終了。

ちなみにこのファイルは一切関係なかったっぽいです。(svch0st.exeがせいかい!)

感想

こいつ自明問しか解いてないな。技術的進歩が一切ありません。どう考えても後輩に譲るべきでした。

来年も出られたら出ます。運営の皆様、作問者の皆様、ありがとうございました。

Goで機能を追加しつつ私のクローンを書き直した

この記事は高専 Advent Calender 20183日目の記事です。前日はnomunomu0504さんのAndroid, Kotlin + Camera API v2 でカメラ機能を実装するでした。アプリ開発ができる人、とてもかっこいい。

nomunomu.hateblo.jp

誰ですか

ゆきばらです。

TL; DR

Golangマルコフ連鎖をして呟くBotを作った。 焼き直しでつなぐ私の人生。

続きを読む

Haskellで私のクローン(bot)を書いた

この記事は高専高専abcは今月ではない

ゆきばらです。ソースコードがいっぱいあって長いです。ごめん。

何をしましたか

ゆきばら のコピー(@ykbr__ai)を作りました。アンダーバーは二つあります。
コードはこれです。積んでいたすごいH本をこのままにはしておけず、Haskellの勉強を兼ねてやりました。@hsm_aiの二番煎じ

github.com

続きを読む

procon29に参加した話

ゆきばらです。

何?

第29回全国高等専門学校プログラミングコンテストに一関高専からリーダー(@devkarasu)、後輩(@1st_vil)と競技部門で参加しました。

私と後輩がエージェント、リーダーが司令官といった形です。

結果は予選1勝2敗、敗者復活戦0勝2敗といった結果でした。

良かったこと

続きを読む

KOSENセキュコン2017に参加しました

10/21,22に開催されたKOSENセキュリティコンテスト2017にMochiShockで出場し、17位でした。

以下WriteUpです。

03 ボスを倒せ(200pt)

ユーザー名を入力すると自動で10ターンボスと戦うプログラムが動いていました。
とりあえずたくさん文字を入力してみたところ両者の体力が変動していたので、どれくらいでオーバーフローするのか試していたところ、たまたまボスの体力が2桁になりそのままフラグを手に入れました。25文字程度だったと記憶しています。

04 OreNoFS(500pt)

解けませんでした。 flag.zipの中にflag.pngがあること、flag.zipが分割されて格納されてるっぽいことがわかりました。 そこで私がとった手段は、間に入っている00をすべて取り除いて全部繋げてからATをそれっぽく書き換える、でしたが全くうまくいきませんでした。

05 簡単な符号化(100pt)

見てみるとアルファベットが羅列されています。 ここで素直にBase64Decodeをかければ良かったのですが、

「頻出文字列(MDAw)あるし消しとこw」

してしまう暴挙に出ました。
その後デコードすると先頭が 4b 50 04 03 だったのでこれは.zipだということになり、メンバーにPythonスクリプトを組んでもらったのですが。

案の定解凍時に怒られ、ここでチームの時間を吸いました。 結局、2日目になってから元文のままデコードし、前述のスクリプトに通すことをしました。出てきたものは中身がwordフォルダ等だったので、ワードで開いてもらってフラグ入手です。

11 君(脆弱性)の名は(100pt)

CVE-2017-13077ググるとWPA2の文字が見えたので、KRACKsと入れるとポイントが入りました。

12 便利なプロトコル(100pt)

1998 dhcp protocol1998 network protoclなどで検索していたところ、Peg DHCPという画期的アイディアが1998/04/01に提案されていました。フラグはそれの提案名である

Management of IP numbers by peg-dhxp

のスペースをアンダーバーに置き換えたものだったと思います。

13 諜報機関は基本?(100pt)

競技の前に行われた講義で聞いた内容そのままでした。CIAですね。

14 素数を数えろ(100pt)

5桁の数字のうちで最大のものがフラグとのこと。ググりました。

18 ログインせよ(100pt)

ログインフォームがあったので、
user:admin
pass:' or 1=1 -- でフラグゲットでした。

感想

この類のコンテストは初の現地参加でした。
おそらくコードを一行も書けておらず、プログラミング力の無さを痛感して悲しい気持ちです。解いたのはほぼMiscです。
ですが楽しくなかったかといわれるとそんなことはなくて、むしろ現地特有の空気とか盛り上がりとかを直に触れられて非常にモチベーションが上がりました。
プログラミング力をつけて次回以降は悲しい気持ちの無いようにしていきたいです。

最後に

運営の皆様、引率の先生、チームメンバーの方々、お疲れさまでした。精進します。