マルウェア

OceanLotusの新しいダウンローダーKerrDownの追跡

Clock Icon 3 min read

This post is also available in: English (英語)

OceanLotus (別名APT32)は、東南アジア発祥の最も高度な脅威攻撃者の1つであることがわかっている脅威攻撃者グループです。この数年間に複数の攻撃キャンペーンが複数のセキュリティ組織によって報告され、この脅威攻撃者が使用しているツールおよび戦術が記録されました。OceanLotusの標的はグローバルですが、彼らの活動がアクティブなのはほぼアジア太平洋地域内で、ベトナムに関係のある複数の業界、外国政府、活動家、反体制派にわたって民間部門を標的にしています。

このブログでは、OceanLotusが少なくとも2018年以降にアクティブに使用していて、私たちが「KerrDown」と名付けた、新しいカスタムのダウンローダー マルウェア ファミリについて説明します。また、jaccard係数のアルゴリズムを使用して、私たちのデータセット内で新しいKerrDownマルウェア ファミリ間の類似性を素早く発見した方法についても説明します。この手法は、大量のサンプル データセットから類似性を抽出し、複数の攻撃キャンペーンを結び付ける際に非常に役に立つことが証明されました。大量の「KerrDown」サンプルが見つかっているので、私たちはOceanLotusの活動時間および曜日に関して想定しうるパターンを見分けることもできました。これについては、このブログの後のセクションで説明します。

私たちは、KerrDownダウンローダーを標的に配信する手法を2つ特定しました。一方は悪意のあるマクロを含むMicrosoft Officeの文書を使用する方法で、もう一方はDLLサイドローディングを備えた正規のプログラムを含むRARアーカイブです。RARアーカイブ ファイルの場合、標的を欺くために使用されたファイル名は、図11に示すようにすべてベトナム語でした。私たちの分析では、このブログで説明する進行中のキャンペーンの主な標的は、ベトナムまたはベトナム語を話す個人のいずれかであることが示されています。

悪意のある文書

私たちはアクティブなMIME文書から分析を開始しました。これはOceanLotusが以前使用していたものですが、今回は新しいペイロードであるKerrDownが関与していました。ルアー ハッシュを次に示します。

(SHA256:89e19df797481ae2d2c895bcf030fe19e581976d2aef90c89bd6b3408579bfc3)

下図1はルアー ファイルのスナップショットを示しています。被害者がルアー文書を開くと、それにはイメージ ファイルが含まれており、マクロを有効にしてファイルの内容を表示するよう被害者に要求するベトナム語のメッセージが記されています。一見この文書には、マクロを有効化する通知以外、他の内容はないように見えます。しかしよく見ると、2つの異なるbase64 blobがページ内の別々の表に挿入されていることがわかります。そのフォント サイズは1に変更されており、被害者は内容を見落としてしまうかもしれません。この手法をとっているもう一つの理由は、多くの自動化ツールはこのようなファイルのストリーム内に埋め込まれたバイナリの存在を検出できますが、この手法をとれば検出を逃れられる可能性がある、ということかもしれません。

配信文書の分析

  図1: ルアー文書
図1: ルアー文書

フォント サイズを大きくすると、2つの異なる表内のbase64 blobが見えるようになります。デコードすると、図2に示すように、各表の先頭にPE DLLのMZヘッダーがあることがわかります。

図2: 文書にテキストとして埋め込まれていたBase64エンコードされたpedllファイル 
図2: 文書にテキストとして埋め込まれていたBase64エンコードされたpedllファイル

図3は埋め込みマクロから抜粋したコードを示しています。これは、iCheck変数に基づいてどちらのbase64 blobをデコードするかをチェックします。このiCheck変数は、被害システムが64ビット システム上で動作している場合にはtrueに設定され、32ビット システム上で動作している場合にはfalseに設定されるブール値です。システムが64ビットであることがわかると、左側のbase64エンコードされたblobがデコードされ、それ以外の場合には右側のbase64エンコードされたblobがデコードされます。

図3: システム チェックに基づくBase64 blobの選択
図3: システム チェックに基づくBase64 blobの選択

私たちは、Motobitが公開しているVBSデコード関数を攻撃者が再使用していることにも気付きました。図4は、マクロのコードで使用されているbase64関数と、Motobitが公開しているVBS base64デコーダー関数の比較を示しています。

