情報処理 | 2020年 9月18日(金)10時37分 |
今日、久々に珍しい手口のリダイレクト詐欺ウェブサイトに誘導されたので、いろいろ解析してみた。 カメラの話題じゃないよ。
こちらのウェブサイト( https://enjoypclife.net/2018/08/24/fojmarketing-com-phishing-scams-advertisement-redirect-caused/ )にも詳しい話があるのだが、今回遭遇したパターンはちょっと特殊だったので記事にしてみます。 ちょっとコンピュータに詳しい人向け……だと思う。
さてさて、今回踏んだ詐欺ウェブサイトですが、ある大学の研究室のウェブサイトを開いたところ、リダイレクト……というより名前解決の段階で吹っ飛ばされた感じです。どういうこっちゃ。そのウェブサイトの名称は明らかにしません。というのも、今回の件は今までと違う点(過去、同じようなことが起きた時とは違う状況)が多いからです。 相違点は、
1.そのウェブサイトはドメイントップ(トップディレクトリ)で運用されている 2.ウェブサイトには広告が入っていない 3.ソースコードを確認するも、外部からの操作の余地がない(apis.google.comだけ参照)
また、リダイレクトされた後に同じウェブサイトを開き直すと、普通にその大学の研究室のウェブサイトが表示される。 この現象はFirefox 81.0b8 x64で確認。 典型的なフィッシング詐欺のようですが、どういう理屈で動いているのか、さっぱり分からん。
詐欺サイトの分析
問題のリダイレクト先のウェブサイトを、開発ツールを使って骨抜きにしてみた図。スクリプトや外部参照、スタイルシート等を潰して、骨格だけにしてみた場合、こんな感じで見えます。クイズが出たりアンケートが出たりするようです。
アンケートに答えた先には、iPhone 11 Proを100円でプレゼントする、というキナ臭い文言が。ちなみにスクリプトを停止しているので、最初から丸見えです……。 ちなみにこのウェブサイト、woodcook****9.liveというドメインで運用されていました。 ちなみに、このリンクの部分を踏むと、まったく別のサイト(Loveaho****.com)に飛ばされます。巷ではサクラ100%の出会い系サイトです。
JavaScriptが正常動作している状態だと、100円で買うために住所とか名前とかクレジットカードの情報とかを入力出来る……模様? 完全にフィッシング詐欺サイトです。 別サイトに飛ばされる仕様については、恐らくですが別ウインドウを開いてバックグラウンドで表示するのか(ご丁寧にも、リンク先のリクエストはaff.phpでした。堂々とし過ぎでしょ……w)、あるいはコンテンツブロッカー等で撃ち漏らした場合に、何も思考せずにクリックorタップした奴をアフィリエイト扱いで吹っ飛ばす仕様のようです。 ウェブサイトの動作とか、どういう理屈で動いたのかについては専門的な話になりそうなので、後ろのほうで。 ちなみに、クイズ形式の問題が出される事がありますが、間違った答えを選んでも正解します。このアンケートについても、アンケートやっているように見せているだけで、POSTする素振りは全くありません。笑ってしまうがな。
どうすればいいのかについて
基本的に、何もしなければ無害です。余計なことはせずに閉じれば害はありません。 PCアクセスの場合は音が鳴る。スマートフォンでアクセスした場合、音だけじゃあなくバイブレーションもするかも? ちょっと前に流行った、このスマートフォン(あるいはパソコン)はウイルスに感染しているかも!みたいなウザい広告の別バージョンのような印象を受けます。 ※あれも基本的には放置しておけば何も問題ないんだけど、頭悪いスクリプトが埋め込まれているやつは困ったことに、延々とダイアログが出て閉じさせてくれないとか、閉じても開く、みたいな小細工がされていたりして、かなり面倒だったりします。まあ、スマートフォンの場合は機内モードにして通信を絶った状態でブラウザ再起動させれば、何も起こらないのでそこで閉じればいいだけなんですが。
リンク先(誘導先)のゴミサイトについて 先の詐欺ウェブサイトのリンク先になっていた、Loveaho****.comというウェブサイトについても調査済み。 こちらもスクリプトを剥がしてソースコードだけの骨抜きにしてやりました。ドメインについて調べてみると、サクラ100%の搾取出会い系サイト、ようはクレカの限界に挑戦する系。
ウェブサイトのデータ構造を見ると、飛ばし元と飛ばし先は別の人間が作っているということは、コードの書き方を見てすぐにわかる。あと、ジャンプ時に妙なリクエストコードが付与されているので、どこから飛ばされてきたカモなのかも当然分かる。ちなみに、リクエストURLはめちゃくちゃ長い。ぐちゃぐちゃなエンコーディングが成されているが、重要な部分はsid=となっている部分だけのような気がする。セッションid。a-zまでの英字と0-9までの数字、チルダ(~)があって、その先の部分が識別符号と思われる。 唯一驚いたのが住所取得で、郵便番号がドンピシャで出てきた。Cookieで抜かれたのかとも思ったが、それにしてもピンポイントに静岡県富士市、と出てきた。しかも郵便番号は7桁すべて的中。当然番地までは出てこないが、郵便番号が出たということは町名まで分かる訳です。
使われている技術について
まずは飛ばされたほうのウェブサイト。 さて、どうしてScriptオフにしているのに住所情報が動作したのだろうか。 これは何か裏があるな、と思って調べてみたところ、MaxMindというGeoIP2サービスの存在に行き当たった。 https://en.wikipedia.org/wiki/MaxMind (※英語Wikipedia) これ、辞書形式のデータベースを提供しているようでして。しかも割とリーズナブルな価格で。アクセスされたIPアドレスを突き合わせすると、国名(地域名)、市(市町村名)、郵便番号、おおよその緯度と経度(Lattitude/Longitude)を取得することが出来るようです。 スクリプトオフでこれが動くということは、アクセス時にIPアドレスから逆引きし、HTMLに反映させているということですので、SSI(Server Side Include、よくカウンターとかで使う、#exec cmd=ほにゃらら、というやつ)で処理しているのではないかと思います。めっちゃ簡単に言うとCGIの一種ですね。 アクセスしてきたらリクエスト元のIPアドレスは見えているので、データベースと突き合わせをして、住所情報を先に入力しておいて(無知な人間を)怖がらせる、という手法かと。 古典的といえば古典的だけれど、何も入力したことがないのに都道府県名と市区町村名、郵便番号まで入力されていたら、そりゃあ怖がるわな。
次に、今回の騒動の元となったフィッシング詐欺サイト。 セッションごとに有効期限を設定しているようで、有効期限を過ぎると表示出来なくなる模様。妙に拘っているなぁ。 ドメイン名の下に/web/というディレクトリがあり、そこはウェブページを表示する訳ではなく、単純にリダイレクト処理をしてアフィ設定している適当なアダルトサイトとかに飛ばしているだけだったりする。 で、ソースコードを睨んでいたのですが、これといって特に目新しいというか、特別な、あるいは変なコードは仕込まれていないように感じる。 一応、戻る動作の制御だったりとか、時間切れまで放置したら勝手にアダルトサイトにリダイレクトさせるとか、cookieを仕込んでおくとか。そういうイタズラは仕込んであるんだけれど、悪意ありまくりのコードかというと、そこまで悪意のあるような感じではない。(まあ、コンピュータに詳しくない人からすれば面倒なのだろうけれど)
そうなると逆に不思議なのが、どうやってリクエストをリダイレクトさせたのか、という点について。 一度リダイレクトした後、改めて開きたかったウェブサイトを開くと、きちんと開くんですよね。で、大手のウェブサイトでも極々稀に起きるし、今回のような大学とか公的機関に近いところが運営していても起こる、個人がやっているウェブサイトでも起こる。毎回必ず飛ばされるなら分かる(そうなったら自分のコンピュータがウイルスやトロイやDNSハイジャック食らったと識別できる)ものの、ごく稀にしか起こらない上に、数秒経過すると何事も無かったかのように目的のウェブサイトが開ける。 広告についてはブロックツールを入れているし、そもそも今回のウェブサイトは広告すら入れていない。(ツール外して検証済み) 名前解決のための手段であるDNSの問題かと思って確認するが、DNSアンロッカーのような悪意あるソフトウエアが紛れ込んできた痕跡は無し。仮にもし紛れ込んできたのなら、他の通信にも影響が出るはず。
まあ、これに関しては結構なユーザーが同じ目に遭っているものの、どうしてそうなるのか、という情報が出てきていないんですよね。埋め込んでいた広告が悪さをいている、という話が濃厚なんですが……今回は広告なんて掲載していないウェブサイトで発生したので、尚のこと気になって。いくつか考えてみた。
1.DNSサーバーが一時的にハイジャックされた 名前解決のためのDNSサーバーが、一時的に古い情報や乗っ取りを受けた説。 まあDDoS攻撃の踏み台にされる事はあっても、乗っ取りってかなりの話。但し、この場合のDNSサーバーはプロバイダ側か、ホームネットワークのルーターなのかは不明。今まで、今回閲覧したウェブサイトにアクセスした事は確実に無いので、何かを仕込まれるにしても出来すぎな気がする。 仮にDNSに攻撃を受けたとするならば、リダイレクトなんかせずに、ドメインはそのまま、中身だけそっくり書き換えられた、という感じで表示されるはず。リダイレクトされるということ自体、考えにくい。
2.JavaScriptに悪意のあるコードが注入された ……とは書いたものの、見る限りではfacebookとGoogleのAPIしか叩いていないので、そんなワンショットな使い方なんて出来るのかなぁ。 しかも某大学の先進系だし。WordPress使っているみたいだけれど、コメントとかはオフにしているようだから、入り込む余地はあまり無さそう。仮にコメントだとしても、初訪問だけ狙い打って、とか無理がある。見えなくてもソースには残ると思うし。
3.ブラウザプラグイン系に邪魔された ……コンテンツブロッカーとマイナポータル、程度しか入れていないが。この線は無い。 他に走っているプロセスも、基本的に通信に干渉してくるような筋のものではない。
4.経路情報のバグ・不具合 パソコンからルーターなりプロバイダのDNS(リゾルバ)に問い合わせして、そこのDNSサーバーにレコードがないとなると、当然他のサーバー(上位)に問い合わせしたりするはず。 ちょっと前になんかそんな話あったような。設定をミスっていたり、おかしな挙動をするDNSサーバーが紛れ込んだりすると、変なレコードに書き換えちゃったりとか……。いやでも、10秒もしないうちにレコードを破棄するっていうのは流石に考えられないよなぁ。CNAMEとかSRVレコードなんかを詐称するとか、流石に無理がある。 通信ログが残っていれば確実なんだけど、そう都合よくはいかないからなぁ。 キャッシュポイズニング……上位サーバーに見せかけて偽情報をキャッシュサーバーへ注入する:可能性低 カミンスキーアタック……実在しないホスト名で問い合わる:ワンショットでは難しい ゾーン転送アタック……プライマリ・セカンダリetcのNSの同期につけ込んだ攻撃:あり得そうだが短時間で可能なのか? ドライブバイファーミング……ルーターは初期設定ではない、この症状は一度だけ:ちょっと考えにくい
仮にバグだとしても、詐欺サイトにピンポイントに到達させるということ自体、あまりにも難しいと思う……。
5.Wikipediaから飛んだから、Wikipediaが汚染されていた? 流石にそれはない。というのも、その後、開いていたWikipediaのページから再度オープンしたところ、普通に目的のサイトにジャンプできた。リロードはしていない。 また、最初に挙げたウェブサイトにもあるように、実行される人とされない人がある様子。
6.Firefoxのバグ? 一番怪しいのは、まあ、ここらへん。とはいえMozillaもそこまでバカじゃあないと思う。そんなコードをReleaseするとは思えないし、そもそも、そこからウェブブラウザは再起動もしていないし更新もしていないが、特に怪しい挙動は示していない。何か未知のバグがあって、それでゼロデイを食らったという可能性も当然あるが、ゼロデイするなら破壊的活動をするか、スキミング(情報の取得、覗き見)をすると普通は思う。そもそも、この問題は今回が初めてではなく、過去数年の間に、3回ないし4回くらい受けた記憶がある。そんな散発的な攻撃は流石に考えにくい。
とまあここまで書いたのですが、結局、可能性は揃えられても症状再発しないので原因追及出来ないんですよね。 何か情報ありましたらお待ちしております。 |