Lockyランサムウェア

「Locky」は被害者のファイルを暗号化し、復号化する見返りとしてビットコインによる身代金(支払)を要求する、新種のランサムウェアです。

主な感染経路は、Word 文書を添付した電子メールです。
この中には悪意のあるマクロが含まれています。
マクロを実行すると、被害者のシステム上にマルウェアの実行ファイルがダウンロード/インストールされます。
その後、システム上のファイルがスキャンされ、暗号化されます。

「Locky」が特に危険な理由

感染の急拡大:弊社のアナリストが分析したところ、感染を狙った攻撃は直近の2週間だけでも10万件に昇っており、世界100か国以上で発生しています。
「Locky」が持つネットワーク暗号化能力も踏まえると、壊滅的な被害が発生することも考えられます。

これまでの流れ

「Locky」が最初に報告されたのは2016年2月16日のことで、チェック・ポイントのアナリストによると、当初から1日あたり5万回を超える大規模な攻撃が発生していました。
現在も、疑いを持たないユーザに電子メールを介して「Locky」を送りつける攻撃は続いており、それに必要なインフラストラクチャーも維持されています。攻撃の多くは、請求書が添付された電子メールから始まります。そうした電子メールでは、有名企業の従業員が送信したように見せかけています。

次の例では、送信元は Praxair社になっています。

[チェック・ポイントの従業員に送られた電子メール(原文)]

大部分の「Locky」被害は、米国内で発生しています。次に被害が多いのは、カナダとフランスです。

[Locky 被害の国別分布]

他の複数の従業員にも、同じような電子メールが届いています。

Check Point SandBlast では、添付ファイルを検出し、次のように分析しています。

添付ファイルにはマクロが含まれており、これは手動で有効にする必要があります。

マクロを有効にすると、悪意のあるペイロード(すなわち「Locky」と呼ばれるランサムウェア)がダウンロードされます。

[Wiresharkによるダウンロードトラフィックのキャプチャ画像]

これまでに確認されている「Locky」ダウンローダの変種

チェック・ポイントでは、これまでに10種類を超える「Locky」ダウンローダを特定しています。
変種はそれぞれ異なる難読化方法を使用しており、一部では異なる種類のファイル(.js だけでなく.doc, .docm, .xls)も使用しています。

亜種ごとに異なる電子メールの例:

技術的な分析

Locky の仕組みと、その手口を見てみましょう。
攻撃の最初のステップでは、被害者は不審な添付ファイル(ダウンローダ)を含む電子メールを受信します。被害者が添付ファイルを開くと、リモートサーバからペイロード(Locky)をダウンロードします。
これによって「Locky」が起動し、C2 サーバに接続して暗号鍵を交換します。
最後に、一部のハードコード形ファイルを暗号化し、典型的な身代金要求メッセージを表示します。

ダウンローダ:

これまでのランサムウェアによる攻撃と比較すると、「Locky」のダウンローダで使用されている難読化手口は、(控えめに言っても)非常に複雑なものではありません。
一部のサンプルでは、ダウンロードURLの文字列を数値リストとして単一アレイに格納しています。
また、簡単なJavaScript文字を難読化コードとして使用しているサンプルもあります。
チェック・ポイントでは、ファイル拡張子ごとにサンプルを分析しました。

[ダウンローダのファイル拡張子の使用割合]

「Locky」のダウンローダについて、具体的な例を見てみましょう(MD5:45B849E00131B4434D488295CB48B36C)。

VBA エディタ(Word で ALT + F11)を開くと、次のような、難読化されたマクロコードを発見できます。

このマクロでは、「Microsoft 社の XMLHTTP」オブジェクトを使用することでリモートサーバからペイロードをダウンロードしており、ダウンロードされたペイロードは「WScript.Shell オブジェクト」によって実行されます。

[ダウンロード URL の難読化を解除する]

「KogdaGe_7」アレイでは、配列内の各要素を142(99 + 43)ごとに減らし、対応するASCII文字(2)を表示させるだけで、手動による難読化解除が可能になります。

例:

  • 1 番目の文字:chr(246-99-43) = chr(104) = ‘h’
  • 2 番目の文字:chr(258-99-43) = chr(116) = ‘t’

等々…

実行可能なペイロードのダウンロード URL:

チェック・ポイントでは、ペイロードのホスト URL について、多くのパターンを発見しています。ホストの多くはロシアの Web サイトで、一部はもはや存在しません。