図4: Base64デコーダーの比較
図4: Base64デコーダーの比較

Jaccard係数を使用したKerrDownサンプルの類似性分析

文書から両方のDLLファイルをデコードして抽出した後、Jaccard係数を使用した類似性分析アルゴリズムを使用して、OceanLotusが使用した既知の一連のマルウェア ファミリに対してバイナリをチェックしましたが、以前のOceanLotusマルウェア ファミリとの一致はありませんでした。ただし、KerrDownサンプルのimphash値およびこれに付随するC2ドメインを使用するデータセットで、他の複数のサンプルを発見できました。多数のサンプルが見つかったことから、私たちは再度Jaccard係数を使用する類似性分析アルゴリズムを使用して、見つかったすべてのサンプル間の類似性を引き出しました。この段階では、DLLファイルがバックドアなのかその他の機能を持っているのかわかりませんでした。したがって私たちは、2017年以降に使用されたその他いくつかの既知のOceanLotusマルウェア ファミリのサンプルを類似性テストに含めました。ほとんどの場合、それらのサンプルは、被害端末にドロップされた最終ペイロードです。主目的の1つは、KerrDownが、私たちが追跡してきた既知のマルウェア ファミリの亜種である可能性があるかどうか、またはOceanLotusが戦略および最近のキャンペーンに新しいマルウェア ファミリを採用しているのかどうかを素早く見分けることでした。networkxを使用してJaccard係数の結果をプロットすると、抽出した類似性を素早く視覚化できます。図5からわかるように、networkxグラフの右上で、サンプルのクラスターが稠密に存在しています。その他の既知のOceanLotusマルウェア ファミリのサンプルとの類似性はありませんでした。したがって、この観察は、私たちが見ているサンプルが、分析の時点でOceanLotusグループによって採用された新しいマルウェア ファミリである可能性が高いことを理解するのに役に立ちました。私たちはこれをKerrDownと名付けました。

図5: Jaccard係数を使用した類似性分析
図5: Jaccard係数を使用した類似性分析

KerrDownとCobalt Strike Beaconの関係

上記の配信文書の分析で説明したように、OSアーキテクチャに応じて、埋め込まれたKerrDownのDLLのいずれかが被害端末にドロップされます。DLLは、'Users\Administrator\AppData\Roaming\'という場所のディレクトリに、'main_background.png'としてドロップされます。DLLは、ペイロードをURLから取得し、DESアルゴリズムを使用してこれを復号し、メモリ内でこれを実行します。したがって、KerrDown DLLダウンローダーのみがシステムに保存され、ペイロードがシステムに書き込まれることなくメモリ内で直接実行されることが観察されています。表1は、被害端末のOSアーキテクチャに応じてダウンローダーがペイロードをダウンロードしようとするURLを示しています。 

OSアーキテクチャ  URL ユーザー エージェント
32ビット https://syn.servebbs[.]com/kuss32.gif Mozilla/5.0 (Windows NT 10.0; Win32; x32; rv:60.0)
64ビット https://syn.servebbs[.]com/kuss64.gif Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:60.0) 

表1: アーキテクチャに応じたペイロードDLLの選択

KerrDownの最終ペイロードへのリンクは、分析時に依然としてアクティブだったため、コピーをダウンロードできました。これはCobalt Strike Beaconの亜種でした。また、Cybereasonも、キャンペーンでCobalt Strikeを使用したOceanLotusについて、以前に記事を発表しています。依然として、新しいダウンローダー マルウェア ファミリを使用してCobalt Strikeの最終ペイロードを配信しているのは興味深いことです。今回のケースでわかるとおり、このマルウェアの目的は、メモリにCobalt Strike Beaconペイロードをダウンロードして実行することです。Cobalt Strikeは、商用の侵入テスト ツールですが、さまざまな脅威攻撃者がキャンペーンでこのツールを使用してきたことがわかっています。

KerrDownを含むRARアーカイブ

KerrDownを調べているうちに、複数のRARファイルにこのマルウェアの亜種が含まれていることがわかりました。この亜種の配信手法や標的はまだわかっていません。攻撃者は、段階を追加したり、圧縮および暗号化によって各段階を隠蔽したりして、ダウンローダーのコードを変更しています。また、悪意のあるコードを実行する方法を、Officeマクロから、合法的なプログラムを介したDLLサイドローディング手法に変更しています。

RARアーカイブ

