CpawCTF writeup(2)

# 0　まず
高校1年のもちもちといいます。セキュリティキャンプ2021やCODEBLUE2022に参加してモチベが爆上がりしてるのでCTFの勉強を久しぶりに再開しました。とりあえず2,3日目は初心者向けのCTFであるCpawCTFのLevel 2を進めていきます
前編はこちらからどうぞ

https://qiita.com/motimotipurinn/items/edf422043def0828488a

# 1 隠されたフラグ
左上と右下のモールス信号あるね

https://morse.ariafloat.com/en/
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1539611/1ad09706-b37b-8ecc-5def-9bc584bd09bc.png)

cpaw{hidden_message:)}
# 2 Redirect
http://q15.ctf.cpaw.site
にアクセスしたら別サイトにリダイレクトされてしまうので、Burpで挙動を見てみる。HTTP historyのhttp://q15.ctf.cpaw.site
のresponseのRawにフラグが書いてあった
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1539611/6bde6711-627c-8812-687f-dc7ad280b58c.png)
cpaw{4re_y0u_1ook1ng_http_h3ader?}
# 3 HTTP Traffic
急に難易度上がった？
とりまpcapをWiresharkでしばく。httpでフィルタリングして全部ダウンロードしてきた。network100(1)に拡張子がついてなかったので調べたらhtmlだったので拡張子変更。ぽちーー
```
motimotipurinn:/mnt/c/CTFwork$ file 'network100(1)'
network100(1): HTML document, UTF-8 Unicode text
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1539611/900fe0ae-5cc3-e919-9ef5-cdf694cac5ea.png)
どうやらだめっぽい。これの通りにファイルの階層構造を変えてみる
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1539611/74783361-9f2d-4e0b-038b-b76af767feb0.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1539611/8201ed7a-1809-5859-4978-6d75db883cfe.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1539611/b9c41b80-c2d5-b308-b9bf-21a41bd358f2.png)
cpaw{Y0u_r3st0r3d_7his_p4ge}

# 4 Can you login？
Wiresharkをしばく。StastisticsでFTPがあることを確認。こいつは暗号化されてないので見れる
「FLAG file exists in this directory.」なるほど
dummyも見てみると
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1539611/1c6db1f4-523c-49a4-b71a-bf31b1a896c4.png)
とあるので、サーバーアドレスも書いてあることだしアクセスしていく。ftpではアクティブモードとパッシブモードの二種類があって今回ではパッシブモードにする必要があるっぽい
```
motimotipurinn:~$ ftp 118.27.110.77
Connected to 118.27.110.77.
220 Welcome to Cpaw CTF FTP service.
Name (118.27.110.77:motimotipurinn): cpaw_user
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
500 Illegal PORT command.
ftp: bind: Address already in use
ftp> passive
Passive mode on.
ftp> ls
227 Entering Passive Mode (118,27,110,77,234,100).
150 Here comes the directory listing.
-rw-r--r--    1 ftp      ftp            36 Sep 01  2017 dummy
226 Directory send OK.
ftp> get dummy -
remote: dummy
227 Entering Passive Mode (118,27,110,77,234,124).
150 Opening BINARY mode data connection for dummy (36 bytes).
FLAG file exists in this directory.
226 Transfer complete.
36 bytes received in 0.00 secs (1.9073 MB/s)
ftp> ls  -a
227 Entering Passive Mode (118,27,110,77,234,116).
150 Here comes the directory listing.
drwxr-xr-x    2 ftp      ftp            42 Mar 17  2021 .
drwxr-xr-x    2 ftp      ftp            42 Mar 17  2021 ..
-rw-r--r--    1 ftp      ftp            39 Sep 01  2017 .hidden_flag_file
-rw-r--r--    1 ftp      ftp            36 Sep 01  2017 dummy
226 Directory send OK.
ftp> get .hidden_flag_file -
remote: .hidden_flag_file
227 Entering Passive Mode (118,27,110,77,234,117).
150 Opening BINARY mode data connection for .hidden_flag_file (39 bytes).
cpaw{f4p_sh0u1d_b3_us3d_in_3ncryp4i0n}
226 Transfer complete.
39 bytes received in 0.00 secs (2.1878 MB/s)
```
cpaw{f4p_sh0u1d_b3_us3d_in_3ncryp4i0n}
# 5 leaf in forest
とりあえずfileコマンド叩いたらpcapファイルだったのでWiresharkに投げたけどエラー出た
```
motimotipurinn:/mnt/c/Users/user/Downloads$ file misc100
misc100: pcap capture file, microsecond ts (little-endian) - version 0.0 (linktype#1768711542, capture length 1869357413)
```
catやstringsコマンドで見てみたらオタクの叫び声が聞こえてきたので全部消していく。errors='ignore'入れないとうまく変換できなかった
```py
f=open('/mnt/c/Users/user/Downloads/misc100.txt','r',errors='ignore')
data=f.read()
data=data.replace('love','')
data=data.replace('live!','')
print(data)
f.close()
```
```
motimotipurinn:/mnt/c/dev/pydev$ python3 pico.py 
òe!CCCelivPPPoveAAAe!lovWWWve!{{{eliMMMelGGG!livRRRovelEEEPPPe}}}
```
一応フラグ見えてるけど綺麗にしてみる
```py
import re
f=open('/mnt/c/Users/user/Downloads/misc100.txt','r',errors='ignore')
data=f.read()
data=re.sub('[a-z,!]','',data)
print(data)
f.close()
```
```
motimotipurinn:/mnt/c/dev/pydev$ python3 pico.py 
òCCCPPPAAAWWW{{{MMMGGGRRREEEPPP}}}
```
cpaw{mgrep}
# 6 Block Cipher
なんとなくイメージ沸いたけど明瞭にするために疑似コード書いた
```cpp
#include <bits/stdc++.h>
using namespace std;
signed main() {
    int flag_len = 10;
    int key = 3;
    for (int i = key - 1; i <= flag_len; i += key) {
        for (int j = i; j >= i - key + 1; j--) {
            cout << j;
        }
    }
}
```
```
motimotipurinn:/mnt/c/dev/cccdev$ ./main
210543876motimotipurinn:/mnt/c/dev/cccdev$ 
```
ruoYced_ehpigniriks_i_llrg_staeをぐっと睨むとYourでkey=4だとわかる
```cpp
#include <bits/stdc++.h>
using namespace std;
signed main() {
    string s = "ruoYced_ehpigniriks_i_llrg_stae";
    int key = 4;
    for (int i = 0; i < s.size(); i += key) {
        for (int j = key - 1; j >= 0; j--) {
            if (i + j < s.size()) {
                cout << s[i + j];
            }
        }
    }
}
```

```
motimotipurinn:/mnt/c/dev/cccdev$ ./main
Your_deciphering_skill_is_great
```
cpaw{Your_deciphering_skill_is_great}
# 7 reversing easy!
```
motimotipurinn:~$ cd /mnt/c/Users/user/Downloads/
motimotipurinn:/mnt/c/Users/user/Downloads$  file rev100
rev100: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2.6.24, BuildID[sha1]=f94360edd84a940de2b74007d4289705601d618d, not stripped
motimotipurinn:/mnt/c/Users/user/Downloads$ ./rev100
cpaw{}
motimotipurinn:/mnt/c/Users/user/Downloads$ strings rev100
//略
D$L1
D$Fcpawf
D$J{
D$ y
D$$a
D$(k
D$,i
D$0n
D$4i
D$8k
D$<u
D$@!
```
フラグ見えてもうてるけど一応IDAを見る

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1539611/e6fd23ef-2754-2462-2f1c-a326ac1607d3.png)
cpaw{yakiniku!}
# 8 Baby's SQLi - Stage 1-
```
select* from palloc_home
```
cpaw{palloc_escape_from_stage1;(}
# 8 Image!
```
motimotipurinn:/mnt/c/Users/user/Downloads/misc100$ file mimetype
mimetype: ASCII text, with no line terminators
motimotipurinn:/mnt/c/Users/user/Downloads/misc100$ strings mimetype
application/vnd.oasis.opendocument.graphics
```

https://ja.wikipedia.org/wiki/OpenDocument

らしいっすのでlibreoffice drawで開いてみる
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1539611/090f1950-8134-906f-1256-fb67ce619bed.png)
実はwordでも開けたらしい
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1539611/572b4422-7940-2da5-6761-84db695facb9.png)
cpaw{It_is_fun__isn't_it?}
# 9 Who am I ?

https://twitter.com/porisuteru/status/653565663592607744?s=20&t=N29EppS2Zucfa_tTP8lDlg

cpaw{parock}

# 10 あとがき
レベル1と比べて急にCTFやってる！って感じがしてきて面白かったです。最後のレベル3まで一気に駆け抜けたいと思います。そういえばセキュリティキャンプミニキャンプ申し込みやってるので参加してみようかな