Redis の CVE-2022-0543 を狙う Redigo マルウェア:ステルス型バックドアを仕掛ける

New Redigo malware drops stealthy backdoor on Redis servers

2022/12/01 BleepingComputer — Redigo と命名された Go ベースの新しいマルウェアが、Redis サーバの脆弱性 CVE-2022-0543 を標的にしてステルス・バックドアを仕込み、コマンド実行を可能にしていることが判明した。この脆弱性 CVE-2022-0543 (CVSS:10.0) は、Redis (Remote Dictionary Server) ソフトウェアに存在し、2022年2月に発見/修正されているものだ。

しかし、修正プログラムが公開された後に、PoC エクスプロイト・コードが公開されたことで、攻撃者は数ヶ月にわたり、パッチ未適用のデバイスに対して、このプログラムを利用し続けていた。

マルウェアの名称である Redigo (Redi-Go) とは、標的となるマシンと、それを構築するためのプログラミング言語からなる造語だ。

今日に AquaSec は、脆弱性 CVE-2022-0543 に対応する Redis ハニーポットが、Virus Total のアンチウイルス・エンジンでは脅威として検出されない、新しいマルウェアを捕捉したと報告している。

Redigo coming clean on Virus Total scan
Virus Total で検出された Redigo のペイロード (AquaSec)

Redigo による攻撃

AquaSec によると、Redigo による攻撃は、Web 上で公開されている Redis サーバを検出する port 6379 のスキャンから、動きを始めるという。攻撃者は、ターゲットとなるエンドポイントに接続した後に、以下のコマンドを実行する。

  • INFO:Redis のバージョンを確認し、そのサーバが CVE-2022-0543 に対して脆弱であるかどうかを確認する。
  • SLAVEOF:攻撃サーバのコピーを作成する。
  • REPLCONF:攻撃サーバから新しく作成されたレプリカへの接続を構成する。
  • PSYNC:レプリケーション・ストリームを開始し、サーバーのディスクに共有ライブラリ exp_lin.so をダウンロードする。
  • MODULE LOAD:ダウンロードしたダイナミック・ライブラリから、任意のコマンドを実行し、CVE-2022-0543 を悪用するためのモジュールをロードする。
  • SLAVEOF NO ONE:脆弱な Redis サーバをマスターに変換する。
Commands seen in the Redis honeypot
Redis ハニーポットで観測されたコマンド (AquaSec)

攻撃者は、埋め込んだバックドアのコマンド実行能力を利用して、ホストのハードウェア情報を収集し、Redigo (redis-1.2-SNAPSHOT) をダウンロードする。そして、特権を昇格させた後に、マルウェアを実行する。

攻撃者は、ネットワーク分析ツールによる検出を回避するために、port 6379 を介した通常の Redis 通信をシミュレートし、Redigo の C&C サーバーからのトラフィックを隠蔽しようと試みる。

AquaSec のハニーポットには攻撃時間の制限があるため、Redigo が環境に定着した後に何を実行するのか、同社のアナリストたちは正確に判断できなかったという。

Redigo malware functions
Redigo マルウェアの機能 (AquaSec)

AquaSec によると、Redigo の最終的な目的は、脆弱なサーバをネットワーク上のボットとして追加した後に、DDoS 攻撃を仕掛けたり、暗号通貨マイナーを実行する、可能性が高いとのことだ。また、Redis はデータベースであるため、Redigo 攻撃による侵入後に、データ窃取を試みる可能性もある。

Redis の欠陥の緩和に関する詳細については、Debian のセキュリティ・アドバイザリや、Ubuntu の CVE-2022-0543 に関するセキュリティ情報から確認できる。

この Redis の脆弱性 CVE-2022-0543 ですが、3月28日の「CISA 警告:Chrome/Redis などの 32 件の脆弱性を悪用リストに追加」で取り上げられていました。また、9月21日の「Redis 運用で判明した問題:39,000 件のインターネット接続サーバが狙われている」でも、Redis の悪用に関する詳細が記されています。

%d bloggers like this: