FileZillaのバージョン3.37.3が出た後、すぐに3.37.4がリリースされ、私は2018年10月8日に自動アップデートした。 その日たまたまレンタルサーバーに接続すると初回接続時しか表示されないSSL証明書の確認画面が表示され、これを了承するとWindows DefenderがTrojanDownloader:Script/AHCoinMiner.Aというマルウェアを検出した。 名称から察するにマイニングするようなスクリプトだろうか。 誰か同じ症状の人はいないかとツイッターで検索してみたが、この時点では誰もいなかった。 ただし、この記事を書いている時点では2件確認できている。
同じように困っている人がいるかもしれないので、私が解決した方法を記しておく。
私は複数のレンタルサーバーを借りていて、FTPSで接続しているエックスサーバーとコアサーバーでこの現象が起きたが、SFTPで接続していたさくらのレンタルサーバーは何も起こらなかった。 つまりFTPSでの接続時に発生するようだ。 試しにエックスサーバーのコントロールパネルでSSHを許可した後、SFTPで接続したら問題なかった。
とりあえずパソコンのウイルススキャンをしたが異常なし。 ルーターも最新のファームウェアになっているのを確認し、再起動。 最新版のFileZillaをダウンロードしなおし、再インストールしたが変わらず。 サーバー側に何か問題が起きたとも考えられ、試しにサポートに問い合わせたが、特に異常はないようだった。
Windows Defenderが検出した履歴でTrojanDownloader:Script/AHCoinMiner.Aの「詳細の表示」を見ると「ダウンローダー型のトロイの木馬」と書かれていて、影響を受けた項目として「file: C:\Users\ユーザー名\AppData\Roaming\FileZilla\trustedcerts.xml」と書かれている。 そして、エクスプローラーで隠しファイルを表示する設定にした後、このフォルダを見ると以下のようなファイルがあり、trustedcerts.xmlはなかった。
これらのファイルの更新日時を見ると、再インストールした日時になっているが、なぜかqueue.sqlite3だけ4ヶ月くらい前のものだった。 これはSQLiteに関わるものなのか不明だが、中身はバイナリとなっていてよく分からない。
これらのファイルはFileZillaをアンインストールしても残っていて、これが何か悪さをしている可能性があるためコピーをとっておいてから削除した。 ただ、sitemanager.xmlはサイトマネージャーにある接続先の情報が記述されていて再度入力するのが面倒なので、私はこれだけ残した。 全部消さないと気持ち悪いという人は全部消しても良いだろう。
アンインストールとファイルの削除を済ませた後、パソコンを再起動し、最新版のFileZillaをインストールしなおした。 そして再度上記フォルダを見直すと、queue.sqlite3のファイルサイズなどが異なっていて別物になっていた。
さらに問題のFTPSで接続してみると初回のSSL証明書の確認が表示され、了承すると、今度はTrojanDownloader:Script/AHCoinMiner.Aは検出されず、普通に接続できた。 上記フォルダを見るとtrustedcerts.xmlが作成されていた。 このファイルはFTPS接続時に了承したSSL証明書の情報が書き込まれているようで、SFTPでは使われないようだ。
結局何が原因かイマイチ分からないが、FileZillaのフォルダに残されたファイルが悪さをしていた可能性が高い。 また、Windows Defenderは稀に誤検出があるので、実際にはマルウェアは存在しなかったのかもしれない。