(SHA256:040abac56542a2e0f384adf37c8f95b2b6e6ce3a0ff969e3c1d572e6b4053ff3)

には、英語で「Complaint letter(苦情書)」を意味する「Don khieu nai.rar」というベトナム語のファイル名が付いています。このアーカイブには、英語で「あなたの会社の活用法をもっと詳しく知る」を意味する、「Noi dung chi tiet don khieu nai gui cong ty.exe」という名前の、合法的な旧バージョンのMicrosoft Word (Microsoft Word 2007)実行可能ファイルが含まれています。攻撃者は、DLLサイドローディング手法を使用して、旧バージョンのMicrosoft Wordによって悪意のあるDLLをロードしていました。アーカイブ内の実行可能ファイルを開くと、悪意のあるDLLが同じディレクトリにロードされます。このDLLは、複数段階のシェルコードを実行し、各シェルコードは、さまざまな手法を用いて次の段階を隠蔽します。全体的なインストール手順を以下に示します。

  1. Microsoft Wordのexeは、wwlib.dllを同じディレクトリにロードし、DLLの「FMain」関数を実行します。
  2. DLLは、本文内にあるbase64でエンコードされたシェルコードをデコードして実行します。 
  3. シェルコードは、オープン ソースの圧縮コードUCLを使用して圧縮された2つ目のシェルコードを解凍して、実行します。 
  4. 2つ目のシェルコードは、AESで3つ目のシェルコードを復号します。 
  5. 3つ目のシェルコードは、リモート ロケーション(https://cortanasyn[.]com/Avcv)からシェルコードを取得して、実行します。 
  6. 4つ目のシェルコードは、埋め込まれたCobalt Strike Beacon DLLをメモリ内にロードして、実行します。
図6: サイドローディングされた悪意のあるダウンローダーの実行フロー
図6: サイドローディングされた悪意のあるダウンローダーの実行フロー

私たちのデータセットの全KerrDownサンプルのコンパイル タイムスタンプを確認して、以下の2点がわかりました。 

  • OceanLotusは、遅くとも2018年3月からキャンペーンでこの新しいダウンローダーを使用しており、現在も引き続きキャンペーンで使用しています。図7に、KerrDownサンプルの時系列を示します。
図7: ダウンローダーDLLのコンパイルの時系列
図7: ダウンローダーDLLのコンパイルの時系列
  • OceanLotusグループの起源がベトナムである可能性が高いことは、既に広く認識されていますが、私たちはデータセットのサンプルから、想定しうる活動時間のパターンを見つけたいと考えました。ベトナム標準時であるGMT +7に基づいてコンパイル時間を見てみると、このグループの想定される活動時間について明らかなパターンが見つかりました。OceanLotusグループの典型的な活動パターンは午前9時から午後6時であり、大半のサンプルはこの時間帯にコンパイルされていました。図8に、私たちのデータセットで検出された各固有サンプルの、GMT +7でのマルウェア コンパイル タイムスタンプを示します。
図8: マルウェア コンパイル時間(GMT +7)
図8: マルウェア コンパイル時間(GMT +7)
  •  また、すべてのサンプルが月曜から金曜、すなわち平日にコンパイルされていたことがわかりました。したがって、OceanLotusグループが、平日に活動し、週末に休むことは明らかです。図9に、平日にコンパイルされたサンプルを示します。
図9: 平日のマルウェア コンパイル
図9: 平日のマルウェア コンパイル

結論

OceanLotusは、数年にわたって活動している脅威攻撃者グループであり、依然としてアジア太平洋地域で最も高度な脅威攻撃者の1つです。最近のキャンペーンで新しいKerrDownダウンローダーが使用されていることからわかるとおり、このグループは、全体的な活動および戦略で、今も引き続き新しいツールや技法を作成し採用しています。そのため、このグループの活動を継続的に把握し、追跡することは不可欠で、このような脅威を的確に防御する能力は必須です。観測された大量のサンプルから、私たちは想定しうる活動時間のパターンを見つけました。その結果、このグループは、規則的な活動時間帯を持っており、ベトナムや近隣諸国の地域から活動している可能性が高いことがわかりました。観測された標的の大半がベトナム語圏ですが、OceanLotusの標的は地理的にも業種的にもより広範にわたっていることから、グループは他の標的に対しても同じツールと戦略を使用していると考えられます。  

 パロアルトネットワークスのお客様は、以下によって既に保護されています。

  •  このレポートのすべてのサンプルはWildFire内で悪意があると判断されます 
  • ドメインは悪意があるものとして分類されています 
  • 次のような、追加のコンテキストのためのAutofocusタグを使用できます。OceanLotusおよびKerrDown

IOC

ルアー文書:

 73dcbcc47d6bd95dcf031ebbd34ac42301a20ee1143ac130b405e79b4ba40fc8

89e19df797481ae2d2c895bcf030fe19e581976d2aef90c89bd6b3408579bfc3

a4a066341b4172d2cb752de4b938bf678ceb627ecb72594730b78bd05a2fad9d

8bf22202e4fd4c005afde2266413cba9d1b749b1a2d75deac0c35728b5eb3af8 

df8210d20c5eb80d44ba8fa4c41c26c8421dcb20168e4f796e4955e01ebc9e13

94fab926b73a6a5bc71d655c8d611b40e80464da9f1134bfce7b930e23e273ab

4321a9f95901a77b4acfbaef3596cf681712345e1cbd764873c6643fe9da7331

KerrDown DLL:

 4a0309d8043e8acd7cb5c7cfca95223afe9c15a1c34578643b49ded4b786506b

4b431af677041dae3c988fcc901ac8ec6e74c6e1467787bf099c4abd658be5be

4bc00f7d638e042da764e8648c03c0db46700599dd4f08d117e3e9e8b538519b

4e2f8f104e6cd07508c5b7d49737a1db5eeba910adfdb4c19442a7699dc78cfc 

4e791f2511c9bd3c63c8e37aa6625d8b590054de9e1cca13a7be2630bc2af9ce

539e8a53db3f858914cfe0d2132f11de34a691391ba71673a8b1e61367a963c7

53cd92f37ffd0822cc644717363ba239d75c6d9af0fa305339eaf34077edd22d

53efaac9244c24fab58216a907783748d48cb32dbdc2f1f6fb672bd49f12be4c

5c18c3e6f7ac0d0ac2b5fa9a6435ee90d6bd77995f85bed9e948097891d42ca2

5cda7d8294a8804d09108359dd2d96cdf4fdcf22ec9c00f0182d005afff76743

5f0db8216314da1f128b883b918e5ac722202a2ae0c4d0bf1c5da5914a66778e

6010d44cdca58cdec4559040e08798e7b28b9434bda940da0a670c93c84e33cd 

60b65ebb921dca4762aef427181775d10bbffc30617d777102762ab7913a5aa1

6146aedfe47597606fb4b05458ec4b99d4e1042da7dc974fa33a57e282cd7349

6245b74b1cc830ed95cb630192c704da66600b90a331d9e6db70210acb6c7dfa

67cd191eb2322bf8b0f04a63a9e7cb7bc52fb4a4444fcb8fed2963884aede3aa

68f77119eae5e9d2404376f2d87e71e4ab554c026e362c57313e5881005ae79e

69e679daaaff3832c39671bf2b813b5530a70fb763d381f9a6e22e3bc493c8a9

6faa7deb1e1e0c3a7c62c2bb0ecdfa56b6e3ba4fe16971ec4572267ac70b9177

6fb397e90f72783adec279434fe805c732ddb7d1d6aa72f19e91a1bf585e1ea5 

70db041fb5aadb63c1b8ae57ba2699baa0086e9b011219dcebcccbf632017992

7673f5468ba3cf01500f6bb6a19ce7208c8b6fc24f1a3a388eca491bc25cd9cd

77805a46f73e118ae2428f8c22ba28f79f7c60aeb6305d41c0bf3ebb9ce70f94

788265447391189ffc1956ebfec990dc051b56f506402d43cd1d4de96709c082

7be613237b57fbc3cb83d001efadeed9936a2f519c514ab80de8285bdc5a666c

7dbb7fab4782f5e3b0c416c05114f2a51f12643805d5f3d0cd80d32272f2731a

7ec77e643d8d7cc18cc67c123feceed91d10db1cc9fa0c49164cba35bb1da987

860f165c2240f2a83eb30c412755e5a025e25961ce4633683f5bc22f6a24ddb6 

868ed69533fac80354a101410d3dd0a66f444385c6611cc85c5b0be49db2d6fd

89759e56d5c23085e47d2be2ce4ad4484dfdd4204044a78671ed434cec19b693

8b7fb1cd5c09f7ec57ccc0c4261c0b4df0604962556a1d401b9cbfd750df60ba

8d6e31c95d649c08cdc2f82085298173d03c03afe02f0dacb66dd3560149184f

942d763604d0aefdff10ce095f806195f351124a8433c96f5590d89d809a562f

98a5f30699564e6d9f74e737a611246262907b9e91b90348f7de53eb4cf32665

9e6011d6380207e2bf5105cde3d48e412db565b92cdc1b3c6aa15bd7bd4b099f

a106e0a6b7cc30b161e5ea0b1ec0f28ab89c2e1eb7ba2d5d409ddbabc3b037e6 

a2b905c26e2b92e63de85d83e280249258cb21f300d8c4a3a6bdb488676e9bcf

a4a86e96f95f395fcf0ceb6a74a2564f4ba7adbe1b40cc702b054427327a0399

a8192656dd1db0be4cec9d03b4d10e0529d9c52c899eda8d8e72698acfb61419

a8f776bd3a9593e963b567ce790033fec2804ea0afb40a92d40e21d8f33d066f

b4966f8febdba6b2d674afffc65b1df11e7565acbd4517f1e5b9b36a8c6a16ed

bb25f1a73d095d57b2c8c9ac6780e4d412ddf3d9eef84a54903cc8e4eaefc335

bc82bce004afb6424e9d9f9fc04a84f58edf859c4029eda08f7309dbeec67696

c30198e0b0e470d4ac8821bd14bb754466e7974f1c20be8b300961e9e89ed1ea 

caabc45e59820a4349db13f337063eddede8a0847ae313d89a800f241d8556c8

d3ef6643ad529d43a7ec313b52c8396dc52c4daad688360eb207ee91a1caf7b2

e3c818052237bb4bb061290ab5e2a55c3852c8a3fef16436b1197e8b17de2e18

e56ffcf5df2afd6b151c24ddfe7cd450f9208f59b5731991b926af0dce24285a

e8704bf6525c90e0f5664f400c3bf8ff5da565080a52126e0e6a62869157dfe3

e8a454cd8b57a243f0abeec6945c9b10616cfdcc4abfb4c618bfc469d026d537

eac776c3c83c9db1a770ffaf6df9e94611c8293cbd41cb9257148603b8f2be0b

ead0f3e6f0ca16b283f09526d09e8e8cba687dab642f0e102e5487cb565bf475 

f011a136996fa53fdbde944da0908da446b9532307a35c44ed08241b5e602cc9

f2a2f4fa2ed5b2a94720a4661937da97ab21aa198a5f8c83bb6895aa2c398d22

f62f21ee7e642f272b881827b45ceb643c999a742e1d3eac13d1ba014d1e7f67

f9f0973dc74716b75291f5a9b2d59b08500882563011d1def2b8d0b1b9bbb8ae

C2:

 theme[[.]]blogsite[.]org

cortana[.]homelinux[.]com

word[.]webhop[.]info 

work[.]windownoffice[.]com

cortanasyn[.]com

e[.]browsersyn[.]com

syn[.]servebbs[.]com

service[.]windown-update[.]com

check[.]homeip[.]net

outlook[.]updateoffices[.]net

mail[.]fptservice[.]net 

office[.]windown-update[.]com

cortanazone[.]com

beta[.]officopedia[.]com

videos[.]dyndns[.]org

service[.]serveftp[.]org

syn[.]browserstime[.]com

check[.]webhop[.]org

ristineho[.]com 

付録A:

Cobalt Strike Beaconには、ハードコードされた構成データが本文に含まれています。JPCERTが、構成の構造について記事を公表しています。私たちが取得したサンプルの構成は図10のとおりで、https:// b.cortanazone[.]comというC2サーバーに接続しています。

図10: Cobalt Strike Beaconの構成
図10: Cobalt Strike Beaconの構成

付録B:

図11に、個別のRARファイルの内容の一部を示します。すべての.exeファイルは、Windows Wordのコピーで、関連した「wwlib.dll」ファイルは悪意のあるダウンローダーDLL KerrDownであり、これは.exeファイルが実行されるとサイドローディングされます。

図11: サイドローディング用の悪意のあるDLLが含まれたRARアーカイブ
図11: サイドローディング用の悪意のあるDLLが含まれたRARアーカイブ

目次

Enlarged Image