Tor 経由の HTTP 通信を Burp Suite でキャプチャーする手順

# はじめに

2018 年 9 月から 2020 年 8 月まで、週 1 ～ 2 件のペースでウェブサイトの脆弱性を IPA に報告していました。

ただ、今は脆弱性の報告が推奨されない立場となりましたので、備忘録としてウェブサイトの挙動を確認する際に利用していた手順を書きとめておこうと思います。

# 環境

 - Windows 10 Version 1909
 - Internet Explorer 11[^1]
 - Burp Suite Community Edition v1.7.36
 - Java SE Runtime Environment 1.8.0_40[^2]
 - Tor Browser 10.0.7

# 構成

Internet Explorer，Burp Suite，Tor Browser を以下のように接続します。
![00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/29814/0ee82d16-98ed-52d8-0c0b-157a256f4611.png)

# 準備

　1. Tor Browser の日本語版をダウンロードし、インストールします。
　　[Download Tor Browser in your language - Tor Project](https://www.torproject.org/download/languages/)

　2. JRE (Java SE Runtime Environment) をダウンロードし、インストールします。
　　[全オペレーティング・システム用の Java のダウンロード - Oracle](https://www.java.com/ja/download/manual.jsp)

　3. Burp Suite Community Edition をダウンロードし、インストールします。
　　[Download Burp Suite Community Edition - PortSwigger](https://portswigger.net/burp/communitydownload)

# 手順

## Tor ネットワークへ接続

　1. Tor Browser を起動します。
　　<img alt="01.png" width="75%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/29814/42a048cd-9595-7211-4aba-5f7fca0c217d.png">

## ローカルプロキシを設定

　1. Burp Suite Community Edition を起動します。
　　<img alt="02.png" width="75%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/29814/0382fa3e-86aa-a5fc-e7af-446ee6cdf43b.png">
　2. 「Target」タブを押下し、「Scope」タブを押下します。
　　<img alt="03.png" width="75%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/29814/36b3c40b-2c5d-4296-dc9e-8f963f919ea9.png">
　3. 「Target Scope」の「include in scope」において、「Add」ボタンを押下します。
　　<img alt="04.png" width="75%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/29814/8e0d52af-67d0-deba-21ac-daa3b6e1c729.png">
　4. 「Add prefix for in-scope URLs」ダイアログにおいて、「Prefix」に「`https://www.ugtop.com/`」[^3]を入力し、「OK」ボタンを押下します。
　　<img alt="05.png" width="70%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/29814/fcbca0e9-a5a3-a00d-9c36-db6b48bad0b7.png">
　5. 「Proxy history logging」ダイアログにおいて、「Yes」ボタンを押下します。
　　<img alt="06.png" width="50%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/29814/5419035a-45fa-4ed7-ebe6-60bb141eb6d6.png">
　6. 「Proxy」タブを押下し、「Intercept」タブを押下します。「Intercept is on」ボタンが押下された状態であることを確認します。
　　<img alt="07.png" width="75%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/29814/98201015-3a36-bacb-99e6-cdc519135f21.png">
　7. 「Proxy」タブを押下し、「HTTP history」タブを押下します。
　　<img alt="08.png" width="75%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/29814/9a3b4931-12fe-5914-2a10-b2e1870d25ed.png">
　8. 「Filter: Hiding CSS, image and general binary content」を押下します。
　　<img alt="09.png" width="75%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/29814/c635741f-b9d6-5d61-3f96-2c1334187655.png">
　9. 「Filter by request type」において、「Show only in-scope items」にチェックします。
　　<img alt="10.png" width="75%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/29814/188f21a3-16e6-587f-1862-b249897d10f6.png">
　10. 「Proxy」タブを押下し、「Options」タブを押下します。「Proxy Listeners」において、「<font color="#ff0000">127.0.0.1:8080</font>」にチェックします。
　　<img alt="11.png" width="75%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/29814/db2a35f3-527c-03f3-0580-59ed15847f5e.png">
　11. 「User options」タブを押下し、「Connections」タブを押下します。
　　<img alt="12.png" width="75%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/29814/62f5ccd6-2b72-589b-9b55-667755e2d984.png">
　12. 「SOCKS Proxy」において、「Use SOCKS proxy」にチェックし、以下の項目を入力します。
> SOCKS proxy host: <font color="#ff0000">127.0.0.1</font>
> SOCKS proxy port: <font color="#ff0000">9150</font>
> Username: （未設定）
> Password: （未設定）
> 「Do DNS lookups over SOCKS proxy」にチェック

　　<img alt="13.png" width="75%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/29814/89df7145-0668-d777-2b3f-89f0ff73e9e6.png">

## ブラウザーのプロキシの設定を有効化

　1. Internet Explorer を起動します。
　　<img alt="14.png" width="75%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/29814/5aa5d3a1-ad6c-2159-7cf5-3730c44de770.png">
　2. メニューにおいて、「ツール」を押下し、「インターネットオプション」を押下します。
　　<img alt="15.png" width="75%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/29814/079cf4fa-2cd2-8d37-6c81-d99bc3b20a3c.png">
　3. 「インターネットオプション」ダイアログにおいて、「接続」タブを押下します。
　　<img alt="16.png" width="60%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/29814/a7d7cbcd-0306-ca4b-bb42-9e6a2b2a855c.png">
　4. 「ローカルエリアネットワーク（LAN）の設定」において、「LAN の設定」ボタンを押下します。
　　<img alt="17.png" width="60%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/29814/a87da637-5181-69a0-6b1f-f1675b86e455.png">
　5. 「ローカルエリアネットワーク（LAN）の設定」ダイアログにおいて、「プロキシサーバー」の「LAN にプロキシサーバーを使用する」のチェックボックスでチェックを入れた状態にし、「詳細設定」ボタンを押下します。
　　<img alt="18.png" width="60%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/29814/4b1f5ddb-3f81-58e5-507c-7a25942523ce.png">
　6. 「プロキシの設定」ダイアログにおいて、以下の項目を入力し、「OK」ボタンを押下します。
> HTTP: localhost:8080
> Secure: localhost:8080
> FTP: localhost:8080
> Socks: <font color="#ff0000">localhost</font>:<font color="#ff0000">8080</font>

　　<img alt="19.png" width="60%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/29814/8eeee1e2-425b-cbdb-b821-8b66b992d212.png">
　8. 「ローカルエリアネットワーク（LAN）の設定」ダイアログにおいて、「OK」ボタンを押下します。
　　<img alt="20.png" width="60%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/29814/6ac544a3-31ee-45b3-0739-f5136059f9e6.png">
　9. 「インターネットオプション」ダイアログにおいて、「OK」ボタンを押下します。
　　<img alt="21.png" width="60%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/29814/4612de2a-1686-aef7-04eb-86b0d288c36d.png">

## 送信元を確認（Tor ネットワークを経由する場合）

　1. Internet Explorer のアドレスバーに「`https://www.ugtop.com/spill.shtml`」を入力し、Enter キーを押下します。
　　<img alt="22.png" width="75%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/29814/a32bf134-914b-55a0-0f0a-2029bdc66c64.png">
　2. 「Proxy」タブを押下し、「HTTP history」タブを押下します。Burp Suite において、リクエストをキャプチャーできていることを確認します。
　　<img alt="23.png" width="75%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/29814/e7547429-df24-1891-c156-f091bd54d281.png">
　3. 「Proxy」タブを押下し、「Intercept」タブを押下します。「Forward」ボタンを押下し、リクエストを送信します。
　　<img alt="24.png" width="75%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/29814/3b4cd45b-ddbe-7084-7cb9-2c2a82ab4195.png">
　4. Internet Explorer において、「確認くん」のウェブページが表示され、「あなたの IP アドレス」の値を確認します。
　　<img alt="25.png" width="75%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/29814/60825420-30d1-fa33-28a6-01ebb4cc9f5e.png">

## Tor ネットワークを経由していることを確認

　1. Internet Explorer のアドレスバーに「`https://check.torproject.org/exit-addresses`」を入力し、Enter キーを押下します。Tor の Exit ノードのリストにおいて、「確認くん」のウェブページで表示された IP アドレスが存在するか確認します。
　　<img alt="26.png" width="75%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/29814/a848a415-06e0-a001-c984-780ac8d3cd53.png">

## ブラウザーのプロキシの設定を無効化

　1. メニューにおいて、「ツール」を押下し、「インターネットオプション」を押下します。
　　<img alt="27.png" width="75%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/29814/079cf4fa-2cd2-8d37-6c81-d99bc3b20a3c.png">
　2. 「インターネットオプション」ダイアログにおいて、「接続」タブを押下します。
　　<img alt="28.png" width="60%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/29814/a7d7cbcd-0306-ca4b-bb42-9e6a2b2a855c.png">
　3. 「ローカルエリアネットワーク（LAN）の設定」において、「LAN の設定」ボタンを押下します。
　　<img alt="29.png" width="60%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/29814/a87da637-5181-69a0-6b1f-f1675b86e455.png">
　4. 「ローカルエリアネットワーク（LAN）の設定」ダイアログにおいて、「プロキシサーバー」の「LAN にプロキシサーバーを使用する」のチェックボックスでチェックを外した状態にし、「OK」ボタンを押下します。
　　<img alt="30.png" width="60%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/29814/34e9afbf-27a9-fccf-23ee-1a826d999768.png">
　5. 「インターネットオプション」ダイアログにおいて、「OK」ボタンを押下します。
　　<img alt="31.png" width="60%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/29814/4612de2a-1686-aef7-04eb-86b0d288c36d.png">

## 送信元を確認（Tor ネットワークを経由しない場合）

　1. Internet Explorer のアドレスバーに「`https://www.ugtop.com/spill.shtml`」を入力し、Enter キーを押下します。Internet Explorer において、「確認くん」のウェブページが表示され、「あなたの IP アドレス」および「ゲートウェイの名前」の値が自分の契約しているプロバイダーであることを確認します。
　　<img alt="32.png" width="75%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/29814/b08a9719-8607-1071-2a02-f86e1f33613c.png">

# おわりに

Tor ネットワークを経由して送信元を特定しにくくしながら、Burp Suite を利用する手順について説明しました。

# 参考

- [How to intercept TOR hidden service requests with Burp](https://medium.com/@pentest_it/how-to-intercept-tor-hidden-service-requests-with-burp-proxy-6214035963a0)
- [「ダークウェブの教科書」](http://www.data-house.info/book/12414.html)（Cheena，データハウス）

[^1]: 業務で利用していたため、基本的に Internet Explorer で証跡を取得していました。
[^2]: 1.7 系の Burp Suite を使用していたため、Java も 8u40 から更新しないようにしていました。
[^3]: 送信元の確認には「確認くん」を利用していました。