脅威スポットライト: ファイル感染型ウイルスNeshta

By Tatsuya Hasegawa

本ブログ記事は、2019年10月29日に米国で公開された抄訳版です。原文はこちらからご覧頂けます。

要約

Neshtaは古くから確認されているファイル感染型ウイルスですが、未だに広く確認されています。Neshtaは2003年に最初に確認され、当時POS(販売時点情報管理)システムを対象とするBlackPOSマルウェアがNeshtaのファイル感染機能を追加し、感染拡大に利用しました。他には、この脅威はユーザーの意図しないダウンロードまたは他のマルウェアによっても環境に侵入します。 Windowsの実行可能ファイルに悪意のあるコードを追加することで感染し、ネットワーク共有やリムーバブルストレージデバイスを攻撃する可能性があります。

2018年より、Neshtaは主に製造業を標的にしましたが、金融、消費財、エネルギー部門も攻撃対象とされていました。永続性を実現するために、Neshtaは「svchost.com」に名前を変更し、「.exe」拡張子のファイルが起動されるたびに実行されるようにレジストリを変更します。一部ではシステム情報を収集し、HTTP を使用して攻撃者のC&Cサーバーにデータを盗み出すことが知られています。当記事において解析で使用したNeshtaファイルには当該機能は確認されませんでした。

技術的な分析内容

Neshtaに感染した際の振る舞いについて説明します。 2007年、2008年、2019年にVirustotalにアップロードされたNeshtaウイルスから以下のサンプルを選定し解析しています。

解析されたNeshtaのSHA-256ハッシュ値 :

  • 29fd307edb4cfa4400a586d38116a90ce91233a3fc277de1cab7890e681c409a
  • 980bac6c9afe8efc9c6fe459a5f77213b0d8524eb00de82437288eb96138b9a2
  • 539452719c057f59238e123c80a0a10a0b577c4d8af7a5447903955e6cf7aa3d
  • a4d0865565180988c3d9dbf5ce35b7c17bac6458ef234cfed82b4664116851f2
  • 46200c11811058e6d1173a2279213d0b7ccde611590e427b3b28c0f684192d00
  • c965f9503353ecd6971466d32c1ad2083a5475ce64aadc0b99ac13e2d2c31b75

静的なファイル特徴

NeshtaのコードはBorland Delphi 4.0によってコンパイルされており、ファイルサイズは41,472バイトです。

Neshtaには4つの書き込み可能なセクション(DATA、BSS、.idata、および.tls)と3つの共有可能なセクション(.rdata、.reloc、および.rsrc)があります。


図1: セクションヘッダーの特徴

加えて、Neshta は興味深いフィンガープリント文字列を自身に含んでいます。

図2: Neshtaのフィンガープリント文字列



Delphi-the best. F*** off all the rest. Neshta 1.0 Made in Belarus. Прывiтанне усiм ~цiкавым~ беларус_кiм дзяучатам. Аляксандр Рыгоравiч, вам таксама :) Восень- кепская пара... Алiварыя - лепшае пiва! Best regards 2 Tommy Salo. [Nov-2005] yours [Dziadulja Apanas]”

 

ベラルーシ語の文字列は、英語に翻訳すると「 Hello everyone ~ ~ interesting belarus_kim girls. Alexander G., you too :) osen- bad couple ... Alivaryya - the best beer!」になります。

ファイル感染

Neshtaの主な機能は、ローカルドライブで.exeファイルを検索しNeshtaに感染させることです。 Neshtaは、ショートパスに次の文字列のいずれかを含むファイルを例外とする「.exe」拡張子ファイルを対象に感染します。

  • %Temp%
  • %SystemRoot% (この環境変数は多くの環境においてC:\Windows に関連づいています)
  • \PROGRA~1\

ファイル感染動作フローの要約を以下の項番と図3に示します。

Neshtaのファイル感染動作

  1. 1. 感染ターゲットとなる元ファイルの先頭から41,472(0xA200)バイトを読み取ります
  2. 2. 2つのセクションを作成し、元ファイルの先頭と末尾にPAGE_READWRITEの属性でメモリを割り当てます
  3. 3. 悪意のあるヘッダーとコードを先頭に挿入し、感染します。書き込まれるデータは41,472バイトです
  4. 4. エンコードした元ファイルのヘッダーとコードを感染ファイル末尾に書き込みます。書き込まれるサイズはこちらも41,472バイトです。

