「Virus:W32/Ramnit」は、2010年に感染が確認されており、多くのマルウェアアナリスト/リサーチャーによく知られている。

  この興味深いウイルスのテクニカルな詳細については、他のマルウェアリサーチャーたちがブログに記事を書いている(たとえばここここにある)。しかし若干の注目すべき技術と、そして「イースターエッグ」が、発見されるのを待っている。

  その興味深い技術の一つは、「Ramnit」が使用するインジェクションメソッドだ。従来の方法とは異なり、ウイルスが停止したスレッドを作成し、メモリ書き込みWindows API機能を使用し、コードの注入を行い、インジェクション完了後、停止したスレッドを再開する。

  このケースで、「Ramnit」を独特の物にしているのは、デフォルトのWebブラウザプロセス、もしくは「svchost.exe」として知られるGeneric Host Process for Win32 Servicesという新しいプロセスを生み出すのに、これがWindows API機能をコールすることだ。この新たに生み出されたプロセスにインジェクトすることで、コードはユーザに不可視となり、ファイアウォールをバイパスすることができる。

  しかし、それ以前に、「Ramnit」は「Ntdll!ZwWriteVirtualMemory」と呼ばれる、マニュアルに記載されていないWindowsネイティブシステムサービスに、インラインフックをインストールする。以下の画像は、このインジェクションの仕組みを示したものだ:

ramnit infection

  フックされたWindowsネイティブシステムサービスは、コードインジェクションルーチンを実行するため、コード実行フローをコーラプロセスに定められたモジュールにリダイレクトする。新しいプロセスでインジェクトされたコードは、バックドアおよびダウンローダ機能のほか、ファイル感染力(Windows実行ファイルとHTMLファイル)を含んでいる。

  「Ramnit」でもう一つ注目すべき点は、上記のプロセスにインジェクトされるDLL内に見られる「イースターエッグ」だ。以下に挙げた同コードのスナップショットが、すべてを説明するだろう:

antidot

  基本的にこのイースターエッグは、レジストリキーにナビゲートし、「WASAntidot」を探す:

antidot

  我々がテストマシンで「WASAntidot」レジストリキーを作成しようとすると、以下のような画面を見ることになった:

antidot activate

  ほら! マシンは「Ramnit」の感染から安全だ!

Threat Solutions post by — Wayne