脅威リサーチ

Confluenceサーバーの脆弱性を利用した最近の攻撃

投稿者 Cara Lin | 2021年11月2日

FortiGuard Labs Threat Research Report

影響を受けるプラットフォーム: AtlassianのConfluence
影響を受けるユーザー:     Confluenceサーバーまたはデータセンターインスタンス
影響:             認証されていないユーザーによる任意コードの実行を許すOGNLインジェクション脆弱性が存在する
深刻度:            クリティカル

CVE-2021-26084の紹介

Atlassianは2021年8月に、脅威アクターがパッチが施されていないConfluenceサーバー / データセンターインスタンスに任意コードを実行することを可能にするCVE-2021-26084についてセキュリティアドバイザリを発表しました。FortiGuard Labsは状況を分析し、関連情報を含む脅威シグナルを発表しました。アドバイザリの発表後には、大規模なスキャンが行われ、概念実証済みのエクスプロイトコードが公開されています。FortiGuard Labsでは、ロット攻撃トラフィックも収集します。本ブログでは、この脆弱性を利用するペイロードを分析し、攻撃を深く掘り下げて検討し、ネットワークがCVE-2021-26084の影響を受けたことを示唆する不審な活動についてIOC(Indicators of Compromise:侵害指標を要約します。

CVE-2021-26084インシデントの概要

私たちは9月に、この脆弱性を悪用する脅威アクターを数多く確認していますが、彼らの目標は、ユーザーのネットワークにバックドアやマイナーをインストールする悪質なペイロードをダウンロードすることです。これらの脅威には、CryptojackingやSetagバックドア、システムでPowerShellを使用してファイルを投下せずにシェルを実行するファイルレス攻撃、Muhstikボットネットなどがありますが、今回の分析ではこれらの脅威について詳しく解説します。

この脆弱性についてはさまざまな攻撃ベクトルがありますが、これらの攻撃はいずれも以下のパケットキャプチャに見られるパラメータ「queryString」を標的としています。

CVE-2021-26084を悪用したファイルレス攻撃

Cryptojacking

この攻撃ではCVE-2021-26084をエクスプロイトした後に、86.105.195[.]120からinit.shをダウンロードします。シェルは以下のタスクを含むクリプトマイナーです:

  1. syslogを削除する
  2. 一般的に使用されているコマンドを変更する
  3. aliyunサービスとapparmorを停止させる
  4. クリプトマイナー実行ファイル(zzh)のパスとファイルそのものを設定し、ただし名前はnewinit.shに変更する
  5. 他の全てのクリプトマイナープロセスを終了(キル)する
  6. crontabを使用して永続化(パーシステンス)を確立する
  7. スキャニングシェル(is.sh)を得る
  8. 痕跡を消す
CVE-2021-26084をエクスプロイトするペイロード

Inti.sh

これはスキャニングシェルで、MasscanやPnscanといったIPv4 TCPネットワークのスキャンと調査を行って稼働している拡散のできるホストを見つけることができるスキャンツールのダウンロードを試みます。ダウンローダーパスは以下の通りです。これは、スキャンの具体的なステップを規定するシェルもダウンロードします。まずは、ログインブルートフォースツールhxx(md5: f0551696774f66ad3485445d9e3f7214)とアカウント / パスワードリストps(md5: a43ad8a740081f0b5a89e219fe8475a3)を取得し、次にプライベートネットワーク(172.16.0.0/12, 192.168.0.0/16, 10.0.0.0/8)に属するサブネットをスキャンします。これにより、マルウェアは被害者のイントラネットでより多くのデバイスにログインし、マイナースクリプト(init.sh)を拡散させることができます。

is.shにおけるダウンローダーパス

rs.shにおけるスキャンステップ

全体的なワークフローは以下の通りです。

Confluenceサーバー

Setag

IPアドレス86.105.195.154(AS 3164 Astimp IT Solution SRL)から以下のエクスプロイトトラフィックが確認されました。BillGatesやGaniwの名でも知られるSetagは、1デイ脆弱性を通じてサーバーに狙いを定めるよく知られたマルウェアファミリーに属しています。主にUDP/SYN/ICMP/DNSフラッドを使ってDDoS攻撃を行います。しかし、自身の状態をチェックしたり被害者をコントロールしたりできるさまざまなコマンドも備えています。以下の未加工データでは、DoS攻撃のためのコマンドや被害者をコントロールするコマンドを見ることができます。

Syna

ファイルレス攻撃

確認されたパケットは141.98.83.139(AS 209588 Flyservers S.A.)からのものであり、メインのペイロードはb64で符号化されています。復号されたデータは以下の通りです:

第1層復号データ

ペイロードがPowerShellで構築され実行されているのが分かります。最終的な実行では「WindowStyle」をhiddenに設定し、「CreateNoWindow」をTrueに設定して、それ自体を見えなくします。私たちは途中でそれらのデータを復号し、{0}および{1}を「=」および「P」に置き換えた結果、下記の第2層ペイロードデータを得ることができました。

第2層ペイロードデータ

これにより、メインのエクスプロイトコードを含む2つの関数と1つの変数を定義しました。$sGでコードを変換した後には、VirtualAllocを使用してメモリーの一部を予約します。次に、CreateThreadを使用して悪質なコードを呼び出します。$sGは厳密には何なのでしょうか? b64復号の後には、以下のように約570バイトのバイナリーデータが得られます。

570バイトのバイナリーデータ

これを深く掘り下げるには、IDAでこのバイナリーをチェックする必要があります。loc_D6への最初のコールに次いで、ws2_32を置き、edx, 726774chを転送しますが、これはLoadLibrary関数のハッシュ値であり、詳細なコードは以下の通りです:

LoadLibrary関数のハッシュ値

これは、tcpポート23733を通じてエクスプロイトソース141.98.83[.]139に接続するリバースシェルmeterpreterシェルコードです。このポートは現在閉じられているため、以下のパケットをキャプチャすることしかできませんでした。ただし、攻撃プロセス全体はPowerShellだけを利用して層ごとに復号し、隠れウィンドウスタイルを使ってそれ自体を隠します。最後に、スレッドを作ってリバースシェルを達成します。攻撃全体でファイルはひとつも投下されないため、ファイルレス攻撃の名で知られています。

Muhstik

これは、CVE-2021-26084をエクスプロイトすることによって149.28.85[.]17からconf2をダウンロードします。そのファイルは、188.166.137[.]241からのdk86とldmスクリプトを配備し、実行します。その後の攻撃シナリオはこの記事で分析されていますが、私たちは異なるサーバーIPと、Muhstikのconf2を拡散することを目的とするさらなる攻撃ソースIPを確認しました。

異なるconf2ダウンローダー

結論

私たちは数週間にわたってこの脆弱性を追跡し、AtlassianのConfluenceを標的とする大規模な脅威エクスプロイトを確認しています。CVE-2021-26084のパッチは既にリリース済みですが、攻撃はまだ続いています。今回の投稿では、それらの攻撃の詳細を伝え、それらがどのようにペイロードを使ってマルウェアを送り込んでいるかを説明しました。ユーザーは直ちにシステムをアップグレードしてください。また、FortiGuardプロテクションを適用して脅威プロービングを回避しましょう。

フォーティネットのソリューション

Fortinetでは、脆弱性CVE-2021-26084について、当社のお客様を積極的に保護するため、既にIPSシグネチャAtlassian.Confluence.CVE-2021-26084.Remote.Code.Executionをリリースしています。ここで説明されているペイロードは、FortiGuardアンチウイルスで検知されブロックされます。

ダウンロードURLと攻撃者のIPアドレスは、FortiGuard Webフィルタリングサービスによって「悪質なWebサイト」に格付けされています。

IOC(Indicators of Compromise:侵害指標)

Value

Item

86.105.195.154

Cryptojacking expolit source IP address

86.105.195.120

Cryptojacking dropper hosting IP address

911e417b9bc8689a3eed828f0b39f579

hxxp://86.105.195.120/cleanfda/init.sh

hxxp://86.105.195.120/cleanfda/newinit.sh

75259ee2db52d038efea5f939f68f122

hxxp://86.105.195.120/cleanfda/zzh

4a7bf7f013cc2297d62627b2b78c5b0b

hxxp://86.105.195.120/cleanfda/is.sh

8cc2b831e29dc9f4832a162e9f425649

hxxp://86.105.195.120/cleanfda/rs.sh

2.57.33.59

Setag expolit source IP address

209.141.50.210

Setag dropper hosting IP address

a8eb59396d698bda5840c8b73c34a03b

hxxp://209.141.50.210/syna

141.98.83.139

Fileless attack expolit source IP address

1b8a7954b9630be2e0dd186a4fc6a32a

2nd layer payload data

bf8a7b199f3293852c7f2b3578e8c0ae

Binary shellcode

98.239.93.20

87.106.194.46

51.75.195.137

34.247.148.227

121.196.25.170

221.168.37.77

122.9.48.250

18.182.153.49

Muhstik exploit source IP address

149.28.85.17

Conf2 dropper hosting IP address

6078c8a0c32f4e634f2952e3ebac2430

hxxp://149.28.85.17/conf2