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における制御されたコンポーネントと制御されていないコンポーネントの簡単な分析

推薦する

js QRコードスキャンログインの原理についての簡単な説明

目次QRコードログインの真髄QRコードを理解するシステム認証メカニズムQRコードをスキャンしてログイ...

Linux 環境変数の設定方法のまとめ (.bash_profile と .bashrc の違い)

Linux では、アプリケーションをダウンロードしてインストールすると、起動時にアプリケーション名...

HTML にネストされた div の無効なマージンに対する解決策

div がネストされているときに margin が機能しない問題の解決策を次に示します。さて、マージ...

要素に丸い境界線を追加する border-radius メソッド

border-radius:10px; /* すべての角は半径 10px で丸められます*/ bor...

MySQL 8.0.26 のインストールとアンインストールの完全なステップバイステップの記録

目次序文1. インストール1.公式サイトからダウンロード2. 構成を作成する3. MySQLを初期化...

MySQL でコマンドを使用して階層検索を実現する方法の詳細な説明

序文この記事は主にMySQLコマンド階層検索ヘルプの使用に関する内容を紹介します。この記事のサンプル...

Docker環境でJenkinsを設定すると、タスクをビルドするときにコンソールログに文字化けした中国語の文字が表示されます

目次1. 問題の説明: 2. Jenkins設定のトラブルシューティング3. コードログのエンコード...

MySQLはトリガーを使用してデータベース内のテーブルの行制限を解決します。詳細な説明と例

MySQLはトリガーを使用してデータベース内のテーブルの行制限を解決します。詳細な説明と例最近のプロ...

Linux での mysql-5.7.28 インストール チュートリアル

1. 公式ウェブサイトから Linux バージョンをダウンロードします: https://dev.m...

ネイティブ JavaScript メッセージボード

この記事では、参考までにメッセージボードを実装するためのJavaScriptの具体的なコードを紹介し...

Vueルーティングコンポーネントでパラメータを渡す8つの方法の詳細な説明

シングルページアプリケーションを開発する場合、特定のルートを入力し、パラメータに基づいてサーバーから...

素晴らしい CSS ナビゲーション バーの下線効果

中国初のカッター github.com/chokcocoまず、ここに画像があります。純粋な CSS ...

Vue.jsクラウドストレージで画像アップロード機能を実現

序文ヒント:以下はこの記事の主な内容です。以下のケースを参考にしてください。 1. オブジェクトスト...

ServerSocketのデフォルトIPバインディングの実装プロセスの詳細な説明

開発中にサーバーを起動する必要がある場合、ローカルテストではポートを直接書き込み、実際の環境ではバイ...

JavaScript 関数呼び出し、適用、バインド メソッドのケース スタディ

要約する1. 類似点どちらも、ターゲット関数が実行されると内部の this ポインターを変更できます...