FortiGuard Labs 脅威リサーチ
脆弱性を管理し改善することは、組織内で取り組む最も困難な問題の1つです。多くのソリューション、ウォッチリスト、警告は、企業やエンドユーザーが、既知のセキュリティ脆弱性に対して確実にパッチを適用できるように設計されています。
残念ながら、ツールが利用可能であっても、チームが事前に最新情報の警告を受けていても、タイムリーにパッチが適用されなかったり、まったく適用されないことも多くあります。これは通常、時代遅れのソフトウェア、チームの過剰な負担、怠慢、能力不足などに起因しており、脅威アクターもこのことを知っています。パッチの適用は、しばしば退屈で面倒な作業です。パッチの適用が遅かったり、一貫性がなかったり、ずさんな対応となっている組織は、悪用可能な足がかりを探す脅威アクターに門戸を開いており、被害者になることが多くあります。
代表的な例として、CVE-2017-0199やCVE-2017-11882は、ほぼ5年以上前に報告されていますが、現在でも悪用されています。さらに悪いことに、この2つの脆弱性は、長い間、公式のパッチが提供されていましたが、悪用は続いています。
このブログでは、この2つのCVEを悪用するマルウェア亜種であるSmokeLoaderの配布チェーンに関する最新の事例を検証します。SmokeLoader(Dofoilとも呼ばれる)は、2011年以来、さまざまな形で市場で入手可能です。主な目的は、他のマルウェアファミリーの配布をサポートすることで、Trickbotなどが挙げられます。最新のサンプルではzgRATをドロップします。これは、SmokeLoaderが通常配布するものと比較して珍しいペイロードを持っています。
影響を受けるプラットフォーム: Windows
影響を受けるユーザー: Windowsユーザー
影響: 別の目的の他のマルウェアを配布する可能性
深刻度レベル: 中
以下のセクションでは、最初のEメール、添付ファイル、実行ファイルなど、攻撃の個々の要素について検証します。
このマルウェアは、多くのフィッシング詐欺のストーリーと同様、最初に、出荷の日付が正しいか、注文書を確認するよう受信者を促して誘導します。このEメールの送信先は、台湾の大手通信会社がホストするWebメールのアドレスでした。また、このフィッシングメールの送信者も同じサービスを使用していたため、メッセージの正確な発信元を追跡できませんでした。奇妙なことですが、おそらくこのメールがフィッシング詐欺であることを伝えるために、この送信者は受信者のアドレスになりすまして、送信者のアドレスとして使用していました。
本文は、中国語と英語が混在しており、完全な署名と連絡先の詳細を示して、可能な限り正当に見えるよう工夫されていました。
図1に示すとおり、このEメールには、「Purchase Order FG-20220629.xlsx」ファイルが添付されています。このファイルを開くと、感染プロセスが開始します。
ファイルを開くと、「保護されたコンテンツの表示」に関するピクセル画像、およびMicrosoftの偽の説明が記載された一般的な画面が表示されます。
このスプレッドシートは、マクロが含まれておらず、内部を注意深く見る必要があります。「Sheet2」はロックアイコンがあり、シートは暗号化または保護されている可能性があることを示しています。Didier Stevensのoledumpなどのツールを利用すると、このような状況に有用です。
oledumpを実行した結果、ファイルに暗号化されたストリームが存在し、注目すべき内容が含まれている可能性が高いことが明らかになりました。Didier Stevensが提供する別のツール「 – msoffcrypto-crack.py」を利用すると、よく使われる明白なパスワードの有無をチェックできます。
この例の表示では、「VelvetSweatshop」が返されています。興味深いことに、これは実際、Excelで認識できるデフォルトのドキュメントパスワードとなっています。データの暗号化は可能ですが、ユーザーには、ファイルにアクセスためのパスワード入力は促されません。
上述した2つのツールを、パイプ(|)を使用して組み合わせることで、問題のOLEストリームの範囲が完全に復号化され、攻撃の次のステージのターゲットが表示されます。この段階では、この攻撃に関連する2つのエクスプロイトのうち、1つ目のCVE-2017-0199が使用されます。また、埋め込みリンクが含まれており、192[.]227[.]129[.]26から「receipt.doc」ファイルのダウンロードを試みます。
「receipt.doc」の初期分析の結果、奇妙な点が明らかになりました。図7に示すように、Exiftool(ファイルのメタデータの検証ツール)を「receipt.doc」に対して実行すると、エラーが返されます。ファイルを開いて直接見てみると、試行されている範囲の情報がわかります。
このファイルがMicrosoft Wordドキュメントでなく、リッチテキストファイル(RTF)であることはすぐにわかります。このファイルは、上述した2つの脆弱性のうち、2つ目のCVE-2017-11882を悪用しています。これは、Microsoftの数式エディタのスタックオーバーフローの脆弱性で、脆弱なシステム上でリモートコードを実行することができます。
「receipt.doc」は、再度、192[.]227[.]129[.]26にアクセスし、vbc.exeをダウンロードします。これがSmokeLoaderです。
このファイルの先頭は「vbc.exe」で始まり、OSで表示されるように詳細を見ると、このファイル自身は、Microsoft .NETの実行ファイルとして表示されます。
このファイルのメタデータを確認すると、基本的なレベルの記述の誤りが見られます。
このファイルは「WinRAR」と記述されています(正規のファイル圧縮・アーカイブソフトウェア)。また、元のファイル名と現在のファイル名が一致しておらず、これまでの状況から考えると、非常に不審です。
この実行ファイルを.NETのデバッガやIDEで表示すると、プログラムの実行目的と方法の詳細が明白になります。
URL「sorathlions[.]com/wp-content/Vymxn_Zfbgctbp[.]jpg」への接続が試みられます。
接続できない場合、何回も再試行します。ただし、これらの試行は非常に速いペースで実行されるため(1分に数回)、このURLへの単調で絶え間ない接続試行を考えると、検知は可能だと思われます。
接続が成功すると、リモートの場所から「Vymxn_Zfbgctbp.jpg」ファイルをプルし、図14のコマンドが実行されます。
図12と図14のコードから、「Vymxn_Zfbgctbp.jpg」は見た目どおりの画像ファイルでない可能性があることを示しています。
このファイルのメタデータを確認すると、圧縮されたGZipアーカイブであることがわかります。図12は、このファイルをメモリ上に解凍するコードを示し、このことを裏付けています。また、このファイルは、7Zipなどの一般的なツールを使用して手動で解凍することもできます。
図17に示すように、「vbc.exe」で実行される.NET DLLファイルがドロップされます。
このDLLは高度に難読化されています。ただし、主要な名前空間、クラス、エントリ関数を見つけることは可能です。
このDLLの難読化されてない一部の文字列から、FortiGuard LabsはこのサンプルはzgRATであると考えています。zgRATのサンプルは2021年にさかのぼります。これは、確立されている他の系統と比較すると、少し珍しいマルウェアの亜種です。
この特定のサンプルは、外部との通信を試みることなく、大半はアイドル状態で、これ以上の攻撃的な活動は実行しません。
2017年に発見されたCVE-2017-0199とCVE-2017-11882は、現在でもさまざまなマルウェアキャンペーンで活発に利用されています。このことは、マルウェア作成者は現在でも目的を達成するために、しばしば公開されてから数年経つような古い脆弱性を利用しており、対象のソリューションが未修正であることに依存していることを示しています。
SmokeLoaderは他の脅威と比較して相対的に寿命が長く、存在し続けており、近い将来に、衰える兆候は見られません。
このブログに記載されているサンプルは、以下のアンチウイルス(AV)シグネチャによって検知されます。
VBA/Agent.BMW!tr.dldr
MSOffice/CVE_2017_11882.B!exploit
MSIL/Agent.MJR!tr.dldr
MSIL/Injector.VZX!tr
FortiGuard IPSは、CVE-2017-0199に関連するすべての既知のエクスプロイトに対して、以下のシグネチャで保護します。
MS.Office.RTF.File.OLE.autolink.Code.Execution
FortiGuard IPSは、CVE-2017-11882に関連するすべての既知のエクスプロイトに対して、以下のシグネチャで保護します。
MS.Office.EQNEDT32.EXE.Equation.Parsing.Memory.Corruption
ネットワークベースのすべてのURLは、Webフィルタリングクライアントによって保護されます。
フォーティネットでは、フィッシングの脅威を理解し検知できるように、ユーザーへのトレーニングをサポートする複数のソリューションを提供しています。
FortiPhishフィッシングシミュレーションサービスは、実世界のシミュレーションを利用することで、企業や組織は、フィッシングの脅威に対するユーザーの意識や注意に関するテストを行ったり、ユーザーが標的型のフィッシング攻撃に遭遇した際の適切な行動を強化することができます。
また、これらの保護に加えて、当社では、企業や組織のエンドユーザーに、当社のNSE training:NSE 1 – Information Security Awarenessトレーニングを受講してもらうことをお勧めしています。インターネット上の脅威に関するモジュールが含まれており、エンドユーザーはさまざまなタイプのフィッシング攻撃を自身で特定し保護する方法を学ぶことができます。
ファイル名 |
SHA256 |
Purchase Order FG-20220629.xlsx |
eef3295bada101787ae4f1ebc92e17fc2c6cd8c39389a745c45943a019637ca1 |
receipt.doc |
a1f59ebe9e8311267d831da649a8df44a3d747e9cf75e64a259b2fd917d2f587 |
vbc.exe |
3223ae2c88753ce7268fa02213b76bdaf690ac37ec411ea8b7925c3b31e8822f |
Vymxn_Zfbgctbp.jpg |
104f88876b4d7c963d47afa63cfbb516d20e1cf9858d739f9c4023142b223fe2 |
Vymxn_Zfbgctbp.dll |
4e4e32f6259b82e6b932ab81172c22560ec2ac46e85543d4851637a63eaace3e |
sorathlions[.]com |
dhemgldxkv[.]com |
afrocalite[.]com |
108[.]60[.]212[.]220 |