まずnmapから
80/httpがうまく表示されていない。tcpwrappedについて調べてみると-A -vvvは弾かれるようだ。このオプションを付けずに実行すると結果が表示された。
/writeup/というページにアクセスできる。ページやソースコードに気になる点はなかった。
curl -IL , whatwebで調べてみるとCMS Made Simpleで作られているようだ。searchsploitやgoogle検索してみるとSQL Injectionの脆弱性が見つかった。githubに公開されていたコードを用いるとsalt ,password, user情報を手に入れた。
passwordをそのままjohnやbase64にかけてみても上手くいかない。そこでsaltに注目してhashcatの-m 20(md5:salt)を実行するとパスワードが入手できた。
先ほど手に入ったuserとpasswordを用いてsshしてみると無事接続できた。
jkrのidを見ると多くのgroupに属しているようだ。またlinpeasで出てきた環境変数を見てみるとpathが通常と違ううえに、書き込み権限もあることがわかる。おそらく悪意のあるコマンドを自作してroot権限を得るパターンだろう。
var/www/htmlのフォルダには何もなかったのでppspyでプロセスを見てみるが特に変化がない。そこでプロセスを監視しつつ、別端末からさらに接続してみると興味深いプロセスが見つかった。
どうやらssh接続時にroot権限を持ったshが環境変数を変更し、その後runpartを実行していることがわかった。先ほどの情報から/usr/local/sbinに書き込み権限があり、さらにpathは一番最初に設定されている。つまり/usr/local/sbinにリバースシェルかroot.txtを見ることができるrunpartを作ればいい。
リバースシェルはなぜかうまくいかなかったので、今回はrunpartにcat /root/root.txtするコマンドに設定した。そしてもう一度ssh接続するとフラグが入手できる。