2021年12月6日

GuLoaderマルウェアによる”ダウンロード”

GuLoaderは、一般的にCloudEyEやvbdropperとも呼ばれており、2019年12月頃に初めて確認され、その後、世界中で大規模にマルウェアを配布するために使用されています。ローダー/ダウンローダーマルウェアは、ターゲットに感染し、第2段階のマルウェアや悪意のあるペイロードの実行を助けるように設計された第1段階のマルウェアです。一般的にローダーは、サイバー犯罪者がサーバーやインフラへのアクセスを有料で提供するMaaS(Malware-as-a-Service)スキームを立ち上げ、分散型マルウェアキャンペーンを展開する際に使用されます。GuLoaderの配信方法は様々ですが、マルスパムと呼ばれる悪性スパムキャンペーンで使用されることが最も多いと言われています。

GuLoaderマルウェアは、様々な方法でダウンロードまたは作成されますが、最も一般的なものは、悪意のあるペイロードまたはCVE-2017-11882のようなエクスプロイトを実行するマクロを含む文書の添付ファイルを使用することです。GuLoaderは、Visual Basic 6で書かれており、内部にShellcodeペイロードがラップされている点が特徴です。しかし、今日の多くのマルウェアの系統と同様に、GuLoaderもまた、検出と防御を回避するために様々な自己防衛メカニズムを使用しています。

第一段階
GuLoaderは、マクロで起動された隠れOLE埋め込みオブジェクトを含むOfficeドキュメントの添付ファイルから始まります。
下の画像では、赤丸で囲んだ小さな黒いピクセルに注目してください。

image.png

図1:MGuLoaderマルウェア

次に、実行許可を求めるポップアップが表示されます(「WindowsUpdate.exe」)。これがGuLoaderマルウェアで、この操作を行うと実行可能になります。

image.png

図2: "WindowsUpdate.exe "としてマスクされたGuLoaderマルウェアのセキュリティプロンプト

マクロを調べてみると、最初にドキュメントを開いたときには気づかなかったようなオブジェクトがあることがわかります。ドキュメントを再度開き、左上隅の小さなピクセルに移動すると、元のオブジェクトサイズに拡大され、埋め込まれたGuLoaderマルウェアを確認することができます。

image.png

図3:ドキュメントに埋め込まれたGuLoaderマルウェアをトリガーするVBAマクロ

image.png

図4:小さなピクセルがGuLoader実行ファイルとして暴かれてしまった

また、悪意のあるPE実行ファイルは、下記の例のように、Officeファイルの中に埋め込まれるのではなく、悪意のあるOfficeファイルに埋め込まれたマクロによって作成されることもあります。

image.png

図5:別のmaldocサンプルから作成されたスクリプトのVBSコード

このスクリプトは、前の例で示したようにOLEの中に埋め込むのではなく、GuLoaderマルウェアの実行ファイルを作成します。

image.png

図6:GuLoaderのPEヘッダを見るとVisual Basicで書かれていることがわかる

第二段階

GuLoaderの目的は、1つまたは複数のリモート管理ツール(RAT)や、以下のような情報窃取型のトロイの木馬をダウンロードすることです。

  • Parallax RAT - 少なくとも2019年から活動
  • Remcos RAT - 少なくとも2016年から活動
  • FormBook - 少なくとも2016年から活動
  • Agent Tesla - 少なくとも2014年から活動
  • NanoCore - 少なくとも2013年から活動
  • NETWIRE - 少なくとも2012年から活動

GuLoader: 自己防衛の達人

GuLoaderは、難読化技術やアンチアナリシス/デバッギング/サンドボックス/エミュレーション技術を用いることで有名です。

  • セキュリティソフトを回避するために、メモリ上にロードされたNTDLLのAPI関数を検索し、セキュリティ製品がよくフックを設定している場所を探します。そして、APIコールをインターセプトし、それらのAPI関数に関連する悪意のある動作を検出するフローを制御します。発見したら、元のNTDLLのAPI関数の制御フローを復元することで、それらのフックを「解除」します
  • GetProcAddressの使用。プログラムが実行されると、PEヘッダーにあるIAT(Import Address Table)からどのWindows API関数の呼び出しを使用するかを決定します。この処理をダイナミックリンクと呼びます。インポートには、プログラムの機能を記述した情報が含まれているため、解析やデバッグに利用価値があります。例えば、SetWindowsHookExA()がインポートされていれば、そのプログラムがキーストロークのロギングが可能であることを示しているかもしれません。使用されるWindows APIコールを難読化してマスクするために、GuLoaderはGetProcAddressをインポートし、メモリにロードされたuser32.dllから使用したいAPI関数のアドレスを解決するためにそれを使用し、インポートしなくても使用する可能性を達成します。GuLoaderのPEファイルは、IATで宣言された使用予定の全てのAPI関数ではなく、一般的なGetProcAddress()(その他)のみを含み、アンチマルウェア·ソリューションやアナリストから真の意図を隠蔽します
  • EnumWindowsの使用。このサンドボックスまたはエミュレーションの検出は、画面上のすべてのトップレベルのウィンドウを列挙してカウントすることで行われます。開いているウィンドウの数が少ない場合、マルウェアは分析プロセス中に検出されるのを避けるために、悪意のある活動を実行せずに自己終了します
  • ThreadHideFromDebugger パラメータを持つ NtSetInformationThread の使用。このデバッグ改ざん手法は、隠しスレッドでブレークポイントがヒットした際に、デバッグ対象のアプリケーションにクラッシュを引き起こします
  • DbgBreakPoint API は、デバッガが実行中のプロセスにアタッチされると呼び出されます。GuLoader は、DbgBreakPoint の元々のアセンブリ命令を 0x90 命令/NOP(no operation)に置き換えることで、この API にパッチを適用します。同様に、DbgBreakPointを操作するために、他のデバッグ用APIの呼び出しをダミーの呼び出しに置き換え、デバッグ作業中にクラッシュさせます
  • シェルコード自体にジャンク命令を追加しますが、これは解析処理を遅らせる以外の効果はありません

