技術をかじる猫

適当に気になった技術や言語、思ったこと考えた事など。

ゼロから始めるCTF

勉強会

という事でこのご時世にもかかわらず突入してみました。

weeyble-security.connpass.com

コワーキングスペース「Weeyble」さんのイベントですね。

CTF?

Capture The Flag.
ファイルやサーバに隠れたデータをハッキングなどの技術を用いて、引っこ抜くというスキルを競うイベントです。

この勉強会

コワーキングスペース主宰で、CTF の導入/入門を行っている勉強会です。
CTF には以下の種類がありますが

  1. 問題型:ファイルや暗号の中に隠されたフラッグを探す
  2. 対抗戦型:相手サーバ中のフラッグを奪取する
  3. 対抗戦型:相手サーバにフラッグを書き込み、その維持時間で得点を稼ぐ

この中の問題型をメインに取り扱ってます。

やったこと

ファイルシステムに依存する隠しファイル

代替データストリームの紹介がありました。

  • NTFS 専用の隠しデータ
  • 通常みることはできないが特定手段で参照できる

qiita.com

こういう情報もあるという。

PDF の隠し情報を取得する

PDF は過去なかなかの問題を排出したフォーマットです。

  • 黒塗りしただけの情報を取得する(Libre Office を利用して黒塗りを除去)
  • パスワードクラック(ubuntu のアプリケーション pdfcrack )
  • フォントを分離してフォント内に隠された情報を取得する(www.pdfconverteronline.com でフォント抽出)

という様なことを行いました。

SQL Injection

SQL エスケープを怠ったチャットボットプログラムに対し、いくつかのクエリを与えてクエリを推測。
SQL を食わせてテーブルリスト取得→テーブル構造取得→データ引き抜き を行いました。

所感

普通業務では「防ぎ方」しか教わりません。
攻撃者が何を思い、どう対処するのかなどやってみなければわからない…

そんな中「合法的に攻撃をテストできる」というのはかなり新鮮。
防御方法の検討や、他のやり方についても考えさせてくれる感じでしたね。