コンテンツにスキップ

HTTP プロキシの構成

ターゲットがプロキシの背後にある場合、またはテスト時に Mayhem が API に到達するためにプロキシが必要な場合、 mapi CLI にプロキシ情報を指定できます。 共通プロキシ環境変数のサポートは以下のとおりです。

環境変数 説明
HTTP_PROXY HTTP 接続の開始に使用されるアドレス
HTTPS_PROXY HTTPS 接続の開始に使用されるアドレス
NO_PROXY プロキシから除外するネットワーク アドレス/範囲およびドメイン

ℹ️ Windows コマンド プロンプト (CMD) で mapi を実行する場合、 環境変数宣言を引用符 ("...") で囲まないことが重要です。

❌ BAD

C:\work> SET HTTPS_PROXY="my.outbound.proxy:8888"
C:\work> mapi status

✅ GOOD

C:\work> SET HTTPS_PROXY=my.outbound.proxy:8888
C:\work> mapi status

サンプル

ファザーと API 間のすべての通信をキャプチャしたいとします。 Mayhem と API の間に Charles Proxy (デフォルトでは localhost:8888 で待機します) のようなプロキシを配置し、 すべてのトラフィックをインターセプトして記録することができます。

HTTP_PROXY=http://localhost:8888 mapi run <target> ...

ターゲットが https である場合、HTTPS_PROXY 変数を使用できます。

HTTPS_PROXY=https://localhost:8888 mapi run <target> ...

プロキシ サーバーがユーザー名とパスワードによる認証を要求する場合、 認証情報を含める必要があります。

https_proxy=http://username:password@localhost:8888 mapi run <target> ...

SOCKS5 プロキシ サーバーの場合、URL で socks5 プロトコルを指定する 必要があります。

https_proxy=socks5://socksproxy.example.com

https トラフィックをプロキシすると、テスト時に CLI が API と通信しようとしたとき、 証明書エラーが発生する場合があります。 これを解決するには、 NO_PROXY 変数を使用して、特定のアドレスがプロキシに 送信されないようにします。例:

HTTPS_PROXY=https://localhost:8888 \
 NO_PROXY=app.mayhem.security \
 mapi run <target> ...