編集部が選ぶ「みんなに見てほしい」イチオシまとめはこちら

「ちょっとこれみてくれない」とurlを送るスパムDMの解析と解説

DM経由で広まったフィッシングでちょっと手口がアレだったのでまとめました。
インターネット oauth Twitter シュースタ勢 コールバック フィッシング
86051view 26コメント
259
ログインして広告を非表示にする

あの、ちょっと厄介なことがありまして。
いつもどおりのフィッシングサイトだと思ってたんですよ。
...と思ってたら違ったのでまとめました。
スクリーンショットなどありますが、その中のURLには絶対にアクセスしないでください。

まず被害に遭わないために必要なことと被害に遭ったら必要なこと。

いろいろなページを見てみたところ、すこし違う点があったのでまとめさせていただきました。

k5342 @k5342
スパムDMの対策興味本位にURLを開かないことパスワード変えるとか結果無意味アプリ連携を解除することそれスパムじゃない?って聞いてあげるのも効果アリ(そのときに解説サイトのURLを貼らないように)
ムメイさん @mumei_himazin
@k5342 あと、 スパムきたーとか言って、スパムの本文を丸コピしてツイートしないように

注) パスワード変えるのが無意味というのはTwitterのパスワードを盗まれた場合を除きます。連携アプリ認証をされた場合は無意味となります。

スパムDMの発覚

最初、ふぶき氏からスパムDMがとどいたみたい。
文面は「ちょっとこれみてくれよ」との日本語でURLがあったとのこと。
普通のひとであればそんなメッセージがきたらリンクをクリックするのも無理もないでしょう。

ふぶき氏 @fubukiefsf
なんかやばいことになってるな
ふぶき氏 @fubukiefsf
連携にそれっぽいの無いぞ…
ふぶき氏 @fubukiefsf
自分から変なDM届いてもあけちゃダメ
ふぶき氏 @fubukiefsf
スパムDM届いた人申し訳ないです
ふぶき氏 @fubukiefsf
DM送れるようになってる奴止めるか
ふぶき氏 @fubukiefsf
今回のは日本語で全部送られてるんだよな…
@enkunkun
Twitter web にログインした状態でアクセスすると自動でDMされてしまう、という感じっぽいのかも
ふぶき氏 @fubukiefsf
@enkunkun 時間差なんだよね。DM送信時には踏んでいない
@enkunkun
@fubukiefsf 総当りして、合致するとサーバー側に送られるのだろうけど、なんで時間差にしたんだろうか
ふぶき氏 @fubukiefsf
@enkunkun すぐだと気が付かれるからとかそんな感じかな?
怪しいアプリ連携の認証を特定してみる

とりあえずなんか怪しいのないか調べるくだり。

ふぶき氏 @fubukiefsf
どのアプリに寄生してるのかがわからない
ムメイさん @mumei_himazin
@fubukiefsf 10万行ってるやつ以外を解除してみたら?
ふぶき氏 @fubukiefsf
連携許可とかログインもしてないし、クッキー情報あたりと割れてるコンシューマキー使われたのか…?
ふぶき氏 @fubukiefsf
問題はどのアプリのキーが悪用されているかだ
@enkunkun
@fubukiefsf callback url が設定されていて consumer が割れているものを使うと使えてしまうっていうアレがある
残りを読む(85)

コメント

