Burp SuiteでBasic認証・NTLM認証に対応して403を回避する方法
Burp SuiteでWebアプリケーションの通信をキャプチャしようとしたとき、
**「Basic認証」や「NTLM認証(Windows認証)」**が使われていると、
そのままではリクエストが拒否され、403 Forbidden が返されることがあります。
これはBurpが、**Platform Authentication(プラットフォーム認証)**と呼ばれる
OS連携型の認証に対して、自動で対応できないためです。
本記事では、Burp Suiteでそれらの認証に手動で対応する方法と、
認証が通らない場合の代替手段について解説します。
🔍 はじめに:この記事の目的
- Burpで403が返ってしまう原因を突き止めたい
- Windows認証(NTLM)やBasic認証が通らず困っている
- Platform Authenticationの対応方法を知りたい
こうしたケースに該当する方へ向けた、Burp Suite Professional/Enterpriseでの
認証突破とスキャンの成功率を上げるための実践ガイドです。
❓ Platform Authenticationとは?
Platform Authenticationとは、以下のようなOSレベルで連携される認証方式の総称です:
- Basic認証(ユーザー名とパスワードを直接送信)
- NTLM認証(Windows統合認証)
- Kerberos認証(SSO対応、AD環境など)
- Negotiate(NTLM/Kerberosを自動選択)
これらは、ブラウザやOSのユーザー情報に依存して処理されるため、
Burpのようなプロキシが**そのまま中継しても弾かれる(403エラーになる)**ことがあります。
⚠ よくある警告メッセージ
Burp Suiteで対象ページをスキャンやキャプチャしようとすると、以下のような警告が出ることがあります:
⚠️ This recording will not work in Burp, as the application uses platform authentication.
これは、「プラットフォーム認証」が使われているために、
Burpが自動では認証を処理できず、手動設定が必要ということを意味しています。
✅ Burp SuiteでのPlatform Authentication対応方法
📦 Burp Suite Professionalの場合
- メニューから
Settings
を開く - 左ペインから
Connections > Platform authentication
を選択 -
+ Add
をクリックし、以下の情報を入力:
項目 | 入力内容例 |
---|---|
Destination host | 対象のホスト名(例: example.com ) |
Authentication type |
Basic , NTLM , Negotiate など、使用している認証方式に応じて |
Username |
user01 または DOMAIN\user01 (NTLM使用時) |
Password | 上記ユーザーのパスワード |
Domain | Windowsドメイン名(NTLMやNegotiateの場合) |
Domain hostname | 認証サーバのホスト名(必要に応じて) |
🏢 Burp Suite Enterprise Editionの場合
- スキャン対象のサイト設定を開く
-
Scan settings > Authentication > Platform authentication
を選択 - 上記と同様に認証情報を入力するだけで対応可能です
⚠ 認証設定の注意点とハマりやすいポイント
- この機能は Community Editionでは使用できません
- KerberosやSSOを含む認証では、Burp単体での突破が難しいケースがあります
- 認証に失敗すると以下のようなレスポンスが返ります:
-
401 Unauthorized
(認証失敗) -
403 Forbidden
(認証なしでアクセス)
-
- ドメイン名・ホスト名の入力ミスが頻出するため、正確に指定すること
💡 認証突破できない場合の代替案
🔄 1. ブラウザ経由でBurpにセッションを流す
- FirefoxやChromeにBurpのCA証明書をインポート
- Google認証やSSOをブラウザで実行 → Burpがセッション情報をキャプチャ
- Session Handling RulesでCookieを引き継いで使える
🔁 2. 他ツール(mitmproxy/Fiddler)との併用
- NTLMやKerberosに強いプロキシツール(例:mitmproxy)を使ってBurpの前段に挟む
- 認証済のリクエストをBurp側にパススルーさせる構成もあり
📝 まとめ
方法 | 必要条件 | 主な対象認証方式 |
---|---|---|
Burp ProfessionalのPlatform設定 | Burp Suite Professional | Basic, NTLM, Negotiate |
Burp Enterpriseの認証設定 | Burp Enterprise Edition | Basic, NTLM, Kerberos |
ブラウザ経由+セッション共有 | ブラウザ認証が可能な環境 | Kerberos, SSO |
mitmproxy/Fiddlerと併用 | プロキシ構成に柔軟性がある | NTLM, Kerberos, Negotiate |