Video Screencast Help
Search Video Help Close Back
to help
Not able to make it to Vision this year? Get a sampling in the Best of Vision on Demand group.

Trojan.Sasfis に関する詳細

Updated: 17 Feb 2011 | Translations available: English
Masaki Suenaga's picture
0 0 Votes
Login to vote

Trojan.Sasfis に関する最近の記事では、この攻撃のスパム的な面に焦点を当てましたが、今回はまだ続いているこの脅威について、シマンテックのグローバルに設置されたセンサーで最近流行が確認されている傾向を詳細に説明します。

拡散
Sasfis についてまとめると、この脅威は多くのスパム活動によって、これまでに全世界の電子メール量に大きな影響を及ぼしてきました。Amazon_Tracking_Number_N[ランダムな数字][長い空白文字]DOC.exe や iTunes_certificate[ランダムな数字].exe といった偽装のほか、最近では何らかの変更ログを装った電子メール添付ファイルとして、Changelog_[日]_[月]_2010.DOC[長い空白文字].exe なども確認されています(念のために説明しておくと、変更ログには一般的に .txt や .log という拡張子、場合によっては .html などの拡張子が付けられますが、.exe で表される実行可能ファイル形式であることは決してありません)。以前の活動では、UPS や DHL からの出荷追跡メールを偽装する Trojan.Bredolab の亜種が使われていたこともあり、これを実行すると Trojan.Sasfis がインストールされました。控えめに言っても、妙に閉鎖的な挙動です。現在までに確認された亜種では、ファイル名に .DOC や .PDF も使われており、Microsoft Word 文書や、一般に Adobe Reader に関連付けられるファイルに偽装することが試みられています。実行可能ファイルは圧縮されていますが、これらの亜種も通常は、圧縮された特定のファイル形式に対してすでに講じられたセキュリティ対策を回避しようとして、元のファイルを再圧縮したに過ぎません。

図 1. Trojan.Sasfis を拡散する最近の電子メールの例

図 2. .zip ファイルに含まれる実際の実行可能ファイル

目的
Trojan.Sasfis は、本質的にはバックドアを利用するトロイの木馬であり、悪質なホストからコマンドを受け取ってさまざまな操作を実行します。これまでに確認されたなかでは、ミスリーディングアプリケーションをダウンロードしてインストールするのが最も一般的ですが、Trojan.Vundo や Backdoor.Tidserv といった悪質な脅威をインストールすることも確認されています。ダウンロードはハードコードされた URL から実行されますが、その URL の最後にあるファイル名は、攻撃者がいつでも変更できるようになっています。このことから察するに、Sasfis 自身はいわば雇われた殺し屋のようなものとも言えます。作成者にとっては、Sasfis を使って他の脅威を拡散することで金儲けができればそれで十分であり、ダウンロードした脅威を自分たちで制御するのでも、報酬をもらって第三者のために脅威をダウンロードしてインストールするのでも違いはないということです。Sasfis の作成者については現在も調査が進行中ですが、コードでロシアのドメインが使われていることから、作成者も実際の活動の多くも、ロシアを拠点にしているであろうと考えられています。

インストール
このトロイの木馬が実行されると、一時(.tmp)ファイルが作成され、Microsoft Word が(インストールされていれば)開かれ、VBA スクリプトを実行してこの .tmp ファイルがロードされて実行されます。.tmp ファイルは、新しく作成された svchost.exe のプロセス(Sasfis に関する以前の記事で述べたように、これが巧妙な隠れ蓑となり、正規のプロセスを装ってファイアウォールをすり抜けることが可能になります)に脅威をインジェクトし、自身を .dll ファイルとしてシステムディレクトリにコピーします。さらに、Word アプリケーションを実行し、VBA コードを Word に追加して、悪質な DLL をメモリにロードします(悪質な DLL をロードするためだけに Word アプリケーションで VBA コードを利用するというのはかなり独特であり、大きな疑問点となっています。これについては、後述する付記を参照してください)。これらすべてが実行されると、脅威は元の実行可能ファイル(電子メールに添付して受信されたファイル)を削除します。Microsoft Word がシステムにインストールされていない場合には、svchost.exe を起動し、このプロセスにリモートの脅威をインジェクトしてインストールを続行します。

