task4233のめも

書きたいことをつらつらと

CpawCTF Level1のメモ

CpawCTFを始めてみた

夏の長期休みで時間が空いているので始めることにした。

問題一覧

CpawCTF - Main page

Q1. [Misc] Test Problem

やるだけ。

Q6. [Crypto] Classical Cipher

解法は問題文に記載されている通りで、文字コードを3ずつずらせば良い。
ただし、_と中カッコ、大文字は書き換える必要があった。
C++で書いてみた。

#include <stdio.h>
#include <string>
using namespace std;

int main() {
  string s;
  cin >> s;
  for (int i = 0; i < s.size(); ++i)
    s[i] = tolower(s[i]);
  for (int i = 0; i < s.size(); ++i)
    printf("%c", ((s[i] - 97) - 3 + 26) % 26 + 97);
  printf("\n");
  return 0;
}

Q7. [Reversing] Can you execure?

$ file ./exec_me
を叩くと、

exec_me: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.24, BuildID[sha1]=663a3e0e5a079fddd0de92474688cd6812d3b550, not stripped

と表示された。
ELF 64-bit LSB1 excutableと書かれているので、64bitのlinux環境での実行ファイルであることが分かる。
使用している環境がLinuxだったため、
$ ./exec_me
を実行しようとしたが、権限が無いと言われた。
そのため、
$ chmod 755 ./exec_me | ./exec.me
を実行して終了。

Q8. [Misc] Can you open this file ?

$ file ./open_me
を叩くと、

open_me: Composite Document File V2 Document, Little Endian, Os: Windows, Version 10.0, Code page: 932, Author: v, Template: Normal.dotm, Last Saved By: v, Revision Number: 1, Name of Creating Application: Microsoft Office Word, Total Editing Time: 28:00, Create Time/Date: Mon Oct 12 04:27:00 2015, Last Saved Time/Date: Mon Oct 12 04:55:00 2015, Number of Pages: 1, Number of Words: 3, Number of Characters: 23, Security: 0

と表示された。
読んでいくと Name of Creating Application: Microsoft Office Word とあるため、LibreOfficeで開いて終了。

Q9. [Web] HTML Page

提示されたWebサイトにアクセス。
ソースコードを表示して、 cpaw で検索して終了。

Q10. [Forensics] River

river.jpgのプロパティを確認するが、情報は得られず……
ググると 、画像ファイルの詳細な情報を確認するには
$ identify
というコマンドを叩けば良いとのこと2
$ identify -verbose ./river.jpg
を叩き、表示された中に位置情報(exif:GPSLatitude, exif:GPSLongtitude)が含まれていたため、GoogleMapsで検索。
川の名前が書かれていなかったので、川を辿って見つけて終了。

Q11. [Network] pcap

.pcapファイルを初めて目にしたのでググってみると、wiresharkというソフトウェアで解析できるようだ。
$ sudo apt install wireshark
で早速インストール。
インストールはこちらの記事を参考にした。
qiita.com
インストール後、wiresharkでnetwork10.pcapを開くと解答がすぐに見つかるので終了。

Q12. [Crypto] HashHashHash!

解法が問題文に記載されているため、その通りにデコードして終了。

Q14. [PPC] 並べ替えろ!

唯のソート。
C++で書くなり、ruby console使うなり、アナログでソートするなり、お好みのソートでどうぞ。

感想

.pcap以外はLevel 1ということもあってか、サクサク解けたと思う。
正直、Markdownで書くことの方が大変だった。
明日以降も続けていこうと思う。