2017年8月10日木曜日

SSHでトンネルを掘りVPS経由で実家のPCへVNC接続する(その1)

先日TeamViewerの乗っ取り被害に遭った。7月26日の朝、出かける前にふと目に入ったメインで使っているWindowsデスクトップPCの液晶画面が、なんだか壁紙が消えた状態なのを発見。まさかとは思ったがタスクトレイのTeamViewerを終了させると壁紙が戻り、血の気が引いた。もつれる手で反射的に回線ケーブルを抜き、しばらく呆然とする。何が起こった?慎重に被害を確認する。と、Amazonサイトの購入履歴が表示されない。すべて消えているようだ。1クリック注文ボタンの横に表示されている支払い方法のアイコンが「VISA」と表示されている。なんだろう?ポイントが目的で、つい先ごろ「Amazonマスターカードゴールド」作ったところだ。Amazonの支払いはそれを唯一の方法に設定している。VISAは過去にも登録したことがない。アカウントメニューから支払い方法のページへ進むと、無数の他人名義のクレジットカードが登録されている…戦慄。口がカラカラに乾く。ほとんどはカード番号だけの表示だったが少なくとも二件は日本人と思われるローマ字姓名が表示されており、そのうちの一つの「VISA」が現在の支払い方法に指定されていた。Amazonアカウントは何度操作してもパスワード変更ができない。取り急ぎAmazonカスタマーサービスの電話番号を調べて連絡。侵入のあったその日の内に既にAmazon側でセキュリティアラートが上がっており、幸いなことに発送は保留状態でアカウントもロックされているという。
 TeamViewerのログを確認すると、侵入時刻は2日前の7月24日の午前4時18分~5時40分頃。さらに2日前の未明にも数分間接続されている。TeamViewerに登録していた残りの2台のノートPCはオフラインだったかWindowsをログアウトしていたようで荒らされた形跡は無い。実家のノートPCはTeamviewerを使ってシャットダウンし家人に触らないように伝える。Wi-Fiでつながっていたもう一台のノートPCもネットワークから切り離す。TeamViewerのパスワードは変更したものの、あまりにもずさんなパスワードリセットの手順に驚愕。すぐにアカウント自体も削除し、TeamViewerもアンインストールする。だが今さら消したところでもう遅い。愚かにもデスクトップにショートカットを置いていた秘密の平文メモファイル・゚゚(ノД`)が盗まれたことを想定せざるを得ない。これには利用している数十のサービスのログインIDとパスワードが記入されている。情けない。一刻を争う緊急事態だ。
 飯も食わず便所にも行かずぶっ通しで作業を続ける。金融サービス、GoogleやYahooなどのポータルサイト、あらゆるショッピングサイト、VPS(レンタルサーバー)や使ってもいないFacebookやSNSなど過去にアカウント登録したことのあるすべてのサービスをチェックする。アカウントが有効ならパスワードを変更する。利用していないサービスは退会手続きをする。二段階認証の設定が可能なものはニコニコ動画に至るまですべてそれを設定する。深夜までかかって一通りの作業を終えた。結果、Amazon以外に異常を見つけることはできなかった。デスクトップに侵入された以上、バックドアがインストールされている可能性がある。「トレンドマイクロ オンラインスキャン」をダウンロードし、オフライン状態で全てのドライブに対してフルスキャンを行う。TeamviewerがインストールされていなかったLAN内PCもWindows Defenderとトレンドマイクロでスキャンを行う。すべてのドライブのスキャンを終えるのに3日間を要したが、それらしいものは検出されなかった。やられたメインのデスクトップPCの再インストールは行わず、ひとまずオンライン状態に復帰させることに。だがしかし、発見されなかったバックドアは見事に常駐していた。
 …数日後。第二の戦慄が。SSHトンネリングを使いVPS経由でデスクトップPCからノートPCへVNCを接続し、リモートデスクトップ操作をする実験を繰り返している最中だった。横目で見ていたデスクトップPCの画面に突然Chromeブラウザが起動し、ものすごい速さでカーソルが奪われアドレスバーに「あAa」という文字とバックスペースが次々と打ち込まれている。反射的にルーターからケーブルをひっこ抜く。その間約1秒。今入られた! 心臓がバクバクする。何が起こった!?
今まさにトンネルを張る実験をしていた。確かにVNCはインストールした。今の実験で入られた?? 万一VPSに侵入されたとして、すべての仕組みがバレたとしても、ここまで入る方法があり得るだろうか? 今の瞬間はトンネルも張っていなければVNCサーバーも起動させていない。2台のPC画面と今引っこ抜いたケーブルの先端を見つめながら30分程呆然とする。どう考えても今やっていた実験を関連付けることはできない…バックドアだ。
タスクマネージャーを起動してみる。「C:\INFO\Ser.exe」なるものが起動している。中国語のDescriptionが表示されている。露骨に完全にもうこれだ。3日かかったフルスキャンは何だったのか。最初にタスクマネージャーを確認するべきだった。不審なプロセスを終了させ、イーサネットアダプタのIPアドレスを通信できないアドレスに設定しケーブルを接続してリンクアップさせる。再びプロセスが上がってくるのかどうか挙動を観察するも、1時間くらい放置しても自動起動される様子はない。スタートアップには登録されているがタスクスケジューラやサービスには登録されておらず、ログイン後にユーザーモードで起動するだけのように見える。C:\INFOフォルダとSer.exeのタイムスタンプを見るとTeamviewerで長時間侵入された時間帯と一致する。数日間このプロセスが起動した状態でネットに接続されていたことになり、その間果たして何度入られたのかは知る方法が無い。AmazonはSMSを使う二段階認証に変更済みだ。ブラウザのパスワードはすべて削除し、必ずログアウトするようにした。「この端末は今後確認しない」のオプションは選択せず、このブラウザからAmazonへログインすれば必ずSMSが送られる。そしてこの数日間は身に覚えのないAmazonからのSMSは届いていない。ということは、危険にさらされていたこの数日間はこのPCのブラウザからAmazonへの不正ログインは試行されていない。今しがた勝手にアドレスバーに入力された文字からして、敵の第一目標がAmazonであるならば、たまたま居合わせたつい今しがたこそが、バックドアから初めて侵入された瞬間だったのではないだろうか。初回侵入された時間帯あたりのタイムスタンプですべてのファイルを検索する。気味が悪いので関連のファイルは後日消してしまいファイル名などは失念してしまったが、C:\に別のフォルダがあり、Ser.exeのログと思われる不思議なサムネイル画像が10個程格納されていた。ブラウザウィンドウの画面キャプチャのようで、横が100ピクセルほどの大きさのため詳細は分からないが、侵入中のAmazonの注文明細ページと思われる画像、自分が開いていたタブと思われるNikonサイトの画像、見覚えの無い中国風の腰痛だの健康グッズのサイトのような画像が数種類。後半はバックドアのダウンロードに使うサイトなのかもしれない。そのほかにいくつかのバイナリやテキストファイルがあり、テキストファイルの一つはBase64でエンコードされた受信メールのようで、From:にAmazonが含まれていたと思う。メーラーが受信する注文メールを抽出したのだろうか。使っているメーラーのThunderbirdのデータファイルの中にもタイムスタンプが該当するものがあった。普段自分では受信時にだけThunderbirdを起動させ、見終わったら終了させている。自分では起動させていない時間帯のタイムスタンプのファイルがあるということは、侵入した犯人がThunderbirdを起動し、注文確認メールを受信・削除する操作を行ったのだろうか。あるいはこのSer.exeが自分でそれを行う仕組みなのだろうか。Amazonのカスタマーサービスへ電話した際に、Amazonからのセキュリティアラートがメールで送信されている旨とその時刻(初回侵入時時間帯の約30分後)を教えてくれたが、その際「もしAmazonからのセキュリティアラートのメールが見つからなかったらまた連絡を」という意味ありげなことを言われた。Amazonからのアラートメールが消される事例があることを示唆しているのかもしれない。そして実際にそのメールは探しても受信トレイやジャンクフォルダには見つけることができなかった。
後にAmazonから受信した注文キャンセルメールによれば、ChromeブラウザがログインしていたAmazonサイトでNintendoやモバゲーなどのゲームプリペイドなど27件・23万円程の注文操作がされていた。Amazonアカウントスペシャリストなる対応部署により、不正操作による注文と変更をAmazon内ですべてキャンセルしてくれたため、今回の件での金銭的被害は無い。だが二次被害防止のためにパスワード変更やウィルススキャンに要した時間、この後おこなうメインPCの再インストールと復旧作業の負担、それに加え精神的ダメージは大きい。だがしかし、発見がもっと遅れていたり侵入者が日本人だったとしたら、各種サービスのログインIDとパスワードをメモした平文ファイルへのリンクがデスクトップに丸出しでネットバンキングや証券口座を操作することも可能な状態であったことを考えると、これが被害のすべてだとしたら幸運だと言うしかない。
 TeamViewerの二段階認証の存在を知らず、設定していなかったのが致命的だった。二段階認証を設定していない場合のTeamViewerアカウントのパスワードリセットの方法はおそろしく簡単で、ログインページでメールアドレスを入れてボタンを押すだけで、パスワードリセットのメールがアドレス宛に平文で送信される。届いたメールの本文内にある長いURLにアクセスするだけで、新しいパスワードを入力することができる。この方法は極めて脆弱と言える。今回の侵入被害を確認した直後、自分ではTeamViewerのアカウントにはログインすることができず、パスワードは変更されているようだった。実際に自分でパスワードリセットのボタンを押してみると一度目ではパスワードリセットのメールを受信することはできず、二度目で中国語バージョンのパスワードリセットメールが送られてきた。中国語のメールにあるURLをクリックするのは勇気がいるが、事件の二週間ほど前に日本語バージョンの同じフォーマットのパスワードリセットメールを二度受信していたので、今回のこれが何であるかはわかる。心当たりのないパスワードリセットのメールを受信した際には何が起こっているのかがピンと来ず無視しただけだったが、それらがなぜ届いていたのかが今やっと理解できた。自分でパスワードを変更した後、更にもう一度パスワードを変更しようとしたところ、パスワードリセットのメールを受信するまでは3回ボタンを押す必要があった。TeamViewerの乗っ取り被害は去年から多発しているそうだが、犯人の手口は流出した他のサービスのアカウントリストやパスワードの総当たりによる突破だけではなく、TeamViewer.comから送信されるパスワードリセットのメールの一部を不正な経路へ転送させてキャプチャしているのではないかと思う。

0 件のコメント: