ぴよこのーと

ぴよぴよな技術者のノートです(´・ω・`)

CTF for Girlsの第7回ワークショップに参加しました WriteUp③

今回は、初級問題3の復習をします。

3_[初級問題3]

サーバが本当に受け取ったものは?

pcapngファイルが与えられるので、Wiresharkで開き、中身を確認します。
今回は、パケットがたくさんあります。
f:id:ukri021:20170624210152j:plain

なので、全体像をつかむために、「統計」→「プロトコル階層」でプロトコルの使用状況を確認してみます。
f:id:ukri021:20170624214407j:plain

なんとなく、Telnetが怪しそうです。
f:id:ukri021:20170624212848j:plain

ちなみに、pcapファイルの中で怪しいプロトコルを見つけるときは、
以下2つの観点で探すとよいそうです。
 ①平文なプロトコル・・・TELNETFTP、HTTPなど
 ②割合が少ないプロトコル

セッションを確認したいパケットの1つを選択し、「追跡」→「TCPストリーム」でセッションを確認していきます。
ちなみにPacket Detailペインの「Stream index」でセッションの番号が確認できます。
f:id:ukri021:20170624220700j:plain

右下の「ストリーム」でセッションを移動できます。
1回目のセッション
パスワードを3回間違えて入力し、セッションが強制終了されています。
f:id:ukri021:20170624220756j:plain

2回目のセッション
2回目のログインで成功しています。。が、このままではFLAGではありません。
f:id:ukri021:20170624231304j:plain

Telnetでは、キーボードから1文字入力するごとに1文字ずつ8bitに変換され、その1文字(8bit)がTCPセグメントのペイロード部に格納され、リモートホストへ送信されます。
また、文字情報以外にもBackspaceやTabといった特殊なキーをキーボードから押したという情報もリモートホストへ伝えられます。
【参考】
http://www.7key.jp/nw/technology/protocol/telnet.html


1パケットずつ入力文字を確認していくと、No350のパケットで送信されているデータは「\b」のため「.」の部分は、バックスペースです。
f:id:ukri021:20170624230547j:plain

つまり、「m」を入力した後に、バックスペースで文字を消しているようです。
f:id:ukri021:20170624232018j:plain

ふむふむ(´・ω・`)

3回目のセッション
でも大丈夫、最後に間違えずにパスワードを入力してくれているセッションがありました(*'▽'*)
f:id:ukri021:20170624233443j:plain