CTFで学ぶ、ハッキングの技術 ksnctf ~Basic is secure?~

2016年06月17日

hacker

職場にて先輩方々に毎度迷惑をかけている、初心者の技術者のA6です。

さて今回は、今の自分でもなんとなくわかる問題がないかどうか

ksnctfのサイト内をぶらぶらと見ていていたら…ありましたよ!

この初心者の僕でもわかるものが!!

 

ということで、今回はksnctfさんの Basic is secure? に挑戦して参りました。

ksnctf:http://ksnctf.sweetduet.info/

気のせいでしょうか? この問題の題名見ていると「ご注文はうさぎですか?」に見えて…(こないから)

 

とりあえず、問題をパッとみてまず一つ気がついたのがファイルの形式が

パケットキャプチャの保存ファイルになっているというところです。

中身はどうなっているんだろう?と思い開いて見ましたところ見事

文字化けしたファイルが出てきました。

(Unicodeでもできるかどうかやってみましたが、どうやら無意味なようです)

 

 

中身はきっとキャプチャーファイルに違いない!

と思ったのでとりあえず保存してWiresharkで見ることにしました。

(この時、保存する形式を.txt形式ではなく.pcap形式で保存しましょう)

basicsecure?_1

 

 

Wireshark

・ネットワーク上のデータの流れをキャプチャして(捕らえて)、それらを見るツールのことです。

インストールはこちらからできますよ

窓の杜:http://forest.watch.impress.co.jp/library/software/wireshark/

公式サイト:https://www.wireshark.org/(注意!:英語です)

 

 

 

出てきました・・・がこれだけ多いとどこを見ればいいのか分からないです。

basicissecure?_2

今回の題名からして「Basic認証」がヒントになっているんじゃないかと思って調べてみました。

 

 

Wikipediaからの引用です。

Basic認証ベーシックにんしょう、Basic Authentication)とは、HTTPで定義される認証方式の一つ。 基本認証と呼ばれることも。 Basic認証では、ユーザ名とパスワードの組みをコロン “:” でつなぎ、Base64でエンコードして送信する。

Basic認証 – Wikipedia

さらにwikipediaにて詳しく調べていくとこのような文章が

4.認証を伴うリクエスト (ユーザ名 “Aladdin”、パスワード “open sesame”):

GET /private/index.html HTTP/1.1
Host: example.com
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==


こちらの Basicの後の暗号化した文章をBase64でデコードしたところ

Aladdin:open sesame

という結果が出ました

ということは、パスワードの通信される部分を見てそれをBase64でデコードをすればIDとパスワードが丸わかりですね!

Base64はこちらでデコードさせて頂きました。

http://hogehoge.tk/tool/

 

 

Wiresharkで見やすくするためにフィルタをかけますスクリーンショット 2016-06-17 21.45.59

上のバーに「http」と入力すると、パケットの数がこれだけ絞られました。

 

 

それらの中からwikipediaで見たように「GET」と出ているところを詳しく調べて見たところ・・・スクリーンショット 2016-06-17 23.15.57

見つけた!

 

 

どうやら、今回はパスワードとIDの入っているところにフラッグが入っていました。スクリーンショット 2016-06-17 21.49.21

今回もいい勉強になりました!

それでは、お疲れ様でした。