Linuxサーバーにおけるマイニングウイルス緊急対応 - PHPウェブセキュリティ脆弱性による事例

  1. 攻撃痕跡の確認

CPU使用状況の確認

top

異常な高CPU使用プロセスを検出

実行ファイルパスの特定

find / -name xmrmining

ファイルシステム経由でパスを確認

/var/tmp/.mint-xmr内のxmrminingファイルの最終更新日時:2022/3/10 21:10 /home/test/c3pool内のxmrminingファイルの最終更新日時:2022/6/26 18:01

  1. サンプル解析

miner.shスクリプトのダウンロードと内容確認 単なる説明用ファイルであることを確認

構成ファイルconfig.jsonの解析 urlやIPアドレスなどの重要情報の抽出

クラウドベースのサンドボックス環境でのドメイン解析実施

  1. 攻撃経路の特定

マイニングマルウェアは通常以下のような手法で侵入します:

  • サービスポートの弱パスワードブルートフォース
  • 未認証アクセス
  • ウェブアプリケーションのセキュリティ脆弱性

特にドメイン配下のディレクトリへの攻撃が確認された場合は、攻撃者が事前にターゲットを把握している可能性が高く「内部犯行」の疑いが濃厚です。 本件サーバーでは以下の脆弱性テスト環境が構築されていたため、順次調査を行います。

3.1 ウェブ脆弱性解析

手順:

  1. ウェブディレクトリ内のバックドアファイルスキャン
  2. アクセスログ(access.log)の分析(バックドアにアクセスしたIPの特定)
  3. 河馬スキャナの実行
cd /opt/tools
chmod +x hmm
./hmm scan /var/www/html/
  1. result.csvから疑わしい隠しファイルの検出
  2. 隠しファイルの最終更新日時確認
cd /var/www/html/
ls -al
  1. 最終更新日時が2022/6/26 18:01と一致するファイルの解析
cat .hidden.php
  1. 冰蝎3.0バックドアの確認(デフォルトパスワード使用)
cat .secret.php
  1. 1行式バックドアの確認
  2. access.logから.ini.php、.info.phpへのアクセスIPの抽出(112.8.53.164など)

3.2 その他の脆弱性解析

ネットワーク状態の確認

netstat -anpt

SSHポート(22)の弱パスワード攻撃可能性は低く、MySQLポート(3306)には既にパスワードが設定済みでした。 以上より、ウェブアプリケーションの脆弱性が攻撃経路であると結論付けました。

  1. マイニングプロセスの停止とバックドアの削除

マイニングウイルスは通常、システム再起動時の自動起動を確保するためにcronタスクなどを設定します。

crontab -l
ls -al /var/spool/cron/crontabs

testユーザーのcronタスクがマイニングプロセスを実行していることを確認 test.cronファイルの削除後、再生成されないことを確認

rm -f /var/spool/cron/crontabs/test
killall xmrmining

/var/tmp/.mint-xmrおよび/home/test/c3poolディレクトリの削除後、サーバー再起動 .xmrminingプロセスが再起動しないことをtopコマンドで確認 .ini.phpおよび.secret.phpの削除で対応完了

タグ: linux PHPセキュリティ ウェブアプリケーション脆弱性 クロノジョブ マイニングマルウェア

5月23日 04:33 投稿