image.png

図7:VM環境でサンプルを実行した場合のAnti-VM警告メッセージ

実行に成功すると、GuLoaderは "Process Hollowing "と呼ばれるコードインジェクション技術を実行し、サスペンド状態にある正規のプロセスのアドレス空間に悪意のあるコードを注入します。その後、メモリをアンマップ(空洞化)し、そのプロセスの下で実行される悪意のあるコードを注入します。この技術を使用する目的は、システム内で実行されている他の正当なプロセスの中に悪意のある活動を隠し、実行中のプロセスの異常を検出するための防御策を回避することです。GuLoaderが悪意のあるペイロードを空洞化して注入するための主要なターゲットには、通常以下のものが含まれます。

  • regAsm.exe - アセンブリ登録ツール
  • MSBuild.exe - Microsoft Build Engine(アプリケーションを構築するためのプラットフォーム)
  • RegSvcs.exe - .NETサービスのインストールツール

最終段階

GuLoaderは、「プロセスの空洞化」に成功すると、ターゲットとなるマルウェアをリモートロケーションからダウンロードして実行します。通常、これらのベンダーのドメインは良性かつ信頼できるものとして分類されているため、ネットワークベースの検出を避けるために、この場所がGoogle DriveやOneDriveである場合もあります。

image.png

図8:Remcos RATに対するGuLoader GETリクエスト

image.png

図9:ダウンロードされたREMCOS RAT(PEファイルのMZマジックバイトのヒント)

GuLoaderの広範なリーチ

GuLoaderは非常に活発で、あらゆる環境にとってかなりの脅威となります。2021年9月には、GuLoaderを利用したRemcosリモートアクセストロイの木馬を拡散するキャンペーンが確認されました。2021年1月に記録された別の顕著なキャンペーンは、イタリアの組織を標的とし、偽のRFQ(Request for Quotation)を偽装したマルスパムでGuLoaderを拡散しました。

image.png

図10:2021年1月~10月にMalwareBazaarに提出されたGuLoaderサンプルの数。1月~2月と9月~10月に急増していることに注目してください。

まとめ

GuLoaderの感染は、感染した組織に深刻な影響を与える可能性があり、その有効性から今後数年間は重大な脅威となることが確実視されています。

Deep Instinctは、GuLoaderのようなマルウェアを防ぎ、お客様の環境に侵入する前に検出して阻止することに成功しています。Deep Instinctは、悪用される展開方法に関わらず、悪意のあるペイロードを防ぎます。当社の深層学習フレームワークにより、Deep Instinctは未知の脅威の99%以上を防ぐことができます。また、誤検知が0.1%未満であることを保証する非常に高い精度を備えています。

当社のマルウェア、ランサムウェア、ゼロデイ対策の詳細については、業界最高水準の300万ドルの無ランサムウェア保証を含め、デモをこちらからご依頼ください。
https://www.deepinstinct.com/ja/request-a-demo

IOCの
Docx: 4797b4b672a93427a126361e058d86c443c4956255624bce2ff2e5d129f88eaa
Vbs: 6394c4e126b8ef4cf8e66d43a54cfd42fd86b3003292f621f0ca427bc12051d8
Pcap taken from: malware-traffic

続きを読む

https://www.difesaesicurezza.com/en/defence-and-security/cybercrime-the-guloader-campaign-back-to-italy-via-a-false-quotation/

https://www.gend.co/blog/netskope-cloud-threats-memo-january-28-2021

https://www.apriorit.com/dev-blog/367-anti-reverse-engineering-protection-techniques-to-use-before-releasing-software