CTF班・第8回の活動をしました

2年部員の井上 (sei0o)です。こいつはTwitterアカウントを書かないと気がすまんのか。今日も元気にCTF班!
今回は画像フォレンジックの問題を扱いました。資料はWikiに置いてあります。file, xxdコマンドでざっくりファイルの情報を確認した後、stegsolveを使って解析。その後スクリプトを書いてみる…までできればよかったのですが、そういえばプログラミングの講習をほとんどしていないのに無茶だと考え、仕組みを解説するに留めました。
フォレンジックは見た目的にもわかりやすく、割と興味を持ってもらえたようで嬉しいです。来週の火曜日はminiCTF2の解説をする予定ですが、全完されたら困るなあ(困らないけど)。作問も難しいですね〜
今日は割と資料にすべて書いて、余計なことを口走って混乱させないようにしつつ軽い解説とサポートを中心にしていました。そのためホワイトボードに書くこともほぼなくなりアイキャッチの画像が設定できません!w
まだLinuxに慣れていないのか、ツールの導入で詰まりやすいとわかったためこうしました。それでも「No such file or directory」ぐらいなら読んでほしいなと思います。
次は資料もプログラムも遅筆なのをなんとか改善したいと思いいろいろ調べているところです。1時間ぐらいでかければ文句ありませんが、現状では3時間以上食ってます…

CTF班・第7回の活動をしました

2年部員の井上 (sei0o)です。上の画面で中学生10人は釣れると思います。ちなみに今日はCTF班バーチャル回でした。

バーチャル回?

おっと(←わざとらしい)、バーチャル回の説明をしていませんでしたね。端的にいうとDiscordなりLINEなりで通話しながら部活しようぜというものです。遠隔で行うことで以下のような問題が解決されてほしいなあという期待。

  • 他の部活と曜日が重なって来れない人が結構いる(ロボ研などとは違って求心力のない部活なので部員は他を優先する傾向にある)
    • →バーチャル回は夜20:00からにしました
  • 情報センターはCTF班以外の人が多くてやりづらい・横並びに座るのでみんなの進捗が見えづらい
    • →顔が見えないのでやりやすい
  • 講義役が立ってホワイトボードに書き込む必要があるのでしんどい
  • そもそも前期で9回しか部活できない
    • →バーチャルやって週2にできる

感触はそれなりに良好で、話す側としても圧倒的に気がラクでした。実際に行って初めて気づいたメリットとして、音声通話だと相手は相槌を声で発する必要があり、より明確になることが挙げられます。うなずく動作だけだと曖昧にしか捉えられずこちらの言うことが伝わっているのか不安でした。
実は第4回第5回の講義は通常の火曜日の活動に加え、水曜日20:00から同じ内容を私の寮部屋で行っていました。男子寮生は寮部屋で、そうでない人は通話で参加です。
ただ同じ内容を2回話すとおそらく私が飽きてしまうので、今週から内容は変えることにしました。回も分けて第6回(通常回=オフライン回=オフ回)・第7回(バーチャル回)としています。

第7回の内容

angstromCTF 2018で出題された「Rev1」という問題を題材に、x86アセンブラ, デバッガの紹介をしました。とりあえず動かしてもらって、表示された文字列がどこからやってきたのか逆アセンブラ(objdump)やデバッガ(gdbでx/sとか)を駆使して探してみてもらいました。資料はWikiに置いています。
完成していない資料をその場で作りながらわりとざっくりした解説しか行っていないのですが理解できたみたいでよかったです。

CTF班・第6回の活動をしました

