進行中の何か

主にIT系の調べたこと。やったことをまとめます。

Google CTF 2018 Beginners Quest writeup 02

引き続き、writeup書きつつチャレンジしていきます。

FIRMWARE [re]

ダウンロードしたらext4ファイルが取得できるので
ひとまず調べてmountする。

# fdisk -l -u challenge2.ext4 
Disk challenge2.ext4: 300 MiB, 314572800 bytes, 614400 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
# mount -o challenge2.ext4 /mnt/test/

lsを打つとそれっぽいデータがあったので
展開して終了!

# ls -al
合計 44
drwxr-xr-x 22 root root  1024  6月 22 22:54 .
drwxr-xr-x  4 root root  4096  7月  1 01:16 ..
-rw-r--r--  1 root root    40  6月 22 22:54 .mediapc_backdoor_password.gz
drwxr-xr-x  2 root root  3072  6月 22 22:54 bin
drwxr-xr-x  2 root root  1024  6月 22 22:54 boot
drwxr-xr-x  4 root root  1024  6月 22 22:54 dev
drwxr-xr-x 52 root root  4096  6月 22 22:54 etc
drwxr-xr-x  2 root root  1024  6月 22 22:54 home
drwxr-xr-x 12 root root  1024  6月 22 22:54 lib
drwxr-xr-x  2 root root  1024  6月 22 22:54 lib64
drwx------  2 root root 12288  6月 22 22:51 lost+found
drwxr-xr-x  2 root root  1024  6月 22 22:54 media
drwxr-xr-x  2 root root  1024  6月 22 22:54 mnt
drwxr-xr-x  2 root root  1024  6月 22 22:54 opt
drwxr-xr-x  2 root root  1024  6月 22 22:54 proc
drwx------  2 root root  1024  6月 22 22:54 root
drwxr-xr-x  4 root root  1024  6月 22 22:54 run
drwxr-xr-x  2 root root  3072  6月 22 22:54 sbin
drwxr-xr-x  2 root root  1024  6月 22 22:54 srv
drwxr-xr-x  2 root root  1024  6月 22 22:54 sys
drwxr-xr-x  2 root root  1024  6月 22 22:54 tmp
drwxr-xr-x 10 root root  1024  6月 22 22:54 usr
drwxr-xr-x  9 root root  1024  6月 22 22:54 var
# gunzip .mediapc_backdoor_password.gz 
# more .mediapc_backdoor_password 
CTF{I_kn0W_tH15_Fs}

FlagはCTF{I_kn0W_tH15_Fs}でした。

GATEKEEPER [re]

バイナリファイルが与えられるので実行してみる。

# ./gatekeeper
/===========================================================================\
|               Gatekeeper - Access your PC from everywhere!                |
+===========================================================================+
[ERROR] Login information missing
Usage: ./gatekeeper <username> <password>

usernameとpasswordを確認する必要があるっぽいので
ltraceしながら実行してみるとstrcmpしている部分があるのでusernameをゲット!

# ltrace ./gatekeeper user password
(省略)
strcmp("user", "0n3_W4rM")   
(省略)

usernameを「0n3_W4rM」に変更してもう一度実行してみると
もう一度strcmpしている部分を発見。
ただpasswordで入力したのに逆文字で比較されてる。

# ltrace ./gatekeeper 0n3_W4rM password
(省略)
strcmp("drowssap", "zLl1ks_d4m_T0g_I")            = -22
(省略)

そのため、比較している文字を逆にして入力するとフラグゲット!。

# ./gatekeeper 0n3_W4rM I_g0T_m4d_sk1lLz
/===========================================================================\
|               Gatekeeper - Access your PC from everywhere!                |
+===========================================================================+
 ~> Verifying.......Correct!
Welcome back!
CTF{I_g0T_m4d_sk1lLz}

FlagはCTF{I_g0T_m4d_sk1lLz}