フィッシング詐欺サイトを開設されたサーバーの研究
関東地方にある某会社からフィッシングページが開設されたようだと電話が入ったので2005年4月2日に実際に訪問して調査してきました。
今回のフィッシングについてのspamは当社を含むRBL.JP関係者には届いていませんでした。
サーバーを調べた結果は以下の通りです
1)OSはRed Hat Linux 7.3でCDからインストールしたままの状態です。ソフトは後からいくつかインストールしています。
またApache1.3.26+php4が走っています。作成した業務ソフト検証のため互換性を考え古いRedHatのバージョンで3月25日に立ち上げたばかりだそうです。
2)起動に必要なファイルが消されていてリブートしても途中までしか実行しません。シングルユーザーモードでも起動できませんでした。
これは気が付かれて再起動されたあとコンテンツを発見・分析させないためでしょう。
今回はレスキュー用CDを使って立ち上げHDを別ディレクトリにマウントして調べました。
3)調べてみると確かに侵入されていてアメリカ某銀行の偽サイトのデータが置いてありました。
4)sshの脆弱性から侵入される事例が多いと聞いていましたがルーターには特定のアドレスからしか許可しない設定がしてあるので今回はsshでは無いようです。
外部のどこからもつながるサービスはftpとhttpだけなのでこのどちらかのセキュリティホールから侵入されているはずですがはどちらかは特定できませんでした。ftpサーバーソフトはvsftpdです。(小島さんのサイトに答えて ;-)
5)詐欺ページが置かれているディレクトリ名はクラックしたときの常套手段としてlsとしただけでは見えないような名前となっています。
もちろん発見されずらくするためです。
Linux、UNIX系ですと ドットから始まる名称がよく使われます。これはlsコマンドで -a オプションをつけないと表示されないからです。'スペース'数個のディレクトリ名が使われることもあります。'ドット’'スペース' という組み合わせも見たことがあります。UNIXのdu コマンドであればそれらを含めディレクトリ名を全部表示してくれるので調べるときに便利です。
6)新しくアップされたファイルはroot権限になっています。
/etc/ftpusers を始めとする /etc/ftp* 関連のファイルが全て消去されていてrootでもログインできるようにされているため直接rootのIDでつなぎアップしたものと思われます。
7)アップされていたファイルの総数は100個近くあり当初予想していた数個ではありませんでした。
サーバーを開設した25日より古い日付のファイルがあり一番古いファイルは3月11日となっています。
それを犯人が作成した日付とみなすと偽ページをかなり長い時間かけて自分のPCで作って用意しておいた上でアップしたのでしょう。
8)侵入されたあとsshのデフォルトの22番以外にもう一つ別のポート番号(128番)で改造版sshdがxntpdという名前に偽装して立ち上がっています。このポート番号はルーターではフィルタリングされていませんでした。
改造版sshdは正規のsshdとは異なる位置にある設定ファイルにより立ち上げるポート番号を指定するようになっているため侵入したサーバーのファイアウオールなどの状況に合わせて臨機応変に対応できるようになっています。
9)Apacheのアクセスログとエラーログは消去されています。
最初にそのページにつないでくるのは犯人が画面確認のために行うわけなのでその証拠を隠滅するためでしょう。
他のログは消されていません。
10)カード番号の入力、送信を処理する部分はphpで書かれています。
過去に発見されたフィッシングサイトでもほとんどphpで書かれていることがわかっていますのでphpが使えるサイトは特に狙われるはずなので注意が必要でしょう。
11)入力された口座番号などの個人情報データはフォームで受け取るたびにメールにてhotmail.comに送信されるようになっていました。
sendmailのログにも記録があります。
12)シェルでログインした記録はありませんが特別なsshdを使っているためログには記録されないように改造されているためです。
パスワードファイルにも怪しいアカウントは存在しませんが改造sshdはrootでのログインを許可するようになっているため直接rootとしてログインしていたはずです。
Linuxは正規のsshdでもデフォルトでrootでのログインを許可している設定になっていることが多いので修正したほうがよろしいでしょう。最新のFedora Core 3でもそうなっています。FreeBSDはかなり前からrootではログインできないのがデフォルトです。
13)/var/log/secure というログファイルを調べるとルーマニアのアドレスからのftp接続が沢山記録されています。
社内からつないで作業をしている同じ時間にも大胆にも犯人がftpでログインして操作している記録もありました。
このときに作業者はwhoなどとしてみれば気がついたかもしれません。
この記録から見て犯人はルーマニアからつないできたことがわかるのですが
通常侵入するときには身元を隠すためにその前にもう1つクラックされたサーバーを介するので犯人がルーマニア在住かどうかは断定できません。
いずれにせよフィッシングは過去の例でもルーマニアの名前が何回も出てきていますのでこの国からのアクセスには特に注意したほうがいいと思われます。
14)クラックされて偽サーバーとして機能していた時間ですが
ログが消されたのが3月30日03:12、異常に気がついてネットワークから切り離したのが4月1日17:27なので、偽サイトはおよそ50時間ほどインターネットにあったことになります。
後述するセッションファイルの日付を見ると
最初の日付はMar 30 09:17、最後の日付はApr 1 16:00なのでこれとも合致します。
Mar 27 04:34:15にもルーマニアの同じCクラス内のアドレスからFTPでつないできたことが観察されているのでクラックされたのは27日と想像されます。
サーバーを立ち上げて2日後です。
15)フォームのセッション情報が/tmpに残っていて38件ありました。
Apacheのアクセスログが消されていて何件くらいアクセスがあったかはここからはわかりませんがセッションファイルを調べることにより判明しました。
セッションファイルの最初の方の日付は
Mar 30 09:17
Mar 30 09:32
Mar 30 09:58
Mar 30 13:21
Mar 30 23:47
Mar 31 02:07
となっています。テストしてからすぐ被害者がつなぎにくるとも考えられないので犯人はMar 30 09:17からMar 30 09:58まで3回テスト送信をし、
うまくいくことを確認したのでspamを送り始めspamを受け取った最初の人がその4時間後操作をしMar 30 13:21に記録されているのではないでしょうか。
すなわち詐欺サイトとして機能していたのは4つ目のセッションファイルの日付Mar 30 13:21からApr 1 16:00であり実際にspamを受け取った人が行った操作は35件ということになるでしょう。
RBL.JPのスタッフもよくやることなのですが詐欺spamが来るとどういうサイトなのか実際に出鱈目のパスワードを入れて調べることがあるのでこの35件がすべて本当に詐欺にひっかかった数ではなくて、これより少ない数になるはずです。
以上でレポートを終わります。これをみてヒヤっとしたあなたはセキュリティに関してまっとうな神経をお持ちだと思います。
他人のサーバーだから関係ないと思ったあなたはもっとセキュリティについて危機意識を持ったほうがいいかもしれませんね。
いずれにせよここに出した情報があなたのサーバーのセキュリティ向上に役立つことになることを期待いたします。
(当社を含めて)明日は我が身です。
※ 快く調査に応じてくれた会社の名誉を守るために具体的社名や銀行名は伏せさせていただきます。
Nikki Top