Linuxサーバ侵入緊急対応記録(概要)

Linuxサーバ侵入緊急対応記録(概要)

最近、お客様から支援の依頼を受けました。管理されている通信コンピュータ ルームから、サーバーの 1 つが外部に攻撃トラフィックを送信していることが検出されたという情報が届きました。問題の解決にご協力いただければ幸いです。

1. セキュリティインシデントを確認する

状況は緊急であり、まず最初にセキュリティインシデントの真偽を確認することが重要です。サーバー運用保守担当者と連絡を取ったところ、業務はイントラネット内でのみ適用されていたが、実際にはサーバーはパブリックネットワークに公開されており、パブリックネットワーク上で直接 ping を実行でき、22 番のリモート ポートが開かれていたことが判明しました。この時点で、サーバーがハッキングされたことが基本的に確認できます。

2. ログ分析

ハッカーはSSHブルートフォース攻撃によってサーバーにログインした可能性があると推測されています。 /var/log のログを確認すると、ほとんどのログ情報が消去されていますが、セキュアログは破棄されていません。大量の SSH ログイン失敗ログが見られ、複数回のログイン失敗後に root ユーザーがログインに成功した記録があり、ブルートフォースクラッキングの特徴を満たしています。

脅威インテリジェンスを確認したところ、ブルートフォース攻撃に使用された複数の IP アドレスにはすべて悪意のあるスキャン動作が見られたことが判明しました。

3. システム分析

主要なシステム構成、アカウント、履歴記録などをチェックして、システムへの影響を確認します。

/root/.bash_history 内の履歴レコードがクリアされており、その他の異常は見られなかったことが判明しました。

4. プロセス分析

現在アクティブなプロセス、ネットワーク接続、スタートアップ項目、スケジュールされたタスクなどを確認します。

以下の問題が見つかりました:

1) ネットワーク接続異常

システムのネットワーク接続を確認したところ、外部ネットワーク接続を持つトロイの木馬バックドアプログラムte18が存在することが判明しました。

このファイルはオンラインで確認したところ、Linux のバックドア プログラムであることが判明しました。

2) 異常なスケジュールタスク

crontab のスケジュールされたタスクを確認すると、異常なスケジュールされたタスクがあることがわかります。

スケジュールされたタスクの実行ファイルと起動パラメータを分析する

オンラインチェックとキル関連のファイルはマイニングプログラムです

マイニングプールの設定ファイルを表示する

5. 文書分析

ハッカーによって埋め込まれた悪意のあるコードと関連する操作ファイルが /root ディレクトリに見つかりました。

ハッカーは、マイニング関連のプログラムを保存するために隠しフォルダ /root/.s/ を作成します。

6. 裏口調査

最後に、RKHunterを使用してシステムのバックドアをスキャンします。

VII. 結論

上記の分析により、ハッカーが SSH ブラストを通じてルートユーザーのパスワードを解読し、システムにログインしてマイニング プログラムとトロイの木馬バックドアを埋め込んだことが判明しました。

強化案

1) crontab のスケジュールされたタスクを削除し (ファイル /var/spool/cron/root の内容を削除)、ハッカーがサーバーに埋め込んだ悪意のあるファイルを削除します。

2) すべてのシステム ユーザーのパスワードを変更し、パスワードの複雑さの要件を満たします (大文字と小文字、数字、特殊記号の組み合わせを含む 8 文字以上)。

3) 必要がない場合は、SSH ポートが外部ネットワークに開かれないようにするか、デフォルトの SSH ポートを変更して許可されるアクセス IP を制限します。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Linuxサーバーにハッキングしてトロイの木馬プログラムを削除した体験を記録する
  • 方法: UNIX および Linux サーバーのハッキングを始める

<<:  GolangでMySQLデータベースを操作するための実装コード

>>:  Reactにおける制御されたコンポーネントと制御されていないコンポーネントの簡単な分析

推薦する

Tik Tok サブスクリプション ボタンのアニメーション効果を実現する CSS

少し前にTik Tokを見ていて、フォローするときのボタンアニメーションがとても美しいと思ったのと、...

JavaScript 非同期プログラミングにおける Promise の初期の使用法の詳細な説明

1. 概要Promise オブジェクトは、ES6 で提案された非同期プログラミングの仕様です。非同期...

Alibaba Cloud ECS centos6.8 に MySql5.7 をインストールして設定するチュートリアル

Alibaba Cloud yum コマンドでのデフォルトの MySQL バージョンは 5.17**...

JavaScriptで継承を実装するいくつかの方法

目次構造継承(callで実装)プロトタイプチェーン継承(プロトタイプチェーンの助けを借りて実装)複合...

MySQL デッドロック シナリオ例の分析

序文最近、MySQL で RR レベルでデッドロック問題に遭遇しました。興味深いと思ったので、調べて...

MySQL がテーブルを読み取れないエラー (MySQL 1018 エラー) の解決方法

1. エラーの再現MySQL データベースにはアクセスできますが、データベース テーブルを読み取るこ...

Navicat for Mysql 接続エラー 1251 (接続失敗) の問題を解決する

以前書いた内容が詳細さに欠けていたため、今回は修正・補足しました。ただし、以前の MySQL バージ...

YUM を使用して Linux (CentOS 7) に MySQL 5.7.18 をインストールする方法の詳細なチュートリアル

このプロジェクトでは MySQL を使用する必要があります。これまで Windows では常に確実に...

Vue で webSocket を使用してリアルタイムの天気を更新する方法

目次序文webSocket の操作と例について:ウェブソケット1. webSocketについて2. ...

Docker+daocloudはフロントエンドプロジェクトの自動構築とデプロイを実現します

自動プロジェクト展開は大企業やユニコーン企業でよく使用され、手動でプロジェクトを展開するよりも効率的...

Docker で Jenkins サービスを構築する例

画像をプルする root@EricZhou-MateBookProX: docker pull je...

Vueはユーザー名が使用可能かどうかの検証を実装します

この記事では、ユーザー名が使用可能かどうかを確認するためのVueの具体的なコードを例として紹介します...

Node.jsで子プロセスを作成する方法

目次導入子プロセスプロセスを非同期的に作成する同期作成プロセス導入Node.js のメイン イベント...

CSS3 における構造擬似クラスセレクターと擬似要素セレクターの使い方の詳細な説明

構造擬似クラスセレクタの紹介構造擬似クラスセレクターは、いくつかの特殊効果を処理するために使用されま...

Vue.jsは背景テーブルコンポーネントのカプセル化を管理します

目次問題分析なぜカプセル化なのかパッケージの内容は何ですか?テーブルコンポーネントをカプセル化するデ...