k5342 @k5342 2013-02-28 06:06:42
まとめを更新しました。
翔一(不定期垢)@ヮ<)ノ @nazo_one 2013-02-28 07:02:36
下手すると遠隔操作とかに悪用されるヨカンがする・・・?(考えすぎ?
fushiharaOauth @FushiharaOauth 2013-02-28 07:57:35
hiddenのiframeで表示するのは分かったけど、それをクリックさせる方法なくない?別ドメインのiframeだし。あれ、基本的なクロスドメインの部分でど忘れしてる気がする…。
くろいえのぐ @enogu 2013-02-28 10:36:05
クライアントの場合かなりなんでも許可されていますし、実際めっさヤバいのでは
Aki @nekoruri 2013-02-28 11:30:04
Twitterのauthenticateだと、一度連携を許可してるアプリは確認ダイアログ無しでそのままcallbackにリダイレクトするはずです。
Aki @nekoruri 2013-02-28 11:32:12
あ、クロスドメインだとよくわからないや……。まあ、公式Twitterクライアントとか決め打ちすればiframe使う必要すら無いので、脆弱であることに変わりは無いですが……。
ピコメン @picopicomen 2013-02-28 11:49:02
うむ、わからん。誰か30行くらいでまとめて欲しい
Aki @nekoruri 2013-02-28 11:52:21
あ、よく考えたら既にログイン済みのクッキーなら、サードパーティのIFRAMEにも送信はするんだっけ。中身読まないしリダイレクトするんだから関係無かった。
はぜ@二日目東ソ40b(雑魚寝酒 @HAZE_ba 2013-02-28 12:15:42
これ発想の転換で悪用すれば、DM使うまでもなくネタツイートっぽく拡散した通常のページの見えない所で認証だけどんどん抜いてるってことも可能な恐ろしい脆弱性なのでは… 最初は、特定のツイートをRTするだけのハックに留めておいて、アカウントを集めてからはやりたい放題… まぁ素人考えなので本当にこの発想であってるのかはわからないです。違ったら指摘お願いします…
ぬるぽへ @nullpo_head 2013-02-28 12:29:54
色々考えてみて 「・デスクトップアプリケーションのシークレットキーを解析 ・それをもとに悪意あるページをコールバックURLとした認証ページをiframeで埋め込む ・すでに認証済みなユーザーはコールバックに飛びDMが送られる」 という見解に至ったんですがどうでしょうか
Aki @nekoruri 2013-02-28 12:54:18
とりあえずFirefoxで確認した。IFRAME内でも持ってるCookieは送信するし、「X-Frame-Options: SAMEORIGIN」つけてても、302 Found返されるとLocationにリダイレクトしちゃう。
でき @dekijp 2013-02-28 13:26:04
ブラウザでアクセスしただけで乗っ取られる仕組みか… こえー。一回全部切るか。
でき @dekijp 2013-02-28 13:32:03
と思ったら、togetterも必要なのか。うーん困るなぁ
ネギ @negi__ 2013-02-28 14:58:39
特定のアプリを認証した状態で攻撃サイトを踏むと, そのサイトにアプリの権限をまるっと持って行かれるってこと?
k5342 @k5342 2013-02-28 17:52:30
まとめを更新しました.
たるたる @heporap 2013-03-01 01:33:22
CSRFですね。ログインした状態で攻撃者のページにアクセスすると、攻撃者のページから自動でフォーム送信を行うiframeページを出力、それを表示したブラウザがフォームを送信してしまう物です。フォーム、投稿内容は攻撃者が作れます。
たるたる @heporap 2013-03-01 01:35:15
OAuth認証(Togetterでは『Twitterアカウントを利用してログイン』に相当)を使う場合は、認証先が決定したOAuth経由で操作できる内容(公開されているAPIの種類)に限定されます。
たるたる @heporap 2013-03-01 01:37:29
通常のCSRFは、該当サイトにログインした状態でいなければなりませんが、OAuthを使えば攻撃サイトの方でログイン状態を作り出せます。つまり対策は、「信用できないサイトで認証を許可しない」です。
たるたる @heporap 2013-03-01 01:48:09
ちなみにiframeを使う理由は、ページを読み込んだりフォームを送信している様子を見えにくくするためです。
あるみく @arumic_ 2013-03-01 01:53:43
私の場合、日本語スパムDMが50件ほど送信されてしまいました。 アプリ連携切るまで送り続けましたね
月戌🍟👺🐶😺㌠ @_moondoggie 2013-03-02 07:47:05
「ところで俺のURLを見てくれ、こいつをどう思う?」 「すごく・・・スパムです・・・」
游鯤 @yusparkersp 2013-03-02 08:49:38
震災時に「黒い雨メール」が届かなかった俺様だが、当然ながらスパムも来ない、、、w
言葉使い @tennteke 2013-03-02 23:40:26
某出版社のアカウントから問題のDMが送られてきたのですが、出版社のサイトからメールで教えたところ、「アカウントを削除した」と返事が来ました。その直後はアカウントが見られなくなったのですが、半日くらい経ったら復活していました。
言葉使い @tennteke 2013-03-02 23:47:21
ツイッター社から三回パスワードリセットされたけど、明日もされるのかね。
言葉使い @tennteke 2013-03-02 23:48:14
あと問題の認証ページ、URLがtwitterじゃなかった。tvvitterとかそんな感じ。
ログインして広告を非表示にする
ログインして広告を非表示にする