2023年3月9日

DUCKTAIL:新しいLNKやPowerShellなど、検出を回避するためのカスタム戦術を使った攻撃が再登場

  • DUCKTAILは、これまでFacebookのBusiness Adsプラットフォームで活動する個人や組織をターゲットにしたマルウェア攻撃に付けられた名前
  • 初期感染はLNKからはじまりPowerShellを実行し、公開ファイル共有サービスにホストされているマルウェアをダウンロードする
  • DUCKTAILは、カスタムマルウェアを.NET Core 5としてコンパイルするように変更
  • 最終的なペイロードは、実験段階でカスタムメイドのマルウェアからコモディティマルウェアに変更

WithSecureは、2022年に2回に分けてDUCKTAILについて報告しています (1, 2)。

彼らのTTPを詳細に詳述した最初のレポートの直後、この脅威は一時静かになりました。

2つ目のレポートで彼らの戦術を明らかにした後、彼らは再び静かになりました。この時、Deep Instinctは、最初の感染経路を悪意のある実行ファイルを含むアーカイブから、感染チェーンを開始する悪意のあるLNKファイルを含むアーカイブに変更する実験を行っていることを確認しました(これについては後述します)。

Deep Instinctは、この作戦が2023年2月初旬に活動再開されたことを確認しました。

Deep Instinctが確認している実験的な動き

2022年10月、Deep Instinctの脅威リサーチチームによってDUCKTAIL作戦が観測され、WithSecureが既出のレポートで説明したように、通常の感染チェーンでは彼らのカスタム.NETマルウェアがプッシュされていました。

ハッシュ27c76c08e4d3a17056e0d22cbe1f6e59を持つペイロードは、攻撃者が作成した偽ビジネスの証明書(既に失効済み)で署名されていました。

図1:現在失効している証明書を使用した署名入りDUCKTAILマルウェア
図1:現在失効している証明書を使用した署名入りDUCKTAILマルウェア

ペイロードは、おとり画像や動画を含むアーカイブ(870dc03ba3120e4ecfb799b519ec1a50)内にありました。

図2:マルウェアとおとりファイルを含むアーカイブファイル内のディレクトリツリー
図2:マルウェアとおとりファイルを含むアーカイブファイル内のディレクトリツリー

WithSecureの説明によると、マルウェアはTelegramボットを介してデータを漏洩させ、この場合、次のようなHTTPリクエストを介していました: hxxps://api.telegram.org/bot5448616453:AAHJdBSZdnpmhl5_xYzf0uL-clkJzggXCSw/sendMessage

このペイロードと全く同じものが、別の感染チェーンでも並行して観測されており、Deep Instinctは、検出を回避して感染成功数を向上させるためのテスト目的で使用されたと判断しました。

最終的なペイロードは同じですが、新しい代替感染チェーンは、おとりファイルを一切含まないLNKファイルのみを含むアーカイブ(ece3728e2893c9dd70fb519ac80070b6)から始まっています。

このLNKファイルは、PowerShellを呼び出して、Discordでホストされている別のPowerShellスクリプトをダウンロードし、実行します:

図3:LNKファイルの内容
図3:LNKファイルの内容

LNK内のPowerShellコマンドは、静的検出を回避するために使用される引用符の追加、連結、文字列置換などの簡単なトリックを使用して軽く難読化されています。

ダウンロードされた第2段階のPowerShell(238fbb5ac0af956e8d07cf0f716e0d83)も、同じ置換トリックとダウンロードと実行用のカスタム関数を使用して軽く難読化されており、一部の静的検出を回避することができます。

実行されると、第2ステージのPowerShellは、旧感染チェーンで観察されたのとまったく同じ署名付きペイロード(27c76c08e4d3a17056e0d22cbe1f6e59)をダウンロードします。さらに、おとりファイルを含む良性のアーカイブファイルもダウンロードされます。両ファイルともにDiscordでホストされています。最後に、2ndステージのPowerShellは、痕跡を消すために最初のLNKファイルを削除することになります:

図4:第2ステージのPowerShellスクリプトの内容
図4:第2ステージのPowerShellスクリプトの内容