これらの動作により、感染ファイルが実行されるとすぐに悪意のあるウイルスコードが実行されます。

図3: ファイル感染動作

ユーザーによってNeshta感染ファイルが実行されると、Neshtaコードは一時的に元プログラムを復元し「%Temp%\ 3582-490 \」に作成します。そして、その元プログラムはWinExec APIを使って起動されます。

潜伏挙動

Neshtaは自身を「C:\Windows\svchost.com」としてドロップし、以下のパラメーターをレジストリに登録します。

レジストリキー: HKLM\SOFTWARE\Classes\exefile\shell\open\command
レジストリエントリ:(Default)
レジストリ値: %SystemRoot%\svchost.com "%1" %*

このレジストリ登録は、「.exeファイル」が起動されるたびにNeshtaを実行するようシステムに指示します。「 "%1" %*」は、起動された「.exeファイル」を指します。さらに、Neshtaは以下の名前付きミューテックスを作成して、他のNeshtaインスタンスの存在を確認します。 

MutexPolesskayaGlush*.*<0x90>svchost.com<0x90>exefile\shell\open\command‹À "%1" %*œ‘@

もう一つドロップされるファイルは、%SystemRoot%に保存される「directx.sys」です。これはカーネルドライバーではなく、実行された最後の感染ファイルのパスが書かれたテキストファイルです。感染ファイルが実行されるたびに更新されます。

BlackBerry Cylance は Neshta を阻止

BlackBerry Cylanceは、数百万の安全なファイルと危険なファイルの両方で脅威を検出するために訓練された人工知能ベースのエージェントを使用します。当社の自動セキュリティエージェントは、特定のファイル署名に依存するのではなく、無数のファイル属性と悪意のある動作に基づいてNeshtaをブロックします。ゼロデイ脅威に対する予測優位性を提供するBlackBerry Cylanceは、新しいサイバー攻撃とレガシーサイバー攻撃の両方に対してトレーニングされ、効果的です。詳細については、https://www.cylance.com/ja_jpをご覧ください。

付録

IOCs

  • SHA256ファイルハッシュ値
    o   29fd307edb4cfa4400a586d38116a90ce91233a3fc277de1cab7890e681c409a
    o   980bac6c9afe8efc9c6fe459a5f77213b0d8524eb00de82437288eb96138b9a2
    o   539452719c057f59238e123c80a0a10a0b577c4d8af7a5447903955e6cf7aa3d
    o   a4d0865565180988c3d9dbf5ce35b7c17bac6458ef234cfed82b4664116851f2
    o   46200c11811058e6d1173a2279213d0b7ccde611590e427b3b28c0f684192d00
    o   c965f9503353ecd6971466d32c1ad2083a5475ce64aadc0b99ac13e2d2c31b75

  • ドロップファイル名
    o   %SystemRoot%\svchost.com
    o   %SystemRoot%\directx.sys
    o   %Temp%\tmp5023.tmp

  • ミューテックス
    o   MutexPolesskayaGlush*.*<0x90>svchost.com<0x90>exefile\shell\open\command‹À "%1" %*œ‘@

  • 特徴的な文字列
    o   Delphi-the best. F**k off all the rest. Neshta 1.0 Made in Belarus. Прывiтанне усiм ~цiкавым~ беларус_кiм дзяучатам. Аляксандр Рыгоравiч, вам таксама :) Восень- кепская пара... Алiварыя - лепшае пiва! Best regards 2 Tommy Salo. [Nov-2005] yours [Dziadulja Apanas]
     

SHA256

29fd307edb4cfa4400a586d38116a90ce91233a3fc277de1cab7890e681c409a

タイプ

PE32 実行可能ファイル (GUI) Intel 80386、MS Windows用

サイズ

41472

タイムスタンプ

1992:06:20 07:22:17+09:00

ITW名

Svchost[.]com



 

著者について

Tags: