LSPハイジャックの対処法
Layered Service Provider (以下LSP)群は、
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinSock2\Parameters\Protocol_Catalog9\Catalog_Entries
配下のサブキーにあるように、一連のチェーンをなしています。

このため、HijackThisのログでO10に悪玉のエントリがあらわれたからといって、このLSPのdllファイル本体を手動ないしスパイウェア除去ソフトで単純に除去すると、レジストリが欠落したLSPを参照することになり、LSP群の連鎖が破壊されて、結果としてネット接続が不可能になることがあります。
LSP-fixは、
- この理由で(または不良なLSPが読み込まれているために)ネット接続に障害が発生した場合に修復するため
- そうした障害を未然に防止するため、dll本体削除前に予めレジストリで悪玉エントリのサブキーを間引いて残りのサブキーを並べ直しておくことでLSP群の連鎖を確保するため
の基本的なツールです。
目次 (項目をクリックするとその項目の説明文に移動します)
次のような場合は、LSP-fixは使用しないでください。
a) コントロールパネルからの削除を優先すべき場合
元来、LSP-fixは、New.Netを旧版のAd-Awareで削除した結果ネット接続が不可能になった場合用の修復ツールとして作られました(その後、New.Netはスパイウェア性が希薄になったとして、スパイウェア対策ソフトは検知対象から外すようになっています)。しかし、現在では、New.Netや、WebHancerのような古典的な大手LSPハイジャッカについては、コントロールパネルからの削除が可能で、こちら(その他ベンダサイトの指示する手順があればそれ)を優先して行ってください。
それでもネット接続に障害が生じた場合にのみ、LSP-fixその他の手段による修復(後述)を検討します。
これらは、HijackThisログのエントリでいうと以下のような場合です。
NewDotNet (New.Net)によるもの
O10 - Hijacked Internet access by New.Net
WebHancerによるもの
O10 - Hijacked Internet access by WebHancer
O10 - Broken Internet access because of LSP provider 'c:\windows\webhdll.dll' missing
また、こちらのCommonNameによるもの
O10 - Hijacked Internet access by CommonName
O10 - Broken Internet access because of LSP provider 'c:\progra~1\common~2\toolbar\cnmib.dll' missing
についてもまずアンインストール可能かどうかを検討してください。
b) HijackThisのO10エントリが誤検出である場合
HijackThisは無害なLSPのリストをもっていて、このリストにあるものはO10に表示しません。逆に、HijackThisが知らないLSPのdllがあれば、
O10 - Unknown file in Winsock LSP: c:\windows\system\k7wslsp.dll
のようにエントリを出して注意を喚起します。
しかし、例外的に、無害リストに未掲載の善玉LSPが、現実にネット接続障害を起こしているわけでもないのに次のようなエントリを出すことがあります。
O10 - Broken Internet access because of LSP provider 'tasp.dll' missing
これは、中国製ファイアウォールの GoldTach 3.3 のLSPです。
ここでLSP-fixを起動すると、tasp.dllは最初からRemove側(後述LSP-fixの使い方参照)にあらわれます。
こういう場合はHijackThis(とLSP-fix)による一種の誤検出ですから、何もせず放置してください。
問題はこの事例で悪玉O10エントリが併存する場合で、この悪玉削除の準備のためにLSP-fixを起動したときは、tasp.dllをKeep側に移し、悪玉のサブキーのみを除去するようにしてください。その後再度LSP-fixを起動するとtasp.dllはRemove側に戻っており、HijackThisログにもまたそのO10エントリが出てきますが、気にしないで下さい。
c) 古いWindows 95の場合
このツールはWinsock2がインストールされていることを前提しています。Windows 98以降では一切問題ありませんが、95の旧いものではWinsock2が付属しないことがあります
ではO10に悪玉のLSPがあらわれたとして、このdll本体を削除する前に、
LSP-fixを使ってそのファイルに対応するサブキーを間引き、残りのサブキーを順に並べ直しておく作業を行いましょう。
1) LSP-fixのダウンロード
LSP-Fixは、Counterexploitation [cexx.org]が提供しているLSPの修復のための専用アプリケーションです。
中程にある「LSPFix.exe」をダウンロードして下さい。インストールする必要はなく、これがそのまま実行ファイルになります。
exeファイルがダウンロードできない場合や、インターネットに接続できなくなった状態のPCにFDでプログラムを持っていく場合に備え、圧縮ファイル「lspfix.zip」も用意されています。
2) LSP-fixによるレジストリの修正
LSP-fix自体は非常にシンプルなアプリケーションなので、使い方はすぐ理解できます。ここでは 「TargetSoft.inetadpt」に感染していて、それを修復する場合を例にとります。
起動すると、このような画面になります(左のKeep側、右のRemove側に現れる項目は人によって違います。ファイルがなくなっている項目がRemove側に現れます)