Deep InstinctがさらなるDUCKTAILの実験的試みを観察:

2022年11月から12月にかけて、DUCKTAILの活動は、新しい実験を続けながら、もっぱらLNK感染チェーンに切り替えていったようです。以下のような試みが確認されています。

LNKファイルの膨張:
LNKファイル(5da77aeb1d6ec4d7c9b8408cab3feecc)のサイズはほぼ300MBです。

機能は以前のLNKファイルと同じですが、このファイルには0バイトが付加されています。この 手法 は、様々なベンダーやサンドボックスでの検査可能ファイルサイズの制限のため、攻撃者の間で人気が高まっています。

LNK内の初期PowerShellコマンドを変更:
LNKファイル内の初期PowerShellスクリプトが完全に変更され、変数"$PSHOME "から1文字を抽出する組み合わせで連結に大きく依存するようになりました。

PowerShellの”$PSHOME”は、”powershell.exe”があるディレクトリのことで、例えば“C:\WINDOWS\System32\WindowsPowerShell\v1.0\.”のように訳します。

“C:\WINDOWS\System32\WindowsPowerShell\v1.0\.”

以下は、新しいLNK(e03635ef5c57b4884f619108499971e4)を抽出して編集した例です:

図5:解析コメントが追加された新しいPowerShellスクリプト
図5:解析コメントが追加された新しいPowerShellスクリプト

公開ホスティングのストレージに変更:
当初、DUCKTAIL作戦は、攻撃の次の段階をホストするためにDiscordを使用していました。ある時点で、これが”transfer.sh”、GitHub、Googleドライブといった他のパブリックストレージプロバイダーに移行しました。

さらに、攻撃者が管理する専用ドメインの使用も確認されました(付録参照)。

その一例が、図5に示す”techhint24[.]com”ドメインです。

以前、WithSecureは、Dropbox、iCloud、MediaFireでホストされている悪意のある実行ファイルが入ったアーカイブを観測しました。さらに、Deep Instinctは、攻撃者が管理するドメインや、@JAMESWT_MHTが発見したstatus-refund-taxes[.]web[.]app などのように、DropBoxにリダイレクトする無料のサブドメインでホストされたLNKを含む現在のアーカイブが確認されました。

図6:
図6:"status-refund-taxes[.]web[.]app "で確認されたDropBoxからファイルをダウンロードするリダイレクトの動き

最終的なペイロードへの変更:
感染チェーンの実験中、脅威者は独自のカスタム.NETマルウェアを使用していましたが、これは証明書の失効とマルウェアの検出率の上昇に起因していると考えられます。これがある時点で、異なるペイロードに切り替わりました。

図7に示す例では、ペイロードはDoenerium stealerでした。他の例では、Vidar steerが観測されました。この変化は、脅威アクターが攻撃を収益化する新しい方法を模索していることを示しているかもしれません。

Back to Action - 2023年2月に新たな攻撃の波が襲来:

2022年末に実験を行った後、2023年には2月中旬まで新しい活動の兆候はありませんでした。

この作戦は、実験での機能をすべて組み合わせた新しい感染チェーンで復活し、最終的なペイロードは再びカスタムマルウェアで、さらに別の新しい有効証明書を使用しています。

図7:新しい証明書情報
図7:新しい証明書情報

攻撃者はOpSecのミスで、自分が登録したドメインcakoithaivuong[.]siteのメールアドレスを追加していました。

新しいLNKの感染チェーンに加えて、悪意のある実行ファイルとおとりファイルを含むアーカイブからなる古い感染チェーンもアクティブになっています。

この波では、カスタムDUCKTAILマルウェアの機能は変わりませんが、64bit .NET Core 5のバイナリとして配布されています。

図8:新しいDUCKTAILバイナリのメタデータは、それが.NET Core 5バイナリであることを示している
図8:新しいDUCKTAILバイナリのメタデータは、それが.NET Core 5バイナリであることを示している

