Global Cybersecurity Camp 2023 Singapore 参加記

はじめに Global Cybersecurity Camp(GCC) 2023 Singaporeが2月13~17日の間に開催されていました。 GCCは人材育成とコミュニティの形成を目的として開催されているイベントです。 GCCについての詳細は公式ページをご覧ください。 今年はなんと2020年ぶりのオンサイト開催なので、選考を通過すると無料で海外に行ける太っ腹イベントになっています。 今回、選考通過し、イベントを終えて来たので、参加記として後世に残しておこうと思います。 他の参加者の記事 watasukeさん(弊チームのモデレータさん、お世話になりました🙇) GCC 2023 Singaporeにチューターとして参加しました yu1hpaくん(記事👇でも言及されていますがお話できてとても楽しかったです🙌) GCC 2023 in Singapore 参加記 セキュアスカイ・テクノロジーさん(マンゴスチンをおすそ分けしていただきました。ありがとうございます。美味しかったです😋) GCC 2023 Singapore スポンサー視点参加レポ 参加前 GCCがオンサイトで開催されることを知って応募するか〜と思っていました。 個人情報多めなので応募書類を晒すことはしないですが、研究とかインターンの経験を書いて課題を解いたという感じです。 応募締め切り付近は研究タスクに追われていてかなり参っていたのですが、よく出したと思います1。えらいぞ、自分 😤 正直受かるとは思っておらず2、選考通過メールが届いたときはびっくりしました3。 受かってからは事前課題(といっても大体は環境構築)をして気づいたら出発前日でした。 参加中 一部時間が変更になった講義もありますが、大まかなスケジュールはこちらで公開されています。 移動日と講義に分けて簡単に振り返っていきます。 day0(出国&アイスブレイキングディナー) フライトが羽田発だったのですが、朝が異常に早くつらかったです。 あと早朝の電車なのに死ぬほど人が多かったです。東京怖いですね。 シンガポールまでは7時間ぐらいのフライトでした。 当然ですがシンガポールに到着してからは気温が高いので、蒸し暑さが新鮮でした。 ホテルにチェックインするぐらいから、英語でサバイブする必要があり、ドキドキしていました。 また、受講生は国籍が異なる2~3人で一部屋となっており、僕の場合は2人部屋だったのでその点もドキドキしていました。 部屋にすでにいるのかな?と思っていたけどまだ到着していないようでした。 アイスブレイキングディナーは日本チームが到着する頃にはすでに始まっており、ご飯も残り少なく悲しかったです。 とりあえずお酒を飲んで、いろいろな人と話していました。 このときに同じグループメンバーと会えたことや、ルームメイト、お酒好きの子4と話せたのは運が良かったです。 day1~5(講義) 翌日からは5日間講義メインでした。 講義内容についてはあまり言及できない5のですが、簡単に各講義の感想と講義中の生活についてまとめます。 Introduction to Web Pentesting(day1) 一番最初の講義。 Webの基礎からBurp Suiteの使い方、OWASP Juice Shopを使ったCTF形式の実践までを学びました。 CTFと聞くとワクワクする人間なんですが、例にもれず楽しかったです。 OWASP Juice Shopは今まで触ったことがなかったのですが、recon要素が結構あって大変でした。 実際のpentestってCTFと違ってrecon要素があるのは当然なのですが、競技+時間制限があると焦ってしまう。 Hackathon of Powershell Malware Detection Engine(day1, 3) Powershellマルウェアの利点や性質を学んだ後、Powershellマルウェアの検知を行うスクリプトを作成する講義でした。 この講義はグループ内でアイデアを出し実装するので、ディスカッションをするのですが、英語力がなく方向性について議論ができなかったのが悔やまれます。 自分の実力不足によって十分に参加できなかったのは残念ですが、とてもクリエイティブな講義で楽しかったです。 結果としては弊チームは3位でした、チームメンバーがとても優秀でしたね👏。...

2月 23, 2023 · 1 分 · yoshiking

CakeCTF 2021 振り返り

