CpawCTF Level1のメモ
CpawCTFを始めてみた
夏の長期休みで時間が空いているので始めることにした。
問題一覧
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で書くことの方が大変だった。
明日以降も続けていこうと思う。
-
ELF(Executable and Linking Format)のこと。Linuxディストリビューションで標準バイナリ形式として使用されている。実行ファイル形式のELFって何? - ITmedia エンタープライズ ↩