HeadCrab マルウェア
セキュリティ会社 Aqua Nautilus の研究チームは、2021 年後半から世界中のサーバーに侵入している、HeadCrab と呼ばれる危険で狡猾なマルウェアを発見しました。この最先端の脅威は、カスタムメイドの検出困難なマルウェアを利用して、Redis サーバーを侵害します。 、少なくとも 1,200 台のサーバーを制御しています。 HeadCrab マルウェアは、エージェントレスの従来のウイルス対策ソリューションをバイパスできます。
Redis とは - HeadCrab 攻撃の標的となるプラットフォーム
Redis は、データベース、キャッシュ、またはメッセージ ブローカーとして使用できるオープンソースのインメモリ データ ストアです。安全な閉じたネットワーク上で実行することを意図しているため、インターネットからアクセスできるデフォルトの Redis サーバーは、不正アクセスやコマンド実行の影響を受けやすくなっています。 Redis クラスターを使用すると、データのレプリケーションと同期を容易にするためのマスター サーバーとスレーブ サーバーを使用して、データを複数のノードに自動的に分割して保存できます。サーバーは、SLAVEOF コマンドを使用してスレーブとして指定できます。これにより、サーバーは、マスターに存在するモジュールのダウンロードを含め、マスターと同期できます。 Redis モジュールは、サーバーの機能を拡張する実行可能な共有オブジェクト ファイルです。モジュールは、MODULE LOAD コマンドを使用して、Redis ポート経由でサーバーにアップロードおよびロードされます。
Redis サーバーは、構成ミスや脆弱性が原因で、近年攻撃者の標的になっています。 Redis サーバーの人気が高まるにつれて、攻撃の頻度も高まり、Redigo マルウェアや Redis サーバーを標的とする TeamTNT などのインシデントが発生しています。
Aqua Nautilus が運営するハニーポット サーバーへの攻撃は、攻撃者が Redis サーバーを標的にしたことから始まりました。 SLAVEOF コマンドを使用して、攻撃者が制御する別の Redis サーバーのスレーブとしてサーバーを設定すると、サーバーは最終的に侵害されました。マスターはスレーブの同期を開始し、スレーブ ハニーポット サーバーに悪意のある Redis モジュールとして HeadCrab マルウェアをダウンロードしました。この戦術は、影響を受けるホストに悪意のある Redis モジュールをロードするために攻撃者によって使用されています。
HeadCrab マルウェアは高度で複雑な脅威です。悪意のある Redis モジュール フレームワークとして構築され、多数のオプションと機能を備えています。
HeadCrab のユニークなプロファイルと動作
Aqua Nautilus が検出した HeadCrab サンプルは、MD5 チェックサムを使用した Virus Total で結果を生成しませんでした。追加の標本を入手しようとしたにもかかわらず、チームは成功しなかったため、これが非常にとらえどころのないオリジナルのマルウェアであるという確信が強まりました。
実行の開始時に、マルウェアは、Redis サーバーがモジュールをロードするときにアクティブ化される RedisModule_OnLoad 関数を使用します。その後、マルウェアは、将来の使用のために重要な Redis API 関数のアドレスを保存し、rds という名前のモジュールが既に読み込まれているかどうかを確認します。そうである場合、マルウェアは悪意のあるアクティビティを実行することなく、すぐに停止します。
モジュールには 2 つの引数またはマジック ナンバーをロードできます。これらは実際には 2 つのグローバル マジック ナンバーであり、暗号化キーとして機能し、ユーザーが実際に攻撃者であることを確認します。その後、マルウェアは実行のさまざまな部分でこれらのマジック ナンバーを変更できます。このモジュールは、マジック ナンバーの有無にかかわらずロードできます。これは、実行中にマルウェアの機能の一部に影響を与えます。
有害なソフトウェアは、動的読み込みコンポーネントへのルートを特定し、プログラムを実行できるようにします。必要な実行可能ファイルをパラメーターとして指定することにより、動的読み込みコンポーネントは独自の名前でプロセスを実行できます。この手法は、プロセスの実行を精査することで、有害なファイルを特定するセキュリティ対策を回避できます。本物のバイナリであるため、動的読み込みコンポーネントは悪意のあるものとして認識されず、マルウェアはこれらのセキュリティ対策から身を隠すことができます.