2年部員の井上 (sei0o)です。そろそろ名乗らなくてもいい気がしてきました。今日も講義っぽいことをしました。1年生が3人、自分を含めた2年生が2人です。
テーマはAndroidのアプリ解析です。資料はWikiに置いてあります。BSideSF CTF 2017: pinstore の題材に、FLAGを取る途中までをやってみようということで書いてみました。
APKからデータを取り出したりclassファイルをデコンパイルしたりしたかったのですが、実際はみんなの事前準備(dex2jar, jad, sqlitebrowserのインストール)がうまくいっていなかったようでそっちに時間を取られ深い説明ができませんでした…。jadが32bitバイナリで、私の環境では普通に動作したにもかかわらず、64bit上のUbuntuで動かなかったので詰まってしまいました。「インストールだけじゃなくて事前に動かしてみてね」と次からは書きます。
あと「これなら説明できるぞ」とか思って適当に題材を選ぶと自分にとっての常識であるSHA1, SQL, etc…について1から説明することになるのでなかなかつらい。うーん、どうにかしてこのあたりをスキップできないかなあ。
Volatilityとか使ったメモリダンプの解析も触ると楽しかったので勉強していつか紹介したいです。

CTF班・第5回の活動をしました

2年部員の井上 (sei0o)です。火曜日はCo+workの用事があったので今週は水曜日にずらしました。1年生が3人、自分を含めた2年生が2人です。
今日はpkcrackを用いたZIPファイルへの既知平文攻撃について話しました。資料はWikiに置いてあります。せっかくなので攻撃原理を学んで解説できるようになりたいな、と思い開発者による論文やそれに関係するスライドをまとめようとしたのですが、なかなか理解できず中途半端に終わってしまった・ただの翻訳になってしまったので外部ページ(資料末尾のリンク)に分けました。それゆえいつにも増して量が少ないです。早く書き上げたい。
ビット演算についても軽く話しました。プラレール加算器はすばらしい。
資料の内容が終わったあと「バイナリ解析興味ありま〜す」という人がいたので、Linuxの実行形式のフォーマットであるELFとx86アセンブラ、アーキテクチャのざっくりとした・初歩的な解説をしてみました。いきなりだったので、とりあえず知っていることをガーッと一方的に話してしまいました。その場で適当なソースをコンパイルしてからobjdumpとかで逆アセンブルしてもらえば手が動かせてよかったよなぁと反省しています。
汚い文字・不確かな内容・手ブレ写真のトリプルコンボ[/caption]
解散後に理解できたかどうか聞いてみると「全然(わからない)っすw」とのこと。(´・ω・`)どうしよう…

CTF班・第4回の活動をしました

2年部員の井上 (sei0o) です。地道に更新しています。今日もCTF班の活動をしました。自分含めた2年生が2人・1年生が2人です…人減ってない?やっぱり曜日戻した方がいいかもしれませんね。
授業が50分後にずれた都合上1時間だけです。資料はこちらに置いてあります。
XSSの基本の部分を解説しました。1年生がまだ授業でHTML, CSS, JavaScriptを扱っていないそうなのでそのへんもざっくり。数日前に「5000兆円コンバーター」に脆弱性が見つかった記事がITmediaに載っていたのでこれを題材にしてみました。
あ〜〜〜CTFできるようになりた〜い〜〜

情研Wikiをつくりました

2年部員の井上 (sei0o)です。最近はCTF班で1年生にバイナリをぶつけています。「ScrapboxとかSlackに保存されてバラバラになっている資料、まとめたほうがいいよね〜」ということでテスト勉強の合間にWikiを作りました。wiki.jyoken.netにあります。
もともとはこのブログ含めてHugoなどの静的サイトジェネレータでいい感じにサーバーレスにしたかったのですが、その場合コンテンツはgitでの管理になるので更新の障壁になると考えやめました。代わりに、ブログは現行のWordpressのままで、WikiにはDokuWikiというシステムを使うことにしました。php.netにも使われているみたいです。
導入はずいぶんラクで、ファイルをダウンロードしてnginxの設定を書き換えるだけでした(ドメインとHTTPS化はやってもらったけれど)。個人の好みでMarkdownプラグインも入れました。デザインが若干古臭いので気が向いたらテンプレートも探してみます。
ちなみに、Wikiのシステムは以下のようなことをぼんやり考えながら選びました。完全に独断です。

  • Wiki
    • 目的: 資料を公開する、知見を貯める(→実用?)
    • 具体例: CTF班資料、自己紹介、私的メモ、write-upもこっちか
    • 手段
      • MediaWiki なんかありきたり()
      • Wiki.js 日本語翻訳の怪しさがスパムウェアの域
      • GitHub Wiki 機能が貧弱
      • Moinmoin UECのMMAが使っている・最終更新が古い
      • Dokuwiki そこそこ開発が活発
  • ブログ
    • 目的: 外部に発信する、活動記録を残す(+ 私的感想?)
    • 具体例: 日々の活動、部会
    • 手段
      • 手軽なほうがみんな嬉しい→Wordpressかなあ

もともとのコンテンツ量が少ないのでこれからなんらかの方法で更新を増やしたいです。そのためにはまず活動をしてネタを作り出す必要が…

CTF班で第2回の活動をしました

2年部員の井上 (sei0o)です。5月23日、中間試験直前にCTF班で2回目の活動を行いました〜。1年生が7人と2年生が自分1人でした。私はHRで遅れたので講義っぽいことをしたのは1時間半だけです。
したことをまとめておきます。資料はWikiに置いています。

  • バイナリエディタでファイルを見てみた
  • バイナリかるたを見せてみた
    • 先頭=シグネチャを見る
  • 圧縮・解凍の話
    • DeflateとかZIPとか
  • 各Linux distroの紹介
    • OSはアプリとハードをつなぐもの (575
  • アーキテクチャ
    • x86 (x64)が普通のパソコン
    • ARMなどは携帯, 組み込みによく使われる
    • SPARCはスパコン京
  • 次はUSBの話とLinux Install Battle

CTFって結構前提知識いるんですね、全部雰囲気でやってるからよくわからなかった…。事前に資料を作っていても、そこから離れた基礎知識を伝える必要が出てきたとき(ZIPを知らない人がいた)にうまく説明するのが難しいな〜〜と感じます。
バイナリかるたを実際にプレイするところまでは行けなかった…ホームルームを許さない

新部長となりました

新部長に選出されました。洞井です。
今年は以前からあった競技プログラミング班やCTF班だけでなく、開発班や、DTM班が活動を開始しました。
以前に比べさまざまな得意分野や個性をもった学生が集う場所となるであろうことを期待するとともに、そんな部のリーダーとして部員をまとめ上げることができるか少々不安ではありますが、一生懸命頑張って行く所存です。
ここで自分が把握している限りですが、今年度の現時点までの情報工学研究部の活動実績としては、
JOI本戦出場 一名(Aランク)
です。
(高専セキュリティコンテストは部の活動かどうか判断しづらいため割愛しました。)
話を戻しまして、頼りない部長ですがよろしくお願いします

jyoken.netを立ち上げました

後期中間テスト中かつ週末はJOI予選/SECCONのQualsですが(ヤバそう)、nginx+CloudFlare+WordPressで情研のwebサイトを作りました。
過去の記事もインポートしました。

全国高専プログラミングコンテストに参加しました #procon28

1年部員の井上です。
同じく1年部員の前野大谷と平成28年度全国高専プログラミングコンテストの競技部門にチーム「パズルDaisuke」で参加しました。

数十個の与えられたピースを組み合わせてパズルを完成させるようなアルゴリズムを考えプログラムを書くことがその内容でした。作業の分担がうまくできず、またメンバーのスキル不足もあり勝つことはできませんでした。
とはいえ、現地で他高専の人々からよい刺激を受け、つながりを得ることができました。刺激を受けすぎて期間中は足が痛くて立っているのがやっとでした。
競技の時間以外も徹夜でコードを書いたり、自由部門や課題部門の制作物を見学したりするのが楽しかったです。
どうでもいいことを書くと、夕食は2晩ともインドカレー屋でした。
帰りの新幹線の切符を買うお金を引き出そうとしたら、知らない間にキャッシュカードが利用不可能になっていて大変でした。
2年生になっても勉強を重ねて、機会があればまた出場したいです。