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できるようになりた〜い〜〜

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を知らない人がいた)にうまく説明するのが難しいな〜〜と感じます。
バイナリかるたを実際にプレイするところまでは行けなかった…ホームルームを許さない