DUCKTAILに関する以前のレポートを見逃した方のために説明すると、このマルウェアの目的は、ブラウザのクッキーを盗み、Telegramを通じてそれを流出させることです。Facebookのセッションクッキーが見つかった場合、マルウェアはFacebookアカウントがビジネスアカウントであるかどうかをチェックします。ビジネスアカウントである場合、マルウェアは攻撃者のメールアドレスをファイナンスエディターおよび管理者として追加しようとします。

以下は、新しいDUCKTAILの感染連鎖を示すスキームです:

図9:新型DUCKTAIL感染チェーンを示した図
図9:新型DUCKTAIL感染チェーンを示した図

追加情報:

配信メカニズム:
WithSecureは当初、LinkedIn経由で個人が標的にされていることを確認しました。調査中、私たちはRedditの2つのスレッド (1 2) Googleドライブにホストされたアーカイブへのリンクを通じて拡散される疑わしいLNKファイルについて議論していることを確認しました。このリンクは、Redditのさまざまなスレッドに追加されており、そのうちの1つは アーカイブされた投稿で確認することができます。

マネタイズ:
WithSecureは、特にFacebook広告プラットフォームをターゲットにしたマルウェアの機能を詳細に説明していますが、脅威となる人物が企業のFacebook広告アカウントにアクセスした後に行う本当の目的については、説明が不足しています。

侵害された企業のFacebookアカウントで広告の支払いに使用されるクレジットカード情報を取得することは可能かもしれませんが、これはもっともらしいとは思えません。クレジットカード情報を得るには、より良い、より安価な、より簡単な方法があるからです。

初期サンプルの1つ(138831ebee49d667748c4babe5ea2445)は、アーカイブ(7e8f1c84347586e8b9b62d7493c6017c)内にありました。このアーカイブは、ドメイン aicokgroup[.]com でホストされています。

このドメインをホームページとしている以下のFacebookページを確認しました:

図10:aicokgroup[.com]を使用したFacebookページ
図10:aicokgroup[.com]を使用したFacebookページ

そのうちの1つの投稿には、もう有効でないAmazonのショートURLがあります。アーカイブされたバージョンを見ると、リンクはAICOK Juicer machineのものであることがわかります:

図11:Facebookグループ内のリンクからAmazonの商品を購入
図11:Facebookグループ内のリンクからAmazonの商品を購入

AICOKが実在する会社なのか、脅威行為者によって作られたシェル会社なのかは不明ですが、彼らのアイテムは「ホワイトラベル」製品であるようです。例えば、同じジューサーがAmazonで別のブランドとして現在出品されています:

図12:同じ商品で異なるブランドのAmazon出品
図12:同じ商品で異なるブランドのAmazon出品

同じFacebookページには、Facebook Ads Managerの求人広告である別の投稿があります:

図 13:Facebook Ads Manager の Facebook 投稿
図 13:Facebook Ads Manager の Facebook 投稿

AICOKのリードを調査している間に、AICOKに関連する別の Facebookページで、ほぼ同じ投稿があることに気づきました。唯一の違いは、このページのドメインが異なっていたことです:

図14:Facebook Ads Managerの別のFacebook投稿(コメントでは、ウイルスが含まれることが言及されている)
図14:Facebook Ads Managerの別のFacebook投稿(コメントでは、ウイルスが含まれることが言及されている)

2つ目のドメイン、aicok[.]ccはもう存在していません。しかし、aicookhome[.]comにリダイレクトされる同様のドメイン(aicook[.]cc)は存在してます。私たちは、これらのドメインを含む別の Facebookページを発見しました。

図15:AICOOKのFacebookページ
図15:AICOOKのFacebookページ

このページでは、自社ブランド "AICOOK "に対してDUCKTAILのFacebookページである "AICOK” が確認されていて、Facebook上での詐欺行為に注意喚起が行われています。

このような事例は1件しか確認されていないため、これが一過性のものなのか、それともDUCKTAILの通常のやり方なのかを正確に評価することはできません。

