はじめに
ここに書いてある方法を実際に利用し、第三者のログイン情報を不正に入手する事は不正アクセス禁止法に抵触します。
ローカル環境で試すか、または誰かを使う場合は必ず相手の許可を得ましょう。
BITBとは
Browser In The Browserの略です。
簡単に言うとブラウザ内にCSSやiframeでブラウザのウィンドウを再現する手法です。
正規のログインウィンドを装ったフィッシング詐欺とかで使われます。
偽のブラウザを用意することで、URLで偽サイトを見分けられなくするのが狙いらしいです。
実際に試してみる
https://github.com/mrd0x/BITB
ここにいい感じのデモがありました。
ですがフォークを探したらもっと良さそうなのがあったのでそちらを使います。
https://github.com/Spiderpig86/BITB
適当に
git clone https://github.com/Spiderpig86/BITB
このままだと../phish/phish2.htmlがないと怒られるのでどこかから中身を持ってくる必要があります。
GoogleのログインページのBITBなのでGoogleからとってきましょう。
https://accounts.google.com/v3/signin/identifier
のhtmlを流用します。
今回は一部を改変して、パスワード入力のために「次へ」を押した時点でpipedreamにformの情報を送信するようにしました。
早速試してみましょう。
リンクにマウスカーソルを合わせた場合ですが、
このように本物のURLが表示されています。
ですが、実際のaタグは
クリック時にBITBが起動するようになっています。
このリンクをクリックすると...
あぁ...
これは私でも普通に騙されそうです。
実際に入力して"次へ"を押してみます。
しっかりと入力内容が送信されていますね。
(pipedreamを使ったのは最近ハマってるからです。)
対策方法
BITBのウィンドウを動かしたときに本体のChromeの外に出すことが出来なければ偽物です。
あとURL欄がうまく選択できなかったりウィンドゥサイズを上手く変更できなかったりとか...
何とも言えない対策方法しか思いつきませんでしたごめんなさい。
と調べていたらこういう拡張機能がありました。
https://chrome.google.com/webstore/detail/enhanced-iframe-protectio/efankjkjendcjahollcfkfhdaffmpkck
おおおおぉ
これでそれなりには対策できると思います。
...
っておーい