0Pagetopランサムウェアに要注意!久しぶりの投稿です。(何せ、「貧乏暇なし」なもんで...)本日訪問した客先のPCが、「暗号化型ランサムウェア」というウイルスに感染していました。これに感染すると、PC内のすべてのデータが暗号化されてしまい、開かなくなります。PC起動時に、「暗号化を解除してほしければ、金を払え」というような英語(日本語の場合もあるみたい)のメッセージ文がたくさん表示されます。残念ながら、この暗号を解除する手段は現状では、「身代金」を支払うしかないそうです。仮に支払ったとしても、解除してくれるかどうかは疑問ですが。本日まずこのPCを確認したところ、やはりどのファイルも開かず、WEBの閲覧も正常にできない状態で、スタートアップを調べようとMSCONFIGを起動しようとしても立ち上がりません。Modeで起動しMSCONFIGを開いたら、スタートアップに10個くらい不正な設定がありました。起動時にウイルスが実行され、またスタートアップに設定されるようです。XPで、ウイルス対策ソフトも入っていません。ネットでオンライン・ウイルスチェックをしようとしましたが、そのサイトに移動できませんでした。別のユーザーIDが作れたので、テスト用に作成し、そちらに切り替えました。そちらでも最初に身代金要求画面が出ましたが、WEB閲覧は正常にできたので、トレンドマイクロのオンライン・チェックを実行しました。ウイルスは検出されませんでした。(どうなってんの?)テスト用IDの方で再度MSCONFIGで不正なスタートアップを削除し、再起動し、テスト用IDでログインすると、身代金要求画面は出なくなりました。再起動し、元のユーザーIDでログインするとまた出てきて、その後テスト用IDでログインすると出てきます。タスク設定は全て削除したし、レジストリのRunにも何もありません。元のIDでログインした時に全てのIDのスタートアップに不正な設定を施すようです。データは全部パーなので、HDDを初期化し、Windowsを再セットアップした方が確実にウイルスを消せるのですが、時間がないので、新しいIDの方に切り替えることにしました。メールデータ、アドレス帳、お気に入りなどを新しいIDの方に移行し、元のIDを削除しました。新IDの方で再度スタートアップを修正し、再起動をしましたが、身代金要求画面は2度と出ませんでした。このランサムウェアには複数の亜種があり、最近全世界で急速に感染拡大しているそうです。XPだけではなく、最新のOSでも感染しているそうです。感染経路とされているのは、やはり、メールの場合が多いそうですが、感染したWEBサイトを閲覧した場合もあるそうです。PlayerやAdobe関係のソフトを最新にし、Windowsのセキュリティ更新も最新にし、当然ですが、ウイルス対策ソフトを入れ、それも最新に更新しておくことですが、如何わしいサイトを見ないことも重要です。7)が起動しなくなったので、持ち帰りました。PCはミニPCで、ノートPCみたいにACアダプタ外付けタイプで、HDDも2.5”です。その顧客宅へは時々訪問しており、PCの反応速度が遅いことが気になっていました。XP)の場合はぜんぜん遅く無いので、HDDの不良をまず疑いました。そこで、HDDのベンチマーク・テストを行ってみましたが、普通のスコアでした。OSを再インストールすることにしました。BIOSの初期設定がIDEモードなので、そのままでインストールしました。インストールは完了しましたが、やはり反応が遅い状態でした。IDEモードなので遅いのかと思いましたが、またOSを入れなおすのが面倒なので、後からAHCIドライバを読み込み、切り替えるソフトを使って切り替えてから、再起動しBIOS設定をAHCIに変え、起動しようとしたら、BCDエラー画面が出て、修復が必要との英語メッセージです。指示通りOSのディスクで起動し、スタートアップの修復を実行しましたが、直りませんでした。ネットで情報を探し、BCDやBootrecの修復などいろいろやってみましたが、一度起動したかと思うと再起動したらまた同じ状態でした。しかたなく、今度は先にBIOSをAHCIモードにしてからOSを再導入することにしました。PC付属のドライバCDからAHCIドライバをUSBメモリーに保存しておき、OSインストール前に読み込ませます。昔のFDD搭載PCならF6キーを押し、フロッピーから読み込ませていましたが、今のPCは殆どFDDを内蔵していないので、USBメモリーやCDから直接読み込めるようになっています。ところが、AHCIドライバを読み込ませたら、「このディスク(領域)にはインストールできません・・・」と言われてしまい、領域をいろいろ切りなおしてもだめです。この原因もネットでいろいろ調べてみましたが、このドライバを先に入れると、どうもDVDからHDDへの読み込みができなくなる模様です。最初からOSをインストールしないといけないのならHDDも変えてみようと思い、HDDを交換しました。今度はPC付属のAHCIドライバを先に入れず、Win7標準のAHCIドライバでOSをインストールしました。問題なくインストールが完了し、応答速度も遅くありません。これまでの状況を考えると、HDDの不良が原因だった事が間違い無さそうです。ベンチマークの結果を信用したがために、非常に多くの時間と労力を使ってしまいました。従業員が誤ってCドライブを消してしまいました(>_<)この機種はHDD先頭にリカバリ領域がありますが、リカバリするには「リカバリ起動ディスク」なるものが必要なのですが、それがありません。さあどうしたものか?...リカバリ領域の解析をすべく、前の記事で紹介したMiniXPの出番です。リカバリ領域をマウントできず、次はKNOPPIXで試したところ、マウントできました。領域の中のファイルを全て別のHDDにコピーしました。中を覗くと、NT系のブート関係ファイルがあります。System32フォルダやMiniNTというフォルダもあります。NTが起動するような感じです。MiniXPのPartitionツールで、先頭にNTFS領域を作成し、先のリカバリ領域の中のファイルを全てコピーしました。アクティブに設定し、起動可能としました。再起動させると、”当り!”でした。MiniNTが起動し、リカバリ・メニューが現れました。後は次々に進んでゆくだけです。リカバリが完了したら、CドライブをアクティブにすればOSが起動するようになりました。PCサポート業者は、OS起動不能となったPCの修復やデータ復旧に、CDからブート可能なOS(主にLinuxベース)を使います。昔はフロッピー・ディスクがブート・メディアの主流だったので、FDブートのMS-DOSベースのパーティション管理ツールなどを使っていました。中でも「パーティションコマンダー」には大変お世話になりました。最近はFDDを搭載していないPCが殆どで、企業でもFDを使わなくなっています。我々は今でも3.5”FDを使っています。販売している中古PCのリカバリー・ディスクを作る時に使います。(リカバリー・ディスクを添付した中古PCを売っているところは、当店以外殆ど無いと思います。)MS-DOSベースのGhostを使い、BATファイルを駆使して作成します。私はWindowsが世に出る前の時代からPCに関わっていたので、BATコマンドはある程度よく知っています。当店の中古PCを購入されたお客様が、詳しい知識が無くとも簡単にリカバリーできるように、Enterキーを何度か押すだけで実行できるようにしています。BootCD」というものを見つけました。XP」が含まれていました。このMiniXPを起動すると、英語版のXPが現れ、その中にいろいろなフリーのツールが”てんこ盛り”で入っているのです。英語版とはいえ、使い慣れたXPのGUIで操作できるのは大変な魅力なので、それ以来この中のツールを使ってPCのテストをしたり、パーティションの変更や修復を行っています。難点は、日本語に対応していないので、日本語のファイル名は文字化けしており、キーボードも英語キーボード設定なので、アルファベットの配列は同じですが、記号類のキーが違うのです。これなら日本語版のLiveCDが作れ、作ったことも有りますが、起動に非常に時間が掛かる大きな欠点があります。(先のMiniXPは非常に早いです。)KNOPPIXは、完全に日本語化がされていて使いやすいOSです。従来のIDEドライブだと問題ないのですが、最近のS-ATAドライブでAHCIモードPCだとブートできません。MiniXPはたくさんのデバイス・ドライバを含んでおり、最新のPCでもブートできます。BootCDにはカスタマイズ機能があり、HDDに展開し、一部変更し、またISOファイルに簡単にできるソフトも付属しています。いう訳で、「MiniXP日本語対応」に取り組むこととしました。日本語キーボード対応です。MiniXPは、シングルバイト圏のキーボードには対応しており、先のカスタマイズ機能を使って簡単に切り替えることができます。日本語キーボードのドライバは入っていません。HDDに展開したファイル構造を見ると、XPというサブフォルダがあり、その中にXP.wimというファイルがあります。これがMiniXPの実態です。WIMファイルは、Vistaから採用されたOSイメージ圧縮ファイルで、PEもこの形で作られます。BootCDの中の豊富なツール群は7z(以前はUHA圧縮)で圧縮保存されており、使うときに解凍されてRAMディスクにコピーされるようになっています。この7zでWIMファイルも解凍できます。展開したXP.winのファイル構造を見ると、i386という親フォルダがあり、その中は殆ど通常のXPのフォルダ構造と同じでした。この中のSystem32フォルダに各国のキーボード・ドライバが入っているので、まず日本語キーボード・ドライバであるkbd106n.dllを放り込みました。これだけではダメで、レジストリを変えないといけないのは百も承知です。レジストリのどこを変えればよいのかというのは、先述の元からある各国キーボードを切り替えるバッチ・ファイルを調べることによって分かりました。その部分のレジストリにエントリーを追加し、先のバッチ・ファイルにも日本語用の記述を追加しました。これにより日本語キーボードでキーラベル通りに入力できることを確認しました。問題は、この変更したレジストリをどうやって保存するかです。XP.wimは、MiniXPが起動すると展開され、Xドライブという仮想ディスクとして存在します。この中のi386¥system32¥configにレジストリ・ファイルが存在し、通常のXPならこのファイルをコピーすればよいのですが、レジストリを変更した後このファイルを見ると、更新されていません。これらのファイルは起動時にメモリーにロードされ、起動後はこのメモリー上のレジストリは更新されますが、保存はされないようです。これをどうするか?というのが最初のハードルでした。考えて思いついたのが、レジストリのExport/Import機能です。変更したキーボード関連部分のレジストリをExportして、USBメモリーに保存しました。importコマンドを仕込んで読み込ませればよいのです。改造したCDを作る為には、展開したWIMファイルを圧縮しないといけません。解凍時に使用した7zで圧縮もできるので、WIMファイルを再作成し、ISOファイルを作成し、CD-RWに焼きました。作ったCDでブートしようとしたところ、XPのロゴからいつまで経っても先に進みません。2つ目のハードル発生です。原因をいろいろ考えましたが、再作成したWIMファイルが正常ではないのではないか?と思われました。AIKに含まれるImageXで作成・展開されるものです。これを使っていないからではないか?と考えました。AIKをダウンロードしてインストールすればImageXが使えるのですが、どうもこのImageXはCUIツールのようです。そこでもう少し調べてみると、ImageXを単体でしかもGUIで操作する「GImageX」というフリーソフトがあるようなので、これをダウンロードしました。これを単体で使用するには、wimgapi.dllが必要だということなので、これも探してきてGImageXと同じフォルダに入れました。このGImageXを使って再度XP.wimを展開し、変更を加えた後WIMファイルを作成しようとしました。GImageXは英語表示で、[Capture]タブがWIMファイルを作成するところですが、最初[Option]のところを何もチェックせずに作成しました。して作成したCDをブートさせたら、やはり同じように起動できませんでした。そこで今度は[Boot]オプションをチェックしてから作成しました。したら起動できるようになりました。して日本語キーボードで入力できるMiniXPが出来上がりました。一歩前進しましたが、まだ日本語ファイル名を表示させる目標には達していません。通常の英語版XPであれば、「多言語パック」なるものをインストールすれば日本語表示も入力も出来るようになるみたいですが、LiveCD版ではそういう方法はできません。基本的にはExplorerの中で日本語が表示されさえすればデータのバックアップが出来るので、日本語フォントを入れてやり、そのフォントに切り替えれば実現できるように思います。最初に、日本語版XPの中からMSGOTHIC.TTCファイルを持ってきて、MiniXPのi386¥Fontsに入れました。して作成したCDでMiniXPを起動しました。スタートメニューからControlPanelのFontsをポイントすると、フォントのリストが表示され、その中にmsgothic.ttcがあります。それをクリックしてみたら、英語で「インストールしますか?」というメッセージBOXが現れ、OKをクリックしたら「一つのファイルがコピーされました」という英語のメッセージがコマンドプロンプト画面に表示されて消えました。この操作でフォントがメモリーにロードされ、レジストリにも追加された感じです。さっきの手作業のフォント・インストールを自動化する方法を考えないといけません。思いつくのはスクリプトを使う方法ですが、それは最後の手段として置いておき、もっとスマートな方法を探りましたが、今度のハードルは前よりも高いハードルでした。実はXP起動時に最初に実行されるStartup.cmdというバッチ・ファイルがあり、その中にnircmdという聞いたことが無いコマンドがちょくちょく出てきていました。そのコマンドの後にWAITとかshortcutとか、いろいろなオプションがくっついていて、気になったのでググってみると、nircmd.exeというフリーの実行ファイルで、Windowsのいろいろな操作をコマンドラインで実行できるもののようですが、日本語の解説サイトは殆どありませんでした。フォント関係のレジストリを読んでいるうちに、このnircmdが実行される一行を見つけました。この一行をコピーしてメモ帳に貼り付け、USBメモリーに保存し、自分のPCに持って行き、解析を始めました。nircmdにはqboxというオプションがあって、コマンド実行前にメッセージ・ボックスを表示させることができるのですが、この一行を眺めると、どうもさっきのゴシック・フォントをクリックした後に実行された処理をやっているような感じなのです。試しにこの一行をコマンド・プロンプトに貼り付けて実行してみましたが、「パスが見つからない」みたいなエラーが出ました。dが連続して記述されていて、どうも意味不明で腑に落ちないのです。思い返してみると、元々レジストリの中にあった一行の中の/(スラッシュ)や""(ダブルクォーテーション)が消えているようなのです。qboxの後はバッチコマンドを連続しているようなので、バッチコマンドのオプションや構文を再確認し、1コマンド1行で、必要な/や""を付け直し、nircmdを使わない普通のバッチファイルを作ってみました。このバッチファイルを実行してみたら、”当たり!”でした。なってくると、もう推理小説の世界です。私は昔から推理小説が好きで、よく読みましたが、パソコンの世界も推理力・想像力が関係してきます。それらは過去の経験と知識をベースにしていることは言うまでもありません。試行錯誤の繰り返しの結果、いろいろなことが一つ一つ分かってくるのです。(だから面白い)難関を乗り越えましたが、まだ先があります。Explorerで表示されるフォントをインストールした日本語フォントに切り替えないといけないのです。手動で切り替える方法は比較的簡単に見つかりました。画面のプロパティの[デザイン](Appearance)タブの[詳細設定](Advanced)で、[アイコン](icon)のフォントを変えればよいのです。GOTHIC」が増えています。GOTHICを選び、OK→OKで閉じると、デスクトップ・アイコンのフォントが変わりました。Explorerを開くと、その中のフォントも変わっており、日本語フォルダ名も漢字やカタカナで表示されています!これで手作業で切り替えることは出来るようになったのですが、最後の課題はこれを自動でやる方法です。キーボードの時にやったように、切り替わった後の変更されたレジストリ部分を探し、Exportして保存しておき、OS起動後にImportする方法をやってみました。Importしても切り替わりませんでした。レジストリの中身はちゃんと変わっていました。調べてみると、どうもコンパネ関係のレジストリを変更しても、再起動しないと反映されないようです。普通のXPならレジストリの変更がハイブに保存されるので、再起動すればよいのですが、このXPは再起動したら変更が消えてしまいます。そこで、再起動せずにレジストリを反映させる方法を探しました。VBやCでプログラムを作らないと無理みたいで、そうなると大事です。先述のnircmdにはshellrefreshとかsysrefreshやrestartexplorerなどのコマンドがあったので、全て試してみましたがダメでした。なると残された手段は、スマートではありませんが、スクリプトを使って手でやる操作を自動実行させる方法しか私には有りませんでした。VBSを使い、Desk.cplを呼び出して、SendKeyコマンドを連続させ、泥臭い方法ですが、自動実行は出来るようになりました。