
ネットワークピボットツールキット
PivotSuiteは、ポータブルでプラットフォームに依存しない強力なネットワークピボッティングツールキットです。 レッドチーム/ペネトレーションテスターが侵害されたシステムを使用してネットワーク内部を移動するのに役立ちます。 スタンドアロンユーティリティであり、サーバーまたはクライアントとして使用できます。
侵害されたホストがペンテストマシンから直接アクセス可能(フォワード接続)な場合、 PivotSuiteを侵害されたマシン上でサーバーとして実行し、ペンテストマシンから、侵害されたマシンからのみアクセス可能だった異なるサブネットのホストにアクセスできます。
侵害されたホストがファイアウォール/NATの背後にあり、ペンテストマシンから直接アクセスできない場合、PivotSuiteをペンテストマシン上でサーバーとして、侵害されたマシン上でクライアントとして実行し、リバーストンネル(リバース接続)を作成できます。これを使用して、ペンテストマシンから、侵害されたマシンからのみアクセス可能だった異なるサブネットのホストに到達できます。
Gitリポジトリをクローンするか、PyPIパッケージを使用してPivotSuiteの最新バージョンをダウンロードできます。
git clone https://github.com/RedTeamOperations/PivotSuite.git
OR
pip install PivotSuite
PivotSuiteは、Python 2.7.xおよび3.6.xでそのまま動作し、任意のプラットフォームで使用できます。
PivotSuiteスタンドアロン実行ファイルはGithubリリースセクションからダウンロード
https://github.com/RedTeamOperations/PivotSuite/releases
a. Python標準ライブラリのみ必要
b. Python 2.7.x および Python 3.6.x の両方に対応
c. Windows および Linux でテスト済み
$ pivotsuite.py [オプション] サーバーIP サーバーポート
オプション:
--version プログラムのバージョン番号を表示して終了
-h, --help このヘルプメッセージを表示して終了
-S, --server PivotSuiteをサーバーとして実行
-C, --client PivotSuiteをクライアントとして実行
- -server-ip=SERVER_IP
サーバーの待受/接続IPアドレス、デフォルト 0.0.0.0
--server-port=SERVER_PORT
サーバーの待受/接続ポート、デフォルト 7777
PivotSuite サーバーオプション:
-F, --forward-connection
ネットワークトラフィックを転送
--server-option=SP/PF
サーバーをSocksプロキシ(SP)/ポートフォワード(PF)として使用、デフォルト SP
--network-protocol=T/U
ポートフォワーディングのプロトコルを選択 TCP(T)/UDP(U)、デフォルト T
--forward-ip=Remote-Host-IP
ポートフォワーディングのリモートホストIP
--forward-port=Remote-Host-Port
ポートフォワーディングのリモートホストポート
-W, --reverse-connection
ネットワークトラフィックを逆方向に転送
PivotSuite クライアントオプション:
-O SP/PF/NE, --option=SP/PF/NE
クライアントをSocksプロキシ(SP)/ポートフォワーディング(PF)/ネットワーク列挙(NE)として使用、デフォルト SP
-L, --local-forward
ローカルポートフォワーディングを使用
-R, --remote-forward
リモートポートフォワーディングを使用
-P T/U, --protocol=T/U
ポートフォワーディングのプロトコルを選択 TCP(T)/UDP(U)、デフォルト T
--local-ip=LOCAL_IP
ポートフォワーディングのローカルIP
--local-port=LOCAL_PORT
ポートフォワーディングのローカルポート
--remote-ip=REMOTE_IP
ポートフォワーディングのリモートIP
--remote-port=REMOTE_PORT
ポートフォワーディングのリモートポート
NTLMプロキシ認証オプション:
--ntlm-proxy-ip=NTLM_PROXY_IP
NTLMプロキシのIPアドレス
--ntlm-proxy-port=NTLM_PROXY_PORT
NTLMプロキシのポート
--username=USERNAME
NTLMプロキシ認証用のユーザー名
--domain=DOMAIN NTLMプロキシ認証用のドメイン
--password=PASSWORD
NTLMプロキシ認証用のパスワード
--hashes=HASHES パスワードの代わりに認証するハッシュ。形式 - LMHASH:NTHASH
侵害されたホストがペンテストマシンから直接アクセス可能な場合。
次に、要件に応じてPivotSuiteを侵害されたマシン上でサーバーとして実行します。
a. 侵害されたマシン上での動的ポートフォワーディング(Socks5プロキシサーバー):
$ python pivotsuite.py -S -F --server-option SP --server-ip IP --server-port PORT
b. 侵害されたマシン上での単一ポートフォワーディング(TCP/UDPリレー):
$ python pivotsuite.py -S -F --server-option PF --network-protocol T/U --remote-ip IP --remote-port PORT
--server-ip IP (local-ip) --server-port PORT (local-port)
侵害されたホストがファイアウォール/NATの背後にあり、ペンテストマシンから直接アクセスできない場合。
次に、PivotSuiteをペンテストマシン上でサーバーとして、侵害されたマシン上でクライアントとして実行します。
i. ペンテストマシン上でPivotSuiteをサーバーとして実行:
$ python pivotsute.py -S -W
ii. 要件に応じて侵害されたマシン上でPivotSuiteをクライアントとして実行:
a. ペンテストマシン上での動的ポートフォワーディング(Socks5プロキシサーバー):
$ python pivotsuite.py -C -O SP --server-ip IP --server-port PORT
b. ペンテストマシン上でのローカル/リモートポートフォワーディング:
$ python pivotsuite.py -C -O PF - L / -R (local or remote port forwarding) -P T/U --local-ip IP
--local-port PORT --remote-ip IP --remote-port PORT --server-ip IP --server-port PORT
c. 侵害されたマシンのネットワーク列挙:
$ python pivotsuite.py -C -O NE --server-ip IP --server-port PORT
侵害されたホストでのリバース接続に企業プロキシ認証(NTLM)が必要な場合:
$ python pivotsuite.py -C -O SP --ntlm-proxy-ip IP --ntlm-proxy-port PORT --username USERNAME --password PASSWORD
--server-ip IP --server-port PORT
PivotSuiteツールキットに関するフィードバックや提案をいただければ大変感謝いたします。
Email: [email protected]
LinkedIn: https://www.linkedin.com/in/0hack/