パソコン活用研究PCマニアック道(アセンブラ、DOS、Windows、旧型PCの活用研究)

ウイルス格闘

まいった、まいった。ウイルスにやられちまった。ウイルス除去までの格闘の記録です。


1 alemod,f,dll ウイルス
ちょっとおじさんのPCのセキュリティを甘くしていたら、alemod.f.dllというトロイの木馬をしこまれ
除去に閉口した。(SymantecはTrojan.Desktophijack.cと呼んでいるみたい)
主な症状としては、デスクトップの改変と怪しげなソフト(自称スパイウエア除去ソフト)の
ダウンロードで、まだ深刻な実害にはなっていない(McafeeやSymantecの危険度をみても
それほど危険度の高いものではないらしいが)が、かなり頭にくるいやらしいウイルス(トロイの
木馬)だった。以下に詳細を記しますが、レジストリをいじりまくり、かなり手のこんだことをするかなり
嫌味なウイルスです。

とりあえず感染状況と除去までについて簡単にまとめてみました。


2 感染から発症まで
(1) intel32.exe
Win32.Alemodは、「%System%\intel32.exe」というファイルを埋め込み、実行させます。これによって、
システムトレイにいかにもという赤い警告アイコンが表示されます。

さらに、Windows起動時にこのファイルが実行されるよう、レジストリを改変します。
HKLM\Software\Microsoft\Windows\CurrentVersion\Run\intel32.exe = "%System%\intel32.exe"

注:「%System%」は可変ロケーションです。 Systemディレクトリのデフォルトインストール先は、
Windows 2000およびNTではC:\Winnt\System32、95/98/MEではC:\Windows\System、XPで
はC:\Windows\System32になります。


(2) warnhp.html
Win32.Alemodは%System%ディレクトリにwarnhp.htmlを埋め込み、レジストリを改変することでこれを
デスクトップの背景として設定します。さらに、正当なものに見せかけるため、デスクトップの背景色
を黒色に設定します。

【改変されたレジストリ】
HKCU\Control Panel\Desktop\Wallpaper = "%System%\warn.html"
HKCU\Control Panel\Colors\Background = "0 0 0"
HKCU\Control Panel\Desktop\WallpaperStyle = "2"
HKCU\Control Panel\Desktop\TileWallpaper = "0"

こんな感じのいかにもspywareに感染したぞ、という脅しのhtmlを表示します。
htmlですが、メニューバーの表示等がいっさいなくこの表示を消去することができません。


ユーザが思わず赤色の警告アイコン、あるいは壁紙上の「Click here」を左クリックすると、
Win32.Alemodはユーザのデフォルトのインターネットブラウザを起動させ
http://www.psguard.com/?******&sub=0」というページを表示させます。

ここで飛ばされたサイトから、Winhoundというspyware removerと称するソフトがダウンロードされます。

(3) Winhound
Winhoundという自称スパイウエア除去ソフトがProgram Filesにインストールされ、
起動時に自動実行するようにレジストリを改変します。
HKLM\Software\Microsoft\Windows\CurrentVersion\Run\intel32.exe = "C:\Program Files\Winhound\***.exe"

(4) oleext32.dll
Win32.Alemodは、以下のレジストリキーを設定して、保護されているファイルの名前変更を可能にします。

HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\AllowProtectedRenames = 0x1

次に、システムファイル「%Windows%\wininit.ini」を改変して、感染している「wininet.dll (oleext32.dll)」と実際の
wininet.dll」を入れ替えます。
oleext32.dllは送信されるHTTP要求を全て監視し、ある特定のサイトに情報を送信します。
プログラム作者に新たな感染成功の情報も送っているようです。


