ブラウザ内の幽霊: ghostsurfを使用したNTLMリレー経由の認証済みセッションハイジャック

Image

ghostsurf

ブラウザセッションハイジャック用のSOCKSプロキシ付きNTLM HTTPリレーツール

NTLM認証をキャプチャし、HTTP/HTTPSターゲットにリレーし、SOCKSプロキシを通じて被害者として閲覧します。これはクッキーリプレイが機能しない場合にも動作します。

機能

  • ブラウザセッションハイジャック: SOCKS5プロキシでリレーされたユーザーとして閲覧できます
  • 自動セッション選択: 単一セッションは自動選択、複数セッションはHTMLピッカーを表示
  • カーネルモード認証回避策: IIS/HTTP.sysターゲット用のプローブファースト戦略
  • マルチユーザーリレー: -rで複数のキャプチャされたユーザーを同じターゲットにリレー
  • スレッドセーフ: ソケットロックを使用した同時ブラウザ接続
  • ヘッダー保持: ターゲットアプリが依存するUser-Agent、クッキー、その他ヘッダーを渡す

攻撃フロー

  1. ghostsurfを起動:

    ./ghostsurf -t https://target.local/ -k -r

  2. ブラウザプロキシを設定(Firefox + FoxyProxyを推奨):

    • FirefoxにFoxyProxyをインストール
    • プロキシを追加: SOCKS5、127.0.0.1、ポート1080
    • 閲覧前にプロキシプロファイルを有効にする

    FirefoxはChromeより推奨されます。Chromeは広範なバックグラウンドテレメトリーとトラッキングリクエストを実行し、プロキシを通じてルーティングされ、失敗したリクエストで出力とログが汚染されます。

    HTTPSターゲットを閲覧する場合、Firefoxはローカルソックス TLS接続の証明書警告を表示します(自己署名証明書、Firefoxの厳密な証明書要件のために修正)。続行するために受け入れてください。これは予想されており、ローカルプロキシにのみ適用され、アップストリームターゲット接続には適用されません。

  3. NTLM認証をトリガー(強制認証、フィッシング、レスポンダーなど)

  4. セッションキャプチャ → プロキシを通じてターゲットを閲覧

  5. 複数セッション? セッションピッカーUIが表示され、1つをクリックするだけです。クッキーはすべての後続リクエストをそのリレーセッションにバインドします。別のセッションに切り替えるには、Firefoxを閉じて再度開き、クッキーをクリアします。

シェルコマンド

ghostsurf> socks      # アクティブなセッションを表示
ghostsurf> targets    # 設定されたターゲットを表示
ghostsurf> exit       # シャットダウン

カーネルモード認証回避策

IIS 7以降のデフォルトであるカーネルモード認証が有効なIISは、NTLM認証をHTTP.sys経由でカーネルレベルでTCP接続にバインドします。リクエストが匿名認証用に設定されたパスに到達した場合(静的CSS、JS、画像、フォント)、HTTP.sysは接続の認証済みコンテキストをリセットします。リレーセッションはエラーなく静かに失敗します。

ghostsurfの-kフラグは、リレーソケットを使用する前にパスを匿名でプローブします:

  1. 新しい匿名接続を開き、NTLMなしで同じリクエストを送信
  2. 401レスポンス → パスは認証が必要 → 認証されたリレーソケットを通じて転送
  3. 200レスポンス → パスは公開 → 匿名レスポンスを直接返す、リレーソケットは触らない
  4. 初期ページ読み込み後のオーバーヘッドが無視できるようにパスごとに結果がキャッシュされます

任意のIISターゲットに-kを使用してください。これには、CyberArk、Passwordstate、Delinea Secret Server、IBM Verify Privilege Vault、Thycotic Secret Server、BeyondTrust Password Safe、OneIdentity Password Manager、SCCM、およびデフォルトのIIS認証設定を保持するその他のソフトウェアが含まれます。確実でない場合は、単に-kを使用してください。オーバーヘッドは最小限で、セッションの静かな失敗を防ぎます。

-kなしでは、すべてのリクエストがリレーソケットを直接通じて実行され、カーネルモード認証を使用しないターゲット(Windows Admin Center、Apache、nginx、非IISスタック、デフォルト設定以下のIIS 6)で動作します。

インストール&使用

翻訳元: https://meterpreter.org/ghostsurf-ntlm-http-relay-socks-proxy-session-hijacking/

ソース: meterpreter.org