Slide 1

Slide 1 text

urlscan.io 超入門 しなもん (@am7cinnamon) Powerful Web Scanner Free ▶Let’s Try ★Tutorial

Slide 2

Slide 2 text

Agenda ・urlscan.io とは ・トップページ ・スキャンしてみよう ・Search してみよう ・ユーザ登録のメリット ・urlscan.io の弱点 ・あわせて使いたいサービス ・スキャンする際の注意点 ・まとめ

Slide 3

Slide 3 text

urlscan.io とは

Slide 4

Slide 4 text

urlscan.io とは ・web ページをスキャンして分析できるオンラインサービス ・URL を送信すると、代わりにその web ページにアクセスして、 得られた様々な情報を教えてくれる ・危険なサイトでも安全に調査できる ・ドメインや IP アドレスを調べることも可能 ・無料で利用できる※1 ・商用利用もできる※2 ・運営しているのはドイツの会社 ・URL: https://urlscan.io/ ※2 大量のクエリ実行、多数のスキャン実行、商用サービスへの統合については問い合わせが必要 ※1 有料版もあるが高額なので本スライドでは扱わない。筆者も使ったことがない

Slide 5

Slide 5 text

トップページ

Slide 6

Slide 6 text

トップページ

Slide 7

Slide 7 text

トップページ – 解説① 標準の web スキャン ドメイン、IP アドレス、ハッシュ値などで検索 ここに URL を入力 スキャン実行 (Visibility によって色が変わる) スキャンオプション (次頁で解説)

Slide 8

Slide 8 text

トップページ – 解説② ”Options” を押したところ ・Visibility 3種類から選べる - Public 送信したURL やスキャン結果が トップページや他人の検索結果に 表示される - Unlisted スキャン情報はページに表示 されないが、セキュリティ会社 や研究者に提供される - Private スキャン情報は基本的に他者から 見えず、一定時間後削除される スキャンするページの性質 (機微な 情報の有無など) で使い分けよう

Slide 9

Slide 9 text

トップページ – 解説③ ”Options” を押したところ ・User Agent ユーザーエージェントを 選択できる アクセス元の端末やブラウザに よって挙動の変わる web ページ を調べるのに使える 下図のようなリストから選ぶので 丸暗記する必要はないが、自分で 一から設定することも可能

Slide 10

Slide 10 text

トップページ – 解説④ ”Options” を押したところ ・HTTP referer リファラ (遷移元ページのURL) を選択できる 特定のページからの遷移以外では 正体を見せない web ページも 存在するので、それを調べるのに 使える……と思われる (その特定のページがわかれば)

Slide 11

Slide 11 text

トップページ – 解説④ ・Recent scans 最近スキャンされた URL ここに表示してほしくない場合は Private か Unlisted で スキャンしよう 下部には現在の状態と過去 24時間 のスキャン数が出ている

Slide 12

Slide 12 text

スキャンしてみよう

Slide 13

Slide 13 text

スキャンしてみよう スキャンは簡単で、検索窓に 調べたい web ページの URL を 入力して ”○○ Scan“ ボタンを 押すだけ 今回は https://am7cinnamon.hatenablog.com/ をスキャン 特に機微な情報などはなく、 スキャンしていることが他人に 見えてもまったく問題ないので、 今回は Public Scan

Slide 14

Slide 14 text

スキャンしてみよう スキャンには少し時間がかかる

Slide 15

Slide 15 text

スキャンしてみよう – Summary① これがスキャン結果の “Summary” (概要) の画面 とにかく大量の情報が出てくる& リンクをたどってさらなる調査が できるのが urlscan.io のメリット この色の文字をクリックすると 詳細情報が出てきたり、Search 画面へ飛べたりする

Slide 16

Slide 16 text

スキャンしてみよう – Summary② ・共通の情報 ドメイン、IP アドレス、URL 入力した URL と実際に行き着いた URL が違う場合は、後者が “Effective URL” として併記される (左図にはない) urlscan.io が判定した悪意のある サイト (主にフィッシングサイト) の場合はここに “Malicios Activity!” の表示が出る (左下図)。 本当は危険なサイトなのに何も出ない こともあるので過信は禁物

Slide 17

Slide 17 text

スキャンしてみよう – Summary② ・Lookup VirusTotal、SecurityTrails、 Domaintools といった外部 サービスで検索し、さらに 詳しく調査できる ・Go To その URL に実際にアクセス する。怪しいサイトの場合は やめておいた方が無難 ・Report 削除依頼。まず使わない ・Rescan もう一度スキャンする リンク先の例

Slide 18

Slide 18 text

スキャンしてみよう – Summary③ ・Summary この色の文字はリンクになっていて クリックするだけでドメインや IP アドレスなどについてさらなる 調査ができる リンク先

Slide 19

Slide 19 text

スキャンしてみよう – Summary④ ・urlscan.io Verdict urlscan.io が判定した悪意のある サイト (主にフィッシングサイト) の場合は赤い表示が出る (左下図) 初回のスキャンでも判定できる場合 があるのが凄いところ 本当は危険なサイトなのに何も出ない こともあるので過信は禁物 Google Safe Browsing の判定も 見られる 「このドメインをスキャンするのは初めて」 「悪意がある」 「ターゲットにしている (詐称している) ブランドは楽天」

Slide 20

Slide 20 text

スキャンしてみよう – Summary⑤ ・Screenshot web ページの外観が見られる これだけでどんなサイトか察しが つく場合もあるので意外と重要 画像クリックで拡大 “Full Image” で全画面表示 “Live Screenshot” でスキャンした 時点と現在のスクリーンショットを 比較できる

Slide 21

Slide 21 text

スキャンしてみよう – Summary⑥ ・Domain & IP information ドメインや IP アドレス、証明書に 関する様々な情報が見られる もちろん、この色の文字はリンクに なっているので気になったらすぐ 調べられる IP/ASNs IP Detail (Sub)Domains Domain Tree Links Certificates

Slide 22

Slide 22 text

スキャンしてみよう – Summary⑥ ・Detected technologies そのページに関連する技術が出てくる サーバソフト、DBMS、ライブラリ、 CMS、CDN、アクセス解析…… ・Stats HTTPS リクエストの数やレスポンス サイズなどの概要

Slide 23

Slide 23 text

スキャンしてみよう –HTTP① “HTTP” ボタンをクリックしたところ そのページを表示する際に発生した HTTP トランザクション (リクエスト &レスポンス) が一覧で見られる 右上の”Everything/HTML/…” を クリックすると、特定の種類の コンテンツだけ表示できる

Slide 24

Slide 24 text

スキャンしてみよう –HTTP② 各列右側の虫めがねのボタンを クリックすると展開されて詳しい 情報が出てくる

Slide 25

Slide 25 text

スキャンしてみよう –HTTP③ この状態で “Show headers” を 押すと、HTTP リクエストヘッダ& レスポンスヘッダが見られる “Download” でコンテンツをダウン ロードしたり “Go To” で実際に アクセスすることもできる

Slide 26

Slide 26 text

スキャンしてみよう –HTTP③ “Check archive.org” を押すと、 インターネットアーカイブの “Wayback Machine”※ における その URL の保存履歴を見ることが できる ここから、過去の特定時期における そのページの状態を確認することも できる ※ https://web.archive.org/

Slide 27

Slide 27 text

スキャンしてみよう –Link “Link” ボタンをクリックしたところ 異なるオリジン※へのリンクの 一覧が見られる ※ オリジン:URL の「スキーム」「ホスト」「ポート」の組み合わせ

Slide 28

Slide 28 text

スキャンしてみよう –Behaviour “Behaviour” ボタンをクリック したところ ・JavaScript Global Variables ・Cookies ・Console Messages ・Security Headers が見られる スクロールすると Cookies などが見られる

Slide 29

Slide 29 text

スキャンしてみよう –Similar “Similar” ボタンをクリック したところ 同様の構造を持つのに、ホストされて いるインフラが異なるサイト (同一の キットで作成されたフィッシング サイトなど) の一覧が見られる 実験的な機能なので、うまくいくかも しれないし結果が無意味かもしれない とのこと

Slide 30

Slide 30 text

スキャンしてみよう –その他の機能 そのほか、 ・Indicators ・DOM ・Content などの画面がある

Slide 31

Slide 31 text

スキャンしてみよう –URL スキャン結果のページは一意の URL を持つので、これをコピー& ペーストすることでスキャン結果を 他の人と共有できる Twitter 投稿に貼り付けることもできる

Slide 32

Slide 32 text

Search してみよう

Slide 33

Slide 33 text

Search してみよう web スキャンと並ぶ urlscan.io の 重要な機能が “Search” ・ドメイン名 ・IP アドレス ・ファイル名 ・ハッシュ値 (SHA-256) ・AS 番号 で検索して、当てはまるスキャン結果 を一覧表示できる “URL:”に続くこの色の文字を クリックするとスキャン結果に飛ぶ

Slide 34

Slide 34 text

Search してみよう ここでは例として、ドメイン amazoncssu[.]xyz※ を Search する 検索窓の “*” を消して、ドメインを 入力し、”Search” ボタンを押す なお、これは本当に存在した フィッシングサイトのドメインなので 直接アクセスするのは危険 (本資料作成時点で現存しないが) ※ [] は間違ってアクセスしてしまうのを防ぐために挿入しているもので、実際の Search 画面では入力しない

Slide 35

Slide 35 text

Search してみよう –検索結果 検索結果が出てきた 約 2ヶ月前※に 14回スキャン されていることがわかる ひとまず上から見ていこう 1列目の “www.amazoncssu[.]xyz” をクリック ※ 本資料作成時から見て

Slide 36

Slide 36 text

Search してみよう –過去のスキャン結果① このスキャンを実施した時点で、 ドメインは存在したものの この URL (パス) そのものには何も なかったようだ “HTTP” 画面を見ると、 “404 Not Found” が返ってきている ことがわかる 検索結果に戻って、2列目の “www.amazoncssu[.]xyz/pc/” で再挑戦!

Slide 37

Slide 37 text

Search してみよう –過去のスキャン結果② 今度は Amazon のログイン画面 に似た画面が出てきた このスキャンが実施された 2020/10/5 の時点で、 Amazon をかたるフィッシング サイトがあったことがわかる urlscan.io も ・悪意があるサイトである ・Amazon を詐称している と判定できている

Slide 38

Slide 38 text

Search してみよう –さらなる調査① ここで IP アドレス “198.211.10[.]20” を クリックすると…… どちらをクリックしても結果は同じ

Slide 39

Slide 39 text

Search してみよう –さらなる調査② IP アドレスの詳細ページが出てくる 一見してわかることは、 ・Amazon っぽいドメイン名だらけ ・スクリーンショットが全部 Amazon のログイン画面 このように、1つの IP アドレスに 複数のフィッシングサイトが紐付いて いることはよくある 今回は Amazon 詐称しかなかったが 複数のブランドを詐称するサイト が紐付いている場合もある

Slide 40

Slide 40 text

Search してみよう –さらなる調査③ ”HTTP” 画面を見ると、HTML や CSS、JS など、全部で 9つの HTTP トランザクションがあった ことがわかる

Slide 41

Slide 41 text

Search してみよう –さらなる調査④ ここで 1列目の HTML について、 右端の虫めがねボタンで展開後、 表示されるハッシュ値を クリックすると……

Slide 42

Slide 42 text

Search してみよう –さらなる調査⑤ 大量の偽 Amazon っぽいサイトの スキャン結果がヒット! 同じ HTML を返すということは、 同じフィッシングキットを使っている など、何らかの関係があるのかも? ※ HTML ファイルではなく、画像や JS ファイルで試しても多数の偽 Amazon が出てくる

Slide 43

Slide 43 text

Search してみよう –さらなる調査⑥ もちろん検索結果の URL 部分は リンクになっているので、 クリックすればスキャン結果が 見られる このように、複雑なコマンドなど 必要とせず ・検索窓に値を入力する ・リンクをクリックする だけで直感的かつ簡単に調査ができる のが urlscan.io の大きな魅力

Slide 44

Slide 44 text

Search してみよう –さらなる調査⑦ “Similar” 画面を見ると、同様の 構造を持つフィッシングサイトを 多数見つけられる 今回紹介した限りでも ・IP アドレス ・ファイルのハッシュ値 ・同じ構造のサイト と 3種類のアプローチで関連する フィッシングサイトを調査できる ことになる

Slide 45

Slide 45 text

ユーザ登録の メリット

Slide 46

Slide 46 text

ユーザ登録のメリット urlscan.io はそのままでも使える が、ユーザ登録するともっと 便利になる 登録にはメールアドレスが必要だが、 フリーメールアドレスで大丈夫 最近のスキャン履歴 (Private Scan 含む) を見たり、多数の URL を一括 送信したりできる マイページ

Slide 47

Slide 47 text