(5) uninstIU.exe
Win32.Alemod.は次に、アンインストールファイル「uninstIU.exe」を%Windows%ディレクトリに
埋め込みます。Win32.Alemodは、以下のレジストリ変更をおこなうことで、自身を「プログラムの追加と削除」
ダイアログにこのアンインストーラを「Internet Update」として追加します。

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Internet Update\{357A87ED-3E5D-437d-B334-DEB7EB4982A3}
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Internet Update\Display Name = "Internet Update"
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Internet Update\UninstallString = "uninstIU.exe"


(1)の赤い警告マーク右クリックすると、[uninstall]が選択でき、uninstallすると、いちおう(2)の
warnhp.htmlの表示はなくなりますが、oleext32.dllによってHTTP要求は引き続き監視されます。
また「プログラムの追加と削除で「Internet Update」を選択しても同様です。


(6) デスクトップ変更禁止
以下のレジストリキーを追加して、ユーザがデスクトップの壁紙を変更できないようにします。
(「画面のプロパティ」ダイアログから「テーマ」「デスクトップ」「デザイン」タブを削除します)。

HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoActiveDesktopChanges = 0x1
HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System\NoDispBackgroundPage = 0x1
HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System\NoDispAppearancePage = 0x1


というわけで、レジストリをいじり、システムで保護されているシステムファイルを巧妙に入れ替え、
かなり手のこんだことをするやっかいなウイルスです。


3 ウイルスの除去(格闘の履歴)

(1) 起動時自動実行の解除
パソコンを起動すると、例の黒いデスクトップに"Warning !"と表示し、なにやらわけのわからん
スパイウェア除去ソフトが勝手に起動するのには、ほんとに腹がたった。
まずは、図Aのようにコマンドプロンプトで"msconfig"とうちこんで、システム構成ユーティリティを起動し、
「スタートアップ」でintell32, Winhoundの2つを無効にした。
そして、Program FilesにあったWinHoundはフォルダごと削除した。
これでとりあえず、システムトレイにいる例の赤い警告マークとあやしいスパイウェア除去ソフトが起動
することはなくなった。
しかし、デスクトップのむかつく"Warning !"はレジストリを改変されているので、起動するたびに
あらわれやがる。

(図A)


(補足)
PCの起動時に自動的にアプリケーションを起動する方法は
@スタートアップに登録する
AレジストリのHKLM\Software\Microsoft\Windows\CurrentVersion\Run に登録する
の2通りがあります。
いずれも、システム構成ユーティリティで簡単に有効/無効の切り替えができます。
無効にするには、チェックボックスのチェックをはずすだけです。
Windows XPではコマンドプロンプトで"msconfig"とうつとシステム構成ユーティリティを起動
できます。

(2) スパイウェア対策ソフト
ここで、スパイウェア対策ソフト(ウンチスパイウェア)をかけて、alemodの除去をしました。
ウンチスパイウェアはフリーソフトの代表格であるSpyBotとAdwareの2つをかけました。
除去のログは以下の通りですが、intell32.exeの除去や改変されたレジストリの修復がなされた
ようです。
とりあえず、これでデスクトップも元に戻すことができ、概ねalemodを除去できました。

SpyBot
Class ID
HKEY_CLASSES_ROOT\CLSID\{057E242F-2947-4e0a-8E61-A11345D97EA6}
アンインストール設定
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows|CurrenrVersion\Uninstall\Internet Update
プログラムファイル
C:\WINDOWS\System32\intell32.exe
自動起動(intell32.exe)
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\intell32.exe

