攻撃を知らないと防御なんてできない
ということで攻撃手法を学んできました。
今回は仮想的に作られているWebサーバーのWordpressを書き換えるのが目標でした。
Torendmaicroのブログによると一般にハッキング行為は 6つの段階を経て行われるようです。
今回も大体このような流れでした。
http://blog.trendmicro.co.jp/archives/7674
「フェーズ1:偵察」
「フェーズ2:スキャン」
「フェーズ3:アクセス権の獲得」
「フェーズ4:アクセス権の維持/引き上げ」
「フェーズ5:窃盗」
「フェーズ6:証拠隠滅」
「フェーズ1:偵察」
ここはターゲットとなるWebサイトのIPアドレスとかを調べるフェーズだと思いますが、
今回はIPアドレスは指定されていたので渡されたIPアドレスと疎通できているか、どんなサイトなのかを調べます。
pingで疎通確認とWebブラウザでアクセスしてみます。
今回のターゲットサイトは日記を書いたりできるサイトでした。
「フェーズ2:スキャン」
nmapを使ってポートスキャンをしてみます。
nmap -sS -Pn 192.168.2.118
で実行しました。 「-A」をつけるとより詳細な情報が取得できますが、重くなるので省略。
あと、nessussなんかで脆弱性スキャンもできますが、これも時間がかかるので省略。
↓nmapしたときの結果
「フェーズ3:アクセス権の獲得」
ここでは発見した脆弱性を実際についてみるということでいろいろと試してみます。
cross site scripting
sql injection
code injection
upload 制限
Cheat Sheetで検索するとやり方が載っているで
これらをうまく活用してやるとよいようです。
cross site scriptingのCheat Sheet
https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet#XSS_Locator
またsqlインジェクションにはtamperをつかうのもいいようです。
今回は使い方はあまり詳細にやらなかったのですが、使い方は別途調べてみようと思います。
目標であるWordpressの書き換えは、WebShellというツールをサイトにアップロードさせて実現しました。
WebShellとは、バックドアの一つで、攻撃者が潜入に成功した Webサーバに自由に出入りできるようにするものらしく、今回初めて知りました。
いろんな種類があるようですが、今回はphpのもの検索して使用しました。
自分のPCにダウンロードするとウィルス検索ソフトに引っかかるので注意が必要です。
↓WebShellをサイトに埋め込んで実行したときの画面
これを設置されるとサーバの操作が簡単にできるので、
「フェーズ4:アクセス権の維持/引き上げ」
「フェーズ5:窃盗」
が可能になります。
ここでroot化とリバースシェルというキーワードが出てきていました。
リバースシェルを使って操作することもできるようですが、
詳しい使い方は不明。下記のサイトあたりに情報がありそうです。
http://www.gnucitizen.org/blog/reverse-shell-with-bash/
防御する立場からすると、FWの通信をみて内側から外部へアクセスする怪しい通信がないかを
チェックしたほうがよいですね。
「フェーズ6:証拠隠滅」
ログ消し・改竄、Rootkitを導入するようです。
ここまではやりませんでした。
今回はWebShellというものを知ることができたのでよかったです。
自分の仮想マシンに入れて検証してみようと思います。
また、講師の方にセキュリティで気をつけるべき点を聞いたところ、
古いバージョンの製品はまず間違いなくやられるとのことです。
常に最新のパッチをバージョンにはしておくべきですね。
以上