まず「□ I know what I'm doing, (or enjoy re-installing my operating system...)」という警告
(「私は今からなにをやろうとしているか理解してます、しくじったらOS再インストール覚悟です)」)の□をクリックしてチェックを入れます。
削除したいLSPがKeep側にあれば、それを選択して「>>」をクリックしてRemove側に移動させます(この場合はinetadpt.dll)

このとき、善玉がRemove側にいないことを確認して下さい。万一いたらこれはKeep側に移します。
その上で、「Finish」をクリックすると、確認メッセージが出てRemove側に登録されたLSPのレジストリエントリが削除されるとともに、レジストリ上のLSPの
連鎖が作り直されます。処理後は次のようなダイアログの小窓が出ますので、OKボタンで閉じて下さい。

作業後は必ずPCを再起動して下さい。上例ではもう一度LSP-fixを起動するとこうなっているはずです。

同様の操作で、Remove側にある必要なものを「<<」でKeep側に移動することもできます。
3) 使用上の注意点
このようにLSP-fixの使用法自体は簡単ですが、実際の作業には注意が必要です。理由は、
- 「Finish>>」をクリックした時点で、レジストリのサブキーが自動的に作り直される
- しかも、LSP-fix自体では変更レジストリのバックアップはとらないし、操作を元に戻す機能もない
- 必要なLSPのレジストリを誤って削除すると、ネットに接続できなくなったり、セキュリティソフトが無効化されることがある
からです。従って、適切な判断と慎重な作業が必須です。「Finish 」ボタンを押す前に、システムの復元ポイントを手動で作成しておくか、
またはレジストリエディタを用いて、レジストリキー
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinSock2
をエクスポートしておくことが望ましいでしょう。
4) ファイル本体の削除
LSP-fixは、dllファイル自体の削除はしません。LSP-fixでRemoveしたあとは、セーフモードで再起動した後dllファイル本体をごみ箱に移してください。
LSP-fixにあらわれるdllファイルは、システムフォルダにあるのが一般的です。
原則としてWindows XP以降の場合は
c:\Windows\System32\
Windows 2000の場合は
C:\Winnt\System32\
Windows ME/98/95の場合は
C:\Windows\System\
です。隠しファイルにされている場合も多いので、見つからない場合はこちらを参考に
全ファイル&フォルダの表示設定を行ってから検索するか、初心者ツール[初心者ツール]を用いて探してみて下さい。
たとえば、次のようなログを添えた相談が出てきたとしましょう。
Logfile of HijackThis v1.99.1
Scan saved at 15:30:23, on 2005/05/05
Platform: Windows XP SP1 (WinNT 5.01.2600)
MSIE: Internet Explorer v6.00 SP1 (6.00.2800.1106)
Running processes:
C:\WINDOWS\System32\smss.exe
C:\WINDOWS\system32\winlogon.exe
C:\WINDOWS\system32\services.exe
C:\WINDOWS\system32\lsass.exe
C:\WINDOWS\system32\svchost.exe
C:\WINDOWS\System32\svchost.exe
C:\WINDOWS\system32\spoolsv.exe
C:\WINDOWS\Explorer.EXE
C:\WINDOWS\System32\ctfmon.exe
C:\WINDOWS\System32\igfxtray.exe
C:\WINDOWS\System32\hkcmd.exe
C:\Program Files\Java\j2re1.4.2_05\bin\jusched.exe
C:\Program Files\Common Files\Real\Update_OB\realsched.exe
C:\Program Files\iTunes\iTunesHelper.exe
C:\Program Files\QuickTime\qttask.exe
C:\Program Files\iPod\bin\iPodService.exe
C:\WINDOWS\System32\combo.exe
C:\Program Files\B's Recorder GOLD7\BsShGate.exe
C:\Program Files\Internet Explorer\iexplore.exe
C:\Program Files\MSN Messenger\msnmsgr.exe
C:\Documents and Settings\【user】\デスクトップ\新しいフォルダ\HijackThis.exe
O2 - BHO: Yahoo! Companion BHO - {02478D38-C3F9-4efb-9B51-7695ECA05670} - C:\PROGRA~1\Yahoo!\COMPAN~1\Installs\cpn\YCOMP5~1.DLL
O2 - BHO: AcroIEHlprObj Class - {06849E9F-C8D7-4D59-B87D-784B7D6BE0B3} - C:\Program Files\Adobe\Acrobat 7.0\ActiveX\AcroIEHelper.dll
O2 - BHO: CNavExtBho Class - {BDF3E430-B101-42AD-A544-FADC6B084872} - C:\Program Files\Norton AntiVirus\NavShExt.dll
O3 - Toolbar: ラジオ(&R) - {8E718888-423F-11D2-876E-00A0C9082467} - C:\WINDOWS\System32\msdxm.ocx
O3 - Toolbar: Norton AntiVirus - {42CDD1BF-3FFB-4238-8AD1-7859DF00B1D6} - C:\Program Files\Norton AntiVirus\NavShExt.dll
O3 - Toolbar: MSN ツールバー - {BDAD1DAD-C946-4A17-ADC1-64B5B4FF55D0} - C:\Program Files\MSN Toolbar\01.01.1601.0\ja\msntb.dll
O3 - Toolbar: Yahoo! Companion - {EF99BD32-C1FB-11D2-892F-0090271D4F88} - C:\PROGRA~1\Yahoo!\COMPAN~1\Installs\cpn\YCOMP5~1.DLL
O4 - HKLM\..\Run: [IMJPMIG8.1] "C:\WINDOWS\IME\imjp8_1\IMJPMIG.EXE" /Spoil /RemAdvDef /Migration32
O4 - HKLM\..\Run: [PHIME2002ASync] C:\WINDOWS\System32\IME\TINTLGNT\TINTSETP.EXE /SYNC
O4 - HKLM\..\Run: [PHIME2002A] C:\WINDOWS\System32\IME\TINTLGNT\TINTSETP.EXE /IMEName
O4 - HKLM\..\Run: [IgfxTray] C:\WINDOWS\System32\igfxtray.exe
O4 - HKLM\..\Run: [HotKeysCmds] C:\WINDOWS\System32\hkcmd.exe
O4 - HKLM\..\Run: [SunJavaUpdateSched] C:\Program Files\Java\j2re1.4.2_05\bin\jusched.exe
O4 - HKLM\..\Run: [TkBellExe] "C:\Program Files\Common Files\Real\Update_OB\realsched.exe" -osboot
O4 - HKLM\..\Run: [iTunesHelper] C:\Program Files\iTunes\iTunesHelper.exe
O4 - HKLM\..\Run: [QuickTime Task] "C:\Program Files\QuickTime\qttask.exe" -atboottime
O4 - HKLM\..\Run: [Symantec NetDriver Monitor] C:\PROGRA~1\SYMNET~1\SNDMon.exe
O4 - HKLM\..\Run: [Media Agent] C:\WINDOWS\System32\msxbrend.exe
O4 - HKLM\..\Run: [combo.exe] combo.exe
O4 - HKCU\..\Run: [ctfmon.exe] C:\WINDOWS\System32\ctfmon.exe
O9 - Extra button: (no name) - {08B0E5C0-4FCB-11CF-AAA5-00401C608501} - C:\Program Files\Java\j2re1.4.2_05\bin\npjpi142_05.dll
O9 - Extra 'Tools' menuitem: Sun の Java コンソール - {08B0E5C0-4FCB-11CF-AAA5-00401C608501} - C:\Program Files\Java\j2re1.4.2_05\bin\npjpi142_05.dll
O9 - Extra button: Messenger - {FB5F1910-F110-11d2-BB9E-00C04F795683} - C:\Program Files\Messenger\MSMSGS.EXE
O9 - Extra 'Tools' menuitem: Messenger - {FB5F1910-F110-11d2-BB9E-00C04F795683} - C:\Program Files\Messenger\MSMSGS.EXE
O9 - Extra button: Microsoft AntiSpyware helper - {1E09E20D-C578-4E72-B89B-8F7F392ED43D} - (no file) (HKCU)
O9 - Extra 'Tools' menuitem: Microsoft AntiSpyware helper - {1E09E20D-C578-4E72-B89B-8F7F392ED43D} - (no file) (HKCU)
O10 - Unknown file in Winsock LSP: c:\windows\system32\flsmngr.dll
O10 - Unknown file in Winsock LSP: c:\windows\system32\flsmngr.dll
O10 - Unknown file in Winsock LSP: c:\windows\system32\flsmngr.dll
O14 - IERESET.INF: START_PAGE_URL=http://epsondirect.infoseek.co.jp
O15 - Trusted Zone: *.line6.net
O16 - DPF: {1C9D421B-ACBC-48BB-9CED-51368BC1CE31} (HgArcadePluginJP3 Class) - http://down.hangame.co.jp/jp/dist/hgstart/HgArcadePluginJP3.cab
O16 - DPF: {56336BCB-3D8A-11D6-A00B-0050DA18DE71} (RdxIE Class) - http://software-dl.real.com/27de74a99637dd506505/netzip/RdxIE601_ja.cab
O16 - DPF: {9A9307A0-7DA4-4DAF-B042-5009F29E09E1} (ActiveScan Installer Class) - http://www.pandasoftware.com/activescan/as5/asinst.cab
O16 - DPF: {B38870E4-7ECB-40DA-8C6A-595F0A5519FF} (MsnMessengerSetupDownloadControl Class) - http://messenger.msn.com/download/MsnMessengerSetupDownloader.cab
O16 - DPF: {B469C508-9A75-4A62-BFA9-62802D653A4B} (HanGamePluginJP15 Class) - http://down.hangame.co.jp/jp/dist/hgstart/HanGamePluginJP15.cab
O16 - DPF: {C71C8580-B76B-4FA4-8592-1160E8CE2BBC} (AvatarBooster Class) - http://down.hangame.co.jp/jp/dist/hgstart/HanGamePluginJP16.cab
O20 - Winlogon Notify: igfxcui - C:\WINDOWS\SYSTEM32\igfxsrvc.dll
O21 - SSODL: Agent - {2BF0A589-16BF-4A97-94FD-84C11410628F} - C:\WINDOWS\System32\psisffic.dll
O23 - Service: iPod Service (iPodService) - Apple Computer, Inc. - C:\Program
Files\iPod\bin\iPodService.exe
O4, O15, O21にも怪しいエントリがありますが、
O4 - HKLM\..\Run: [Media Agent] C:\WINDOWS\System32\msxbrend.exe
O4 - HKLM\..\Run: [combo.exe] combo.exe
O15 - Trusted Zone: *.line6.net
O21 - SSODL: Agent - {2BF0A589-16BF-4A97-94FD-84C11410628F} - C:\WINDOWS\System32\psisffic.dll
これらは後回しにして、まず、不審なO10があらわれていることに着目します。
O10 - Unknown file in Winsock LSP: c:\windows\system32\flsmngr.dll
O10 - Unknown file in Winsock LSP: c:\windows\system32\flsmngr.dll
O10 - Unknown file in Winsock LSP: c:\windows\system32\flsmngr.dll
このファイルを調査するとCWS系と想像され、いずれにしても悪いものであることがわかります。この時点で、直ちに、質問者に警告してください。
不正なO10エントリがあり、
O10 - Unknown file in Winsock LSP: c:\windows\system32\flsmngr.dll
処置を誤るとネット接続ができなくなります。以下の作業はくれぐれも慎重に行ってください。 とりわけ、ウイルス対策ソフト、スパイウェア除去ソフトによるスキャンは、指示した場合以外、絶対に行わないでください。
CWS系と推定されても、CoolWebShredderを使うことは控えるべきです。この場合、XPですから復元ポイントも作っておいてもらいます。
万一に備え、現時点でシステムの復元ポイントを手動で作成してください。
その上で、LSP-fixによる処理に移ります。
http://www.cexx.org/lspfix.htmから、中程のLSPFix.exeをダウンロードし、任意の場所(デスクトップでいいです)に保存してください。
これをダブルクリックして起動すると、Keep側にflsmngr.dllがあるはずですから、これを選択して>>をクリック、Remove側に移してください。
この状態で、Remove側にflsmngr.dll以外のファイルが万一あれば、直ちにそこで作業を中止し、Keep側とRemove側とにあらわれているファイル名をそれぞれすべて書き出して、右上×ボタンでLSP-fixを終了してください。そして書き出したファイル名を報告して下さい(LSP-fixの画面をキャプチャして添付しても構いません)。
Remove側がflsmngr.dllのみである場合は、「I know what I'm doing」にチェックを入れて「Finish」をクリックしてください。
再起動して新しいHijackThisログをとり、提出してください。
このログを見て無事O10が消えていれば、セーフモードで再起動して、「c:\windows\system32\flsmngr.dll」をごみ箱へ、という指示が出せます。
これは、残りのスパイウェア処理(HijackThisでのfix→ファイル本体削除)とまとめて行って差し支えないでしょう。
これに対し、O10が消えていない場合は問題です。最悪の場合、最近の中国系LSPハイジャックのようにRootkitが悪玉LSPの削除を妨害している可能性もあり、そうであったら、O10の処理だけでなく、作業手順の全体構想からして見直す必要があります。
LSPの連鎖が破壊された結果、ネットに接続できなくなった場合の修復方法としては、次のいくつかがあります。上から順に試してみて下さい。
fooさんがこのあたり色々実験された結果を受けてのものもありますし、「おそらくいけるだろう」という推測の部分もあります。
いずれにしてもリスクを伴うので、重要なデータはあらかじめバックアップをとってから作業を開始してください。
システムの復元 (WinXPおよびMeの場合)による復旧
不用意にWinsockの不正dllファイル本体を削除してしまった場合、システムの復元によりファイル削除以前に戻ることによって接続が復活することがあります。
この場合、復元ポイント以後に導入したアプリケーションや、WindowsUpdate はインストールをやり直す必要がありますが、適切な復元ポイントが存在すれば最初に試すべき手法です。復元が終了してネット接続が回復した時点でもう一度HijackThisのログをとり、不正なO10エントリがあれば、前述のようにLSP-fixで処理しておいてからファイル本体を削除します。
コマンドプロンプトからの復旧 (WinXP SP2 以降のOS限定)
OS がWindows XP SP2 以降の場合限定ですが、「スタート」→「プログラム」→「アクセサリ」から起動できるコマンドプロンプトから
netsh winsock reset
というコマンドで復旧できる可能性も高いです。ただしこの場合は、
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinSock2\Parameters\Protocol_Catalog9\Catalog_Entries
のみの修復であり、
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinSock2\Parameters\NameSpace_Catalog5\Catalog_Entries
の方が破壊された場合(LSP-fixでOS標準のエントリを誤ってRemoveした場合など)には機能しません。
LSP-fixによる復旧
ネット接続が破壊された状態でLSP-fixを起動して、以下の選別を行います
- 不正エントリがKeep側にあればこれをRemove側に移動
- 正規エントリがRemove側にあれば、レジストリ上誤ってファイルがないと認識されている可能性があるので、これをKeep側に移動
終了したら「Finish」をクリック後に再起動し、問題が継続するか確認します。
ただし、HijackThisのログに次のようなO10エントリがあらわれているときは、
O10 - Broken Internet access because of LSP chain gap (#10 in chain of
12 missing)
[<-#10と12という数字の部分はケースバイケースでさまざま]
LSP-fixを起動すると次のような表示になります。

この場合は、LSP-fixの「Finish」ボタンを押すと、この例でいうと10番目のサブキーに対応するLSPが善玉であろうが、そのサブキーが間引かれ、残りのサブキーが機械的に並べ替えられるという、予期せぬ結果をもたらす虞があります。しかも、この修正は、
□I know what I'm doing (or enjoy re-installing my operating system...)
にチェックが入っていなくとも、「Finish」ボタンで自動的に行われ、結果表示ダイアログを OK で閉じるしかなくなってしまいますので危険です。
従って、LSP-fixによる修正は行わず、右上×印を押してLSP-fixを閉じて下さい。あえて修正するときは必ずレジストリをバックアップして下さい。
その他の復旧方法
上記いずれの方法でも復旧できなかった場合には、こちらのリンクを参照して作業してみて下さい。
それでも駄目な場合は、OSの上書きインストールないしin-place upgrade(2000/XPの場合)を。最終手段としてはリカバリないしOSのクリーンインストールとなります。
一応最初の原案こそ僕が作りましたが、実質このページは眠さんとfooさんからいただいた情報を整理して転記したに過ぎません。お二人のスキルとご協力に感謝致します。
更新履歴
2007.1.4 LSPfix 1.1に対応して変更。全体の記述を整理(眠さん)
2005.9.22 ページ作成
【文頭に戻る】
POWERED by 