HellBound Hackers --- Realistic 10 ---(web)

あけましておめでとうございます。佐藤です。HellBound Hackerの問題はかなり現実を模した問題が多く気に入っています。今回は実際にありそうなwebサイトを解析し攻撃していく問題です。

この問題はあまり知識を必要としないで奥へ進んでいけます。しかし、世の中にはこのようなサイトがたくさんあります。

f:id:eyesjapan:20150107215938j:plain

問題文

EmPOWER is a company that stores data and they have being hidding important files and now they have become corrupted. Your job is to get in and delete the files every 5 mins using "dd if=/dev/zero of=/dev/hda bs=512 count=1 && rm -rf /" and then use the command "lock_system" every four minutes, so you have time to get out and this will first lock the system and then start deleting all files.

データを扱う会社のwebサイトのようです。重要なファイルを隠し持っていてそれを消すという任務らしいです。

どこのリンクに飛んでも、inputタグがあるところはないです。さて、そうなると怪しいのはディレクトリ。私はあまりよくない手法だとは思っているのですがツールを使いありえそうなディレクトリの総当たりアタックとその他の脆弱性を検査することにしました。OWASP ZAPというweb脆弱性検査ツールを使いました。

f:id:eyesjapan:20150107221402j:plain

https://www.hellboundhackers.org/challenges/real10/images/ が見れたぜ、とおっしゃっています。見つかったのはこのくらいです。

f:id:eyesjapan:20150107221831j:plain

興味深い品物がたくさんありました。.encryption 暗号関係でしょうか。難しそうなのでパス。そして、dirListing.phpというプログラムを発見。感の良い方ならわかるのではないでしょうか。これはカレントディレクトリを表示してくれるプログラムになります。外部からの引数はおそら使っていない(使ってたらOSコマンド実行とかおいしい関数とか使ってると疑っていろいろ試しますが)と判断しディレクトリ毎にこのプログラムが存在するかもしれないと気づきました。これを気づくまで結構かかりました。

f:id:eyesjapan:20150107223433j:plain

imagesの親ディレクトリで先ほどのdirListing.phpを実行してみるとまたまたキラキラしたものがたくさんあります。一つ一つ見ていきました。。。。いろいろなことがわかり楽しかったのですがもっともadministrationが奥への扉となっていました。

f:id:eyesjapan:20150107223915j:plain

私はここが突破口と断定しました。cronJobs.php これもしかしたら任意のコマンド実行できるかも。しかしアクセスすると弾かれました。まあそううまくいかないよね~ アクセス権の問題なのでそれを得るためadminLogin.phpというものにアクセスしてみる。

f:id:eyesjapan:20150107224359j:plain

ほ。ああ、これさっき見つけた怪しいテキストファイルに書かれたもので行ける!と思いました。それは ......./real10/administration/session/ にありました。

admin1:EmPOWER:gsl389209
admin2:skd839codered:3258
admin3:pes35:392

こんな重要な手がかり残す奴いるのか!?と思うかもしれません。しかし世の中は広く一時的に残すつもりだったのかもしれない消し忘れ、見られないだろうという考えのユーザーは多くはいないがいると思います。

これで先ほどの認証をくぐれます。

f:id:eyesjapan:20150107225552j:plain

おそらくadminセッションいただいたので先ほどのcronJobs.phpにアクセス。

f:id:eyesjapan:20150107230642j:plain

ここまで来たらサーバーは任意のコマンドを実行できてしまうので終わりです。

で問題文の通り”dd if=/dev/zero of=/dev/hda bs=512 count=1 && rm -rf /”(/dev/zeroを使っているのかバックアップ作業して消す)をクローンさせ.....メールこない。。アウトプットがメールで来るはず... 

最後がうまくいかなくて残念だがコマンド実行させてしまうシステムは本当に危ないと思いました。

悪いハッカーは富、名声などを求む執念の塊であります。見つからないだろうというものを執念で見つけてきます。そのために磨く技術は恐ろしいです。そして、無差別でもあります。好きにさせてはいけません!十分注意しましょう!