今年もtheoldmoon0602とptr-yudaiと僕の3人でCTFを開催しました。 前年度まではInterKosenCTFという名前で開催していたのですが、今年は名前を変えての開催となりました。 他の2人の記事 theoldmoon0602: https://furutsuki.hatenablog.com/entry/2021/08/29/224254 ptr-yudai: https://ptr-yudai.hatenablog.com/entry/2021/08/30/000015 問題リポジトリ https://github.com/theoremoon/cakectf-2021-public 作成した問題について [rev] Hash Browns 単純なx64elf解析問題です。 関数fでなにかやってますが、見る人がみるとxgcd()に見えるのかな?と思います。わからなくても動的解析をしたり、デコンパイルしたコードを実装すればなんとかなると思います。 ハッシュが含まれる2つの配列のindexがそれぞれわかれば、ローカルでハッシュ値と合う文字を1文字づつ探索すればフラグが入手できます。 関数fの理解がからっきしだめでもフラグの偶数indexは復元できます。 そこから奇数indexの文字をエスパーするみたいなことができ…ないです(たぶん)。 フラグを入手された方はわかると思うんですが、フザけたフラグになってるのでエスパーは厳しいと思います。 reversingの作問は初めてだったのでreversingの問題としての面白さがわからず不安でした。 Surveyを見た感じそれなりに楽しんでもらえたようでほっとしています。 ちなみに問題名のHash Brownsは去年のこのCTF(旧InterKosenCTF)でボツ問になった問題名から取ってきてます。 writeup: https://hackmd.io/@ptr-yudai/rJWHh_SwO [crypto] Together as one 基礎的な初等整数論の知識で解ける問題です。 この問題はzer0pts CTF 2021を目標に作ってたけど、納得の行くものになったのが開催前日とかでこちらで出題しました。 当初はmediumぐらいで出してたけど、謎のパワーでlunaticになりました。 なんか毎年難易度推定バグってるけど、dynamic scoringだしまぁいっか!(おっとぼけ)という気持ちが自分の中である気がする。 よくないですね。 善処します。 問題名のTogether as one はTimmy TrumpetのDiamondsから来ています。素数が3つ集まっている感じとか、Together as one っぽくないですか(僕だけ)? writeup: https://hackmd.io/@yoshiking/rJ5suNPXO [misc] Break a leg miscのwarmup枠で出した問題です。 authorがtheoldmoon0602と僕になっていますが、これは僕の原案をtheoldmoon0602がいい感じにした結果がこの問題です。 ん〜、まあこれは特にコメントはないです。 感想 毎年大した仕事もせずに運営面をしているわけですが、今年も例にはもれずプー太郎でした 🐻 。 作問能力も運営能力も他2人の足元にも及ばないことは明らかだけど、それはそれとして今回の準備どうなのって感じだと思います。 運営中は序盤ではドタバタしながらフラグの修正したりしました。 残りの時間はブラウザで遊べるゲームをみんなでしてました。 大体負けた記憶しかないですが、めちゃくちゃ楽しかったです。 あと、最近失いかけていた関西弁が戻りました。 今はよくわからない言語を話しています。 最後に参加者の皆様ありがとうございました、お疲れ様です。 また、ポジティブな意見をくださった皆様もありがとうございます。 次回の励みになるので褒めてください 🐶 。 運営の2人もお疲れ様でした。 仕事サボってごめんなさい。

8月 29, 2021 · 1 分 · yoshiking

SECCON Beginners CTF 2021 参加記

⚠️ Wrteupではなく"参加記"です。読み物としてご覧ください。 書いてみたらそんなことはないかも、いやそうかも?わかんない はじめに 一人チーム(UdagawaWhiteBears)で出て、42位2602点でした。 内訳としては、cryptoとrevは全部解き、他ジャンルは簡単な問題をいくつか解きました。 普通にwriteup書いてもな〜(なんで?)となったので、今回はどのような流れでcryptoを解いていったのか流れを書いていこうと思います。 なんでこんなことをやりだしたかというと、ptr-yudaiが書いたTSG LIVE ! 6 CTFのWriteupが面白かったからです。 あとは、数式を書くのが面倒だからです(ぶっちゃけ)。 作問者writeupも出ていますし、SECCON Beginnersなので日本人の参加者は多いと思うので、詳細は他の人が書いてくれるでしょうと信じています。 あと、全然理解せずにこいつ解いてるんだな〜みたいな様子が伝わればいいなと思います😇 開始前 16:00から開始だと思ってたら14:00からで、ちょっと焦った記憶があります(遅刻はしてないけど)。 pwnerと違ってcrytpoでは特に準備することがありません。 わくわくしておけば💯だと思います。 真面目な話をすると、先述のptr-yudaiの記事ではpythonとsageをまず実行しておくと次に起動するときに早くなるらしいですが、全然知らなかったしやってないです。 まあ誤差でしょう() 戦略的にはcrypto全部解きたいな〜ぐらいに考えていて、beginner向けなので、難しい問題から手をつけていこうと思っていました。 はじまりはじまり〜🎉 14:00! はじまり〜〜、わくわくしすぎてワクワクさんになりました。 早速、問題に取り掛かろうと思うのですが、ファイルのダウンロードができません😢 問題サーバーは生きてるので、ncする問題(Imaginary)があったのでこれを見てみることにしました(難しい問題からやる?そんなことはとうの昔に忘れました)。 [crypto] Imaginary 接続した感じと問題文で、わぁ〜なんか虚数じゃん、ツラと思います。 $ nc imaginary.quals.beginners.seccon.jp 1337 Welcome to Secret IMAGINARY NUMBER Store! 1. Save a number 2. Show numbers 3. Import numbers 4. Export numbers 0. Exit > べそをかいていると、ファイルのダウンロードができるようになりました。 さすがLMT、30秒もかかってないんじゃないでしょうか(適当)。 ファイルを見ていきます。 うえ〜〜、100行以上あるじゃん、ぴえんです。 CTFというのはフラグと呼ばれる文字列を見つけるゲームなので、とりあえずCtrl + sでflagを探してみます(emacs user)。 def _secret(self): if '1337i' in self....

5月 23, 2021 · 6 分 · yoshiking

Hello World

はじめまして。 以前はhatena blogに記事の投稿をしていましたが、github pageを使ってみることにしました。 理由としては、hatena blogでのtex記法があまり書きやすくなかったとか、go言語触り始めたぐらいでhugoの存在を知ってなんとなく、というただの好奇心です。 今使用しているテーマ(PaperMod)はダークモード対応でさらに英語と日本語で記事を分けられて気に入っています。 普段英語で書くことないんですけどね…

3月 18, 2021 · 1 分 · yoshiking