Adware
obj[0]=Regkey : clsid\{357a87ed-3e5d-437d-b334-deb7eb4982a3}
obj[1]=RegValue : clsid\{357a87ed-3e5d-437d-b334-deb7eb4982a3} "IT"
obj[2]=RegValue : clsid\{357a87ed-3e5d-437d-b334-deb7eb4982a3} "Bin"
obj[49]=Regkey : software\microsoft\windows\currentversion\uninstall\internet update\{357a87ed-3e5d-437d-b334-deb7eb4982a3}
obj[50]=File : C:\WINDOWS\uninstIU.exe
obj[0]=Regkey : clsid\{357a87ed-3e5d-437d-b334-deb7eb4982a3}
obj[1]=RegValue : clsid\{357a87ed-3e5d-437d-b334-deb7eb4982a3} "IT"
obj[2]=RegValue : clsid\{357a87ed-3e5d-437d-b334-deb7eb4982a3} "Bin"
obj[3]=RegValue : clsid\{357a87ed-3e5d-437d-b334-deb7eb4982a3} "No"
obj[46]=RegValue : software\microsoft\internet explorer\main "Display Inline Images"

(3) ウイルス対策ソフト(アンチウイルス)
更に、Mcafeeのアンチウイルスソフトをかけてみました。すると、wininet.dllがalemodに感染している
と表示されました。
Mcafeeで駆除、削除、隔離を試しましたが、いずれもできませんでした。(もちろんエンジンも定義
ファイルも最新にしてあります)
wininet.dllはシステムで使用される重要なdllのためファイルの保護機能が働き駆除、削除、隔離の
いずれのコマンドもうけつけないようです。
もちろんExploror上から移動、削除、名前の変更もできません。
このため、PCを起動するたび、Mcafeeからalemodに感染していますという警告が表示される
ことになりました。

Mcafeeのサポートセンターに問い合わせしてみましたが、「駆除/削除/隔離できない場合の
対処方法」のページを参照して下さい、という回答しか来ず(さすが、ソフトのサポートセンンター
の対応はこんなものか、という感じでしたが)
そこに書いてあるとおり、セーフモードで立ち上げ、感染ファイルへのアクセス制限を解除して
からウイルススキャンしてみましたが、結果は変わらず。


(4) 回復コンソールでファイル入れ替え
そこで、MS-DOSとか1CD Linux等でPCを起動し、wininet.dllを他のPCの正常なものに入れ替え
てしまうことにしました。しかし、MS-DOSやLinuxではNTFSにアクセスできないため、Windows XP
の回復コンソールを使うことにしました。
回復コンソールは一般的なDOSコマンドがだいたい使用でき、NTFSにもアクセスできるように
なっています。

おじさんのPCは富士通FMVのプリインストールマシン(OEM版Windows XP)ですが、
このPCではC:\Windows\i386 フォルダにwinnt.exeというファイルがあります。
コマンドプロンプトで
winnt32.exe /cmdcons
とうちこむと回復コンソールがインストールされました。
回復コンソールをインストールすると、起動途中で、
Windows XP 通常起動
Windows XP 回復コンソール
を選択する画面がでます。
ここで回復コンソールを選択すると、回復コンソールが起動します。

おじさんは、以下の通りの操作をしました。
通常のWindows XP での準備
@ 他のXPマシンから正常なwininet.dllをもってきて、汚染されたPCのC:\Windows\System32
  フォルダに、wininet2.dll という名前にしてコピーしておく
A 汚染したwininet.dllの隔離用に、C:\Windows\kauri というフォルダを作成

次に、PCを起動しなおして、回復コンソールでの作業です。
C:\Windows\Systemu32フォルダに移動した後 −>感染したwininet.dllをkakuriフォルダにコピー
−>感染したwininet.dllを削除 −>正常なwininet2.dllをwininet.dllにリネーム

実際のDOSコマンドは以下の通りです。

C:\>CD C:\Windows\System32
C:\Windows\System32>COPY wininet.dll C:\Windows\kakuri\wininet.dll  
C:\Windows\System32>DEL wininet.dll
C:\Windows\System32>REN wininet2.dll wininet.dll


これで、wininet.dllは正常なものに置き換わり、Mcafeeからの感染の警告もでなくなりました。
また、kakuriフォルダに隔離した、感染wininet.dllもMcafeeでウイルスの駆除が可能になり、
正常に戻すことができました。

めでたし、めでたし

Top Page


inserted by FC2 system