ネットワーク通信
制御ホストと通信する手段のほかに、Sasfis は自身を複製したり拡散したりする手段を持っていません。ホストとの通信は、TCP ポート 80 で HTTP プロトコルを介して受信されるバックドアコマンドで行われます。脅威にハードコードされている URL にアクセスすると、他の URL にアクセスし、ファイルがダウンロードされて感染したコンピュータ上で実行されます。これが、ホストサーバーがクライアントに実行を指示する内容としてシマンテックが確認した代表的な形ですが、さまざまな操作を行うために URL に追加できるパラメータとしては、以下の 16 種類も確認されています。

  1. id
  2. runurl (リモートファイルのダウンロードと実行に使われるパラメータ)
  3. delay
  4. backurls
  5. tasakid
  6. v
  7. b
  8. tm
  9. info
  10. r
  11. bot_php
  12. load_file
  13. tid
  14. kill
  15. upd
  16. report_urls

感染したコンピュータを識別する方法

  1. HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\"Shell" = "Explorer.exe rundll32.exe xxxx" というレジストリ値を検索します。xxxx はランダムと思われるファイル名と、ランダムと思われるパラメータです。
    例: "Explorer.exe rundll32.exe thxr.wgo sesrj"
     
  2. レジストリで HKEY_CLASSES_ROOT\idid\"url0" を検索します(これも "url1"、"url2" などです)。
     
  3. %UserProfile%\Local Settings\Temp\ または %System% ディレクトリで、dll ファイルを検索します。ファイル名は、ランダムな 4 文字の後にピリオド(.)と、tmp またはランダムな 3 文字が続く形です。
    例: thxr.tmp、thxr.wgo
     
  4. 上記の dll ファイルによってインジェクトされた svchost.exe のインスタンスが存在するかどうか確認します。
     
  5. ファイアウォールのログで、次のドメインからのトラフィックがあるかどうか確認します。
  • hulejsoops.ru (これが実行可能ファイルにハードコードされているドメインです)
  • russianmomds.ru (これ以降はメインの URL からリダイレクトされる可能性があるドメインです)
  • leeitpopbod.ru
  • loloohuildifsd.ru
  • nemohuildifsd.ru

    注意: このリストがすべてではありません。

グラフ
- 流行状況
シマンテックでは、全世界の Trojan.Sasfis について以下の感染レベルを確認しています。

- 地理的な拡散状況
シマンテックでは、この脅威について以下の地理的な拡散状況を確認しています。

結論
Trojan.Sasfis は、他の脅威や悪質な活動のためのエントリポイントとして機能する単純なバックドアプログラムです。その脅威や活動は、金儲けの手口の一環と考えられています。アメリカンフットボールにたとえるなら、Trojan.Sasfis は強力なフルバックであり、ハーフバック(これが Trojan.Vundo や Backdoor.Tidserv に当たります)やその他のプレイヤーがディフェンスを破るための穴をうがつ働きをします。このハーフバックがベテラン揃いであり、引き倒すのが容易でないことは言うまでもありません。

付記: Word アプリケーションで VBA コードを使って悪質な DLL をロードする方法
「インストール」の項で述べたように、Trojan.Sasfis は Microsoft Word を利用して悪質な DLL をメモリにロードします。これは、次の手順で行われます。

  1. HKEY_CURRENT_USER\Software\Microsoft\Office\[バージョン]\Word\Security\"AccessVBOM" = "1" というレジストリキーを設定します。
  2. これで、Microsoft Word はこの後に追加されるマクロを許可するようになります。
  3. Microsoft Word を起動します。
  4. Word.Application OLE オブジェクトの次のメソッドを呼び出します (以下はあくまでも概念であり、実際のコードではありません)。

    Documents = _Application.Documents (空白の新規 Word 文書から Documents オブジェクトを取得する)
    VBProject = Documents.Add (Documents オブジェクトに VBProject オブジェクトを追加する)
    VBComponents = VBProject.VBComponents (VBProject オブジェクトから VBComponents オブジェクトを取得する)
    Component = VBComponents.Add (VBComponents オブジェクトに Component オブジェクトを追加する)
    CodeModule = Component.CodeModule (VBA コードを保持する CodeModule を Component から取得する)
    code = "Declare Function wvsbivq Lib [DLL 名] (ByVal s As String) As Long" (この文字列は、DLL 内に常駐するマクロ関数「wvsbivq」を宣言する VBA コード)
    CodeModule.AddFromString(code) (VBA CodeModule に文字列を追加する)
    _Application.Run("wvsbivq") (DLL にある「wvsbibq」を実行する)

上記のような手順をとれるのであれば、直接 DLL を呼び出すこともリモートの脅威をインジェクトすることもできるはずなので、Trojan.Sasfis が Word アプリケーションを呼び出して DLL をロードしなければならない理由はありません。考えられるのは、混乱させて解析を遅らせるための手口であろうということです。

このブログの執筆に協力してくれた今野俊一氏に感謝します。

 

* 日本語版セキュリティレスポンスブログの RSS フィードを購読するには、http://www.symantec.com/connect/ja/item-feeds/blog/2261/feed/all/ja にアクセスしてください。