ユーザ登録のメリット 登録後、コメントを付して申請すると API key が入手でき、他のサービス から urlscan.io を呼び出して 使えるようになる※1 筆者は Firefox アドオン※2 “Mitaka” (https://github.com/ninoseki/mitaka) で使用している urlscan.io に限らず様々な検索 サービスを右クリックメニューから 呼び出せるので、URL・ドメイン・ IP アドレスなどの調査に非常に 便利 ここに API key が表示される ※2 Chrome でもエクステンションとして利用可能 ※1 回数制限があるが、無料プランでも Public Scan で 5,000/day、Private Scan で 50/day 使えるのでそれほど困らない

Slide 48

Slide 48 text

urlscan.io の 弱点

Slide 49

Slide 49 text

urlscan.io の弱点① 非常に便利な urlscan.io だが、 万能ではない 弱点①:スキャンに時間がかかる スキャンには数秒~十数秒程度の 時間がかかる イライラすることもあるが、 その分豊富な情報を持ってきてくれる ので大目に見よう

Slide 50

Slide 50 text

urlscan.io の弱点② 弱点②:スキャンしたかったのとは 違うサイトをスキャンしてる ことがある 悪性と思われるサイトを見たいのに、 飛ばされた正規のサイトをスキャン している場合など 左の例は、楽天をかたるフィッシング サイトを調べたいのに、なぜか リダイレクトされた正規の楽天の ページをスキャンしてしまっている (この例では、直接アクセスすると リダイレクトされず、フィッシング サイトにつながった) これを調べたかったのに 正規の rakuten.co.jp に飛ばされてしまった

Slide 51

Slide 51 text

urlscan.io の弱点② 別の例 偽のタイヤ通販サイトなのだが、 urlscan.io では Yahoo に リダイレクトされて正体がわからない 一方、別の代理アクセスサービス aguse GATEWAYではちゃんと 偽通販サイトが表示されている これは偽サイトが日本以外からの アクセスは Yahoo に飛ばすように しているため (aguse の運営は日本の企業) 海外のサービスなので、日本狙いの サイトにはやや弱い urlscan.io aguse GATEWAY ※ 参考 「大量出現したニセ通販サイトを探る」 https://am7cinnamon.hatenablog.com/entry/research-on-fake-ecommerce-sites

Slide 52

Slide 52 text

あわせて使いたい サービス

Slide 53

Slide 53 text

あわせて使いたいサービス aguse https://www.aguse.jp/ 日本のアグスネット株式会社が 運営している web スキャナ urlscan.io 同様、使い方は単に 検索窓に URL を入力してボタンを 押すだけ urlscan.io とは得られる情報が違う ので併用推奨 日本ターゲットのサイトにも強い (urlscan.io と比べて) 一方、urlscan.io が得意とする IP アドレスやドメインなどの 調査は苦手 urlscan.io をスキャンしたところ

Slide 54

Slide 54 text

あわせて使いたいサービス aguse GATEWAY https://gw.aguse.jp/ aguse のサービスの 1つ 代理アクセスし、結果を画像として 表示する 単なるスクリーンショットではなく リンクを叩いて遷移先の画面を表示 することもできる※ urlscan.io に GW 越しにアクセスしたところ ※ リンクは aguse 側で審査して問題がないものだけ画像に重ねてるということなので、危険なリンクは操作できないかもしれない

Slide 55

Slide 55 text

スキャンする際の 注意点

Slide 56

Slide 56 text

スキャンする際の注意点 スキャンする前に、URL に 個人情報などが含まれていないか 必ず確認すること Public Scan では、送信した URL や スキャン結果を他人に見られてしまう 特にフィッシングメールなどに 記載された URL の場合、メール アドレスや ID などの情報を含んで いることがよくあるので、そのまま スキャンするとメールアドレスなど が他人に丸見えになってしまう Public Scan では送信した URL は一覧に表示されてしまう

Slide 57

Slide 57 text

スキャンする際の注意点 Private Scan でも、サイトの運営者 (≒攻撃者、犯罪者) には誰が調べてる のかわかってしまう つまり、「このアドレスは生きてる」 ということがばれてしまう 一概にはいえないが、 ・URL 中にメールアドレスや ID が 入っている ・”?” ”id=” などに続いて謎の文字列 が指定されている などの場合は、それらを削るか でっち上げのアドレス・文字列に 書き換えてスキャンすること たとえ Private Scan でも、こういう URL はそのままじゃダメ ※ 参考 「こういう時はaguse/aguse Gatewayでもアクセスしちゃいけない」 https://shigeo-t.hatenablog.com/entry/2014/11/22/094900

Slide 58

Slide 58 text

まとめ

Slide 59

Slide 59 text

まとめ ・urlscan.io は誰でも使える・直感的に使える web スキャナ ・URL・ドメイン・IP アドレス・ハッシュ値など多様な調べ方ができる ・豊富な情報量と再検索が容易な UI が魅力 ・様々な立場のユーザに対応 - 悪性サイトを調査・追跡するセキュリティアナリスト - サイトの挙動や構成が気になる web プログラマー、デザイナー - 不審なリンク付きのメールを受け取った一般の人 - etc. ・きっとあなたにも使い道があるはず!