発見されたパターンの一部は、次のとおりです。

  • hxxp://almazuelas[.]es/1/1.exe
  • hxxp://lasmak[.]pl/2/2.exe
  • hxxp://luigicalabrese[.]it/7/7.exe
  • hxxp://173.214.183[.]81/tomorrowhope/09u8h76f/65fg67n
    hxxp://iynus[.]net/test/09u8h76f/65fg67n
  • hxxp://5.101.152[.]77/system/logs/56y4g45gh45h
    hxxp://tcpos.com[.]vn/system/logs/56y4g45gh45h
  • hxxp://accesorios.nuestroservidor[.]es/system/logs/7623dh3f.exe?.7055475
    hxxp://blitz174[.]ru/system/smsgate/7623dh3f.exe?.7055475
  • hxxp://acilkiyafetgulertekstil[.]com/system/logs/exe
    hxxp://alkofuror[.]com/system/engine/7647gd7b43f43.exe
  • hxxp://hazentrumsuedperlach[.]de/1/1_5a0befc0.exe
  • hxxp://afive[.]net/3/3_7223d94c.exe
  • hxxp://demo2.master-pro[.]biz/plugins/ratings/87h754
    hxxp://firstcopymall[.]com/system/logs/87h754 *

* この URL は、難読化された .JS ダウンローダから発見されたものです。コードの難読化を解除すると、マルウェアの作成者による不注意(二重の“hxxp://”)を発見することができます。

C2:

「Locky」では、被害者のファイルを暗号化する際に、少なくとも1台の C2サーバはアクティブである必要があります。このためチェック・ポイントでは、できるだけ多くのC2サーバを見つけ出すことでお客様を保護しようと努めています。これまでに数百台もの C2 サーバを特定してきましたが、トップレベルドメイン(TLD)間の分布については次の図のようになっています。

ドメイン生成アルゴリズム(DGA)によると、「Locky」は、各TLD の間でかなり均等(6~8パーセント)に分布しています。「その他」の TLDを使用する「Locky」ペイロードでは、DGAの代わりに、ハードコードされた C2 サーバリストが使用されています。

[TLD 間における C2 サーバの分布状況]

「Locky」による C2 ネットワーク トラフィックの暗号化

すべての HTTP リクエストは、POST リクエストとして、http:///main.php に送信されています。「Locky」では、役割が異なる暗号アルゴリズムを2個1組で使用しており、1つはサーバへのリクエスト送信用に、他方は応答の復号化用に使用されます。各アルゴリズムでは、ハードコードされた32ビット鍵(現行基準では非常に弱いとされる)を使用しています。 次の画面では、リクエスト送信用の 「EncryptRequest」 アルゴリズムと、応答の復号化用の 「DecryptResponse」 アルゴリズムが表示されています。

[Locky のネットワーク トラフィック暗号化アルゴリズム]

「Locky」では、被害者のマシンから情報を抜き出して収集します。収集されたデータには、次のようなものが含まれています。

  • 標的となるマシンが、企業ネットワークに属しているかどうか。
  • サーバ/ワークステーション。
  • OS の UI 言語。
  • OS のバージョン。
  • 各暗号化されたドライブの統計
    (暗号化されたファイルの数、ファイル暗号化の失敗回数、暗号化された生データのサイズ)

注意事項:

  • 「Locky」によるファイル暗号化は、使用する C2サーバがアクティブな場合にのみ実行されます。
  • また、シャドウコピーをバックアップとして使用することはできません。
    それらは「Locky」によって削除されます。
  • マウントされたドライブはすべて暗号化されます。 この中には、ネットワーク共有ドライブや、リムーバブル・メディアも含まれます。

結論

  • 「Locky」は、ランサムウェアの中で特に目新しいものではありませんが、非常に強力です。膨大な量のスパムメールを作成することから始まり、最終的にはネットワークドライブまで暗号化する能力を備えています。
  • マクロを有効にする際は、非常に慎重になる必要があります。一歩間違えれば、企業内の共有ドライブが文字通りすべて暗号化される、といった事態も起こりえます。
  • 「Locky」による攻撃は、収束とは程遠い状態にあります。この記事を執筆している間にも、新たなダウンローダ、ペイロード、そして DGA シードが発生しています。今後も最新情報にご注意ください。

チェック・ポイントが提供するセキュリティソリューション

  • Check Point SandBlast : 行動分析に基づき、悪意のある「Locky」文書をブロックします。
    2月16日以降、数千種類にも及ぶ「Locky」ファイルをブロックしました。
  • Check Point Threat Extraction : 不審な添付ファイルをブロックします。
  • Check Point Threat Cloud : 既知の C&C ドメインを生成し、それらを事前にブロックします。
  • Check Point IPS ブレード : 「Locky」のダウンローダが含まれる「メール添付された不審な実行可能ファイル」や「悪意のあるダウンローダを含む、Microsoft Office 形式の添付ファイル」などから、お使いのシステムを保護します。
  • Check Point Anti-Virus ブレード : 「Locky」に関連する既知の悪質なドメイン/ファイルについて、200 を超える「Locky」関連指標を提供します。
  • Check Point Anti-Bot : 感染確認後に作成されたネットワーク署名(Trojan-Ransom.Win32.Locky.A)を提供しており、「Locky」 C2 サーバとの通信をブロックします。
  • Check Point Anti Bot ブレード : 既知の「Locky」 C2 サーバ(DGA ベースなど)について、100 種類を超える評価署名を提供します。