これに関しては、いくつかの説が考えられます:

  1. 純粋な詐欺– AICOKはAICOOKを真似て作成した単なる詐欺サイト。Ducktailは「AICOK」の広告を購入し、疑うことを知らない被害者は商品を注文しても、商品が届くことはありません。また、偽ショップは広告管理者を探し、マルウェアに感染させます
  2. ドロップシッピング/アフィリエイトプログラム/ホワイトレーベル販売 - AICOOKはアフィリエイトプログラムを持っています。DUCKTAILは、盗んだFacebook広告のアカウントから広告をプッシュして、様々なアイテムの販売を促進します。前の図に見られるように、同じアイテムであるにもかかわらず、AICOKのアイテム価格ははるかに高いです。この理由は、工場から出荷されたホワイトラベルのアイテムを、AICOOKを模倣したAICOKブランドとして直接販売したか、AICOOKアイテムのドロップシッピングを行い、元値で購入し、利益を得るためにはるかに高い価格で販売したかのいずれかであると考えられる。あるいは、単にアフィリエイトとして、販売した商品から収益を得るとともに、侵害したFacebook広告アカウントから大量の広告をプッシュして利益を最大化している可能性もあります

MITRE ATT&CK:

タティック技術概要オブザーブル

ディスカバリ

T1057 プロセスディスカバリ

実行中のプロセスが150個以下であれば、マルウェアは実行されない

bool flag = Process.GetProcesses().Count() > 150;

T1012 クエリレジストリ

マルウェアがデフォルトのブラウザを特定

registryKey = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Clients\\StartMenuInternet");

T1083 ファイルとディレクトリのディスカバリ

マルウェアは、特定の場所からブラウザのCookieを盗み出す

string text = Path.Combine(Environment.GetFolderPath(26), "Mozilla\\Firefox\\Profiles");

T1622 デバッガ回避

マルウェアはデバッガが存在するかどうかをチェック

bool flag = DataChecker.DetectDebugger() || DataChecker.DetectSandboxie();

T1016.001 システムネットワーク構成ディスカバリー。インターネットコネクションディスカバリ

マルウェアは、インターネット接続を確認するために、HEX形式のIPアドレスにpingを送る

PingReply pingReply = ping.Send(text, num, array, pingOptions); Console.WriteLine("This environment has internet connection !");

防御回避

T1027.001 難読化されたファイルまたは情報。バイナリパディング

LNKファイルは300MBのサイズに人工的に膨張

4bef9919457b22db15a8f40277c451973007547820fa7cd009ee9aa038f3cfd5

エクスフィルトレーション

T1567 ウェブサービスを介した情報漏えい

マルウェアがTelegram APIを使用してデータを流出

hxxps://api.telegram.org/bot5448616453:AAHJdBSZdnpmhl5_xYzf0uL-clkJzggXCSw/sendMessage

T1587.001 Develop Capabilities: マルウェア

DUCKTAILカスタム.NETマルウェア

312e8a10903141991d4d3c4571b16fc4528b62a324ff4336daa56ac93292cb40

T1588.003 能力を取得:コードサイニング証明書

脅威者は偽の組織を作成し、マルウェアに署名する際にその組織の証明書を受け取る

312e8a10903141991d4d3c4571b16fc4528b62a324ff4336daa56ac93292cb40 signed by “CONG TY TNHH CA KOI NON BO MINH VUONG”

初期アクセス

T1566 .002 フィッシング:スピアフィッシングリンク

脅威者は、悪意のあるLNKファイルを含むアーカイブへのリンクをRedditに投稿

https://web.archive.org/web/20221201234010/https:/www.reddit.com/r/BitcoinMining/comments/za1xd7/sharing_my_google_sheets_work_template_of/

エグゼキューション

T1204.002 ユーザーが実行:悪意のあるファイル

DUCKTAILカスタム.NETマルウェア

312e8a10903141991d4d3c4571b16fc4528b62a324ff4336daa56ac93292cb40

クレデンシャルアクセス

T1539 WebセッションCookieを盗む

マルウェアがローカルブラウザからCookieを盗み出す

bool flag2 = Directory.GetFiles(text2).Any((string a) => Path.GetFileName(a) == "cookies.sqlite");

IOCs

IOCの全リストは、当社のGitHubでご覧いただけます:https://github.com/deepinstinct/DuckTail_IOCs