CTF入門2019/02/07SHAREツイートシェアはてブLINEPocket皆様、こんにちは。ライターの『mine』でございます。私の住んでいる地方では本格的な寒波の襲来ということで、最低気温が-9°Cになりました。寒がりの私にとってはもう最悪で、毎朝震えながらコタツに潜り込んでいます。そんなどうでもいいことはこのあたりに放っておいて、今回の本題に入りましょう。Flag)』について記事を書きたいと思います。『セキュリティはWordPressを使っているから大丈夫!』と思っている皆さん、本当に大丈夫ですか?例えWordPressを使っていたとしても、弱いパスワードや、安直なパスワードを使っていればセキュリティを突破される可能性があります。CTFを通してセキュリティ意識を高めましょう!目次サーバーやブログの管理者にこそCTFをおすすめしたい。CTFとは?なぜCTFはクラッキング対策に効果的なのか?どんな問題が出るの?おすすめCTF入門サイトの紹介と解説1.89462.akictf3.ksnctfまとめサーバーやブログの管理者にこそCTFをおすすめしたい。CTFとは?まず、恒例の解説から入ります。CTFとは、もともと野外での旗取り合戦を指す言葉で、日本語では『騎馬戦』に近いニュアンスを持ったものです。その『旗取り合戦』をコンピュータセキュリティ分野ではコンピュータ同士で行います。それが今回おすすめしている『CTF』です。ニュースでは、『ハッキングコンテスト』などと言われています。下の3方式が一般的に行われているCTFです。style)(参考:CTFのススメ)今回の記事では、難易度の高い攻防戦方式ではなく、クイズ形式や変則型攻防戦に近い常設型のCTFサイトを紹介させていただきます。CTFはクラッキング対策に効果的なのか?なぜ私がCTFをおすすめするのか不思議に思う方もいらっしゃるかもしれません。その理由は、『CTFは非常に広い出題範囲を持ち、また実際の攻撃を知ることができるから』です。問題の分野リバースエンジニアリングBinaryとも呼ばれる。基本的にはシリアルキーのクラッキングなどと同じ技術を用いてフラッグ(旗に相当するファイルの内容)を奪取することで得点となる。ForensicsHDDやUSBメモリや物理メモリのイメージファイルを解析し、その中からフラッグを奪取することで得点となる。することで得点となる。基本的な部分はBinaryと同じ(攻撃対象の解析)だが、脆弱性の発見及び脆弱性を攻略するExploitコードを記述する技術が必要である。サーバ内のフラッグを奪取することで得点となる。Webウェブアプリケーションの脆弱性を突いて(XSS・SQLインジェクション・OSコマンドインジェクションなど)サーバ内に侵入し、フラッグを奪取することで得点となる。Networkネットワークのパケットを解析し、その中からフラッグを奪取することで得点となる。ネットワークの基礎的な知識と、それぞれのプロトコルに関する深い知識が要求される。Miscellaneous上記ジャンルに分類できない、またはセキュリティ関係の雑学やパズルなどの問題が出題される。(Wikipediaより引用)以上のように非常に広い範囲が出題されるため、コンピュータセキュリティに対する理解を深めやすい特徴があるCTFをオススメしています。私達が攻撃を仕掛ける側となるので、身近なところに思わぬセキュリティーリスクが隠れていることが分かります。どんな問題が出るの?多くのCTFはレベルが分かれており、レベルに応じて必要とされる知識量も変動します。簡単な問題の例を挙げましょう。SYNT.暗号をかじった事のある人ならばピンと来ることでしょう。それでは問題を解説していきたいと思います。この問題を見ると、『.』や『?』などの記号はそのままで、文章のような雰囲気が感じ取れると思います。そのことから記号がそのままで、一見して意味の無い文字列に見えるようにする暗号であることが分かります。ヒントが全くないことから、専門的な知識が必要な問題ではありません。以上のことを鑑みて、この問題は暗号の中で最もシンプルな『シーザー暗号』ではないかと推測することが出来ます。次に、シーザー暗号だと仮定した場合、その場合何文字ずらせば意味のある文字列になるかを導き出す必要があります。Cipher』(シーザー暗号)と検索してみましょう。tool』なるものが出てきました。説明を読むとキーを推測してくれるモードがあるようです。すると、認証画面が表示されますので、この認証を突破することが目標となります。Lv.1ならば、少しWebについてかじったことのある方は速攻で解くことができるはずです。それでは解き方を説明していきたいと思います。CTFチャレンジサイトでは、ソースコードに大きなヒントが隠されていることが少なくありませんので、兎にも角にもソースコードを表示したいと思います。ところが、ソースコードを表示しようとすると『右クリックは禁止』なるメッセージが......ますますソースコードが怪しくなってきました。Tools』を使用してソースコードを覗いてみましょう。本来はWeb開発者が自らのサイトをデバッグするためのツール群ですが、今回はソースコードを除くために使用したいと思います。『F12』キーを押すと右半分に『Elements』やら『Console』なるタブがあるやたら怪しげなウィンドウが広がります。左上隅の□の中にマウスポインターがあるボタンを押すと、ページ内でクリックしたところのソースを表示してくれるモードになりますので、その状態で入力欄をクリックしてみてください。右側のソースが自動的にinputタグまで展開されます。–>......なんと、このソースを書いた人は右クリック禁止にしたことで安心して、あろうことがソース内にユーザー名とパスワードをメモしたままにしておいたようです。半分罠を疑いながらIDとPasswordに打ち込むと......なんと突破出来てしまいました。ここまでずさんなパスワード管理をしている管理者さんは居ませんね。このように意外と簡単な問題からCTFに入門することができます。おすすめCTF入門サイトの紹介と解説1.8946全体的に初心者向けの内容となっています。Webセキュリティーをかじっている方ならば簡単に解ける問題がほとんどだと思います。本格的なCTF問題というよりは、クイズ問題という風味が強いかもしれません。CTFを始めたばかりの入門者におすすめのサイトです。8946のアカウントがなくても、Twitterなどのソーシャルアカウントでもログインすることができるので『ちょっとCTFを初めて見たい』という方にも最適なサイトです。他のCTFサイトと同じようにランキング機能があり、他の人と競い合って技術を延ばすことが出来ます。2.akictf上記のサイトとは違い、問題が英語で出題されること、問題の難易度も上昇していることから、CTFの入門サイトとは言いがたいと思います。問題の分野が明記されていて、どんな方向から問題にアプローチすれば良いのかわかりやすいため、解きやすいと思います。私見ですが、Web・暗号関係の問題が多いという印象を受けます。入門レベルでは満足できなくなってきた方におすすめしたいと思います。3.ksnctf今回紹介するサイトの中では最も難しいサイトだと思います。問題の分野も、たくさんの分野をまたがって出題されるものが多く、マルチな能力とそれを組み合わあせて問題を攻略する発想力が必要とされます。ネタに走っているところもあるので((ᒧᆞωᆞ).ᒧうー=-!!(/ᆞωᆞ/).にゃーが良い例)それを楽しむことができる人ならば、楽しく問題を解くことも出来ます。CTFに慣れてきて、楽しむことができるようになった上級者の方におすすめします。まとめ今回の記事ではブログのクラッキング対策のため、CTFをご紹介いたしました。『彼を知り己を知れば百戦殆うからず』と孫氏が言っているとおり、ブログのセキュリティー向上・クラッキング対策の為には、敵(つまりクラッカー)の考え方を知る必要があります。CTFなどを通して攻撃者の目線から物事を見るようになれば、自ずと弱点も見えてくることでしょう。いう私も、以前からWebサービスで使いまわしていたパスワードに対し、ふと思い立って辞書攻撃してみたところ、日本語辞書に合致するキーワードがあったらしく、2分ほどで特定されてしまいました。私のセキュリティー意識の低さが明るみに出てしまったわけですが、私自身は強固なつもりでパスワードを設定しておりましたので、結構なショックでした。このように、自分はセキュリティーに気を使っているつもりであっても、攻撃者にとっては『容易に突破できてしまうパスワードであること』が往々にしてあります。この記事を読んだ方が、少しでもセキュリティーに対する意識を向上させてくださることを願っています。最後まで記事をご覧いただきありがとうございました。別の記事でお会いしましょう。コメントをキャンセルメールアドレスが公開されることはありません。