티스토리 뷰
[CVE 취약점] Apache Tomecat RCE 취약점(CVE-2020-9484)
참조
> https://github.com/frohoff/ysoserial
> https://mp.weixin.qq.com/s/OGdHSwqydiDqe-BUkheTGg
> https://www.boho.or.kr/data/secNoticeView.do?bulletin_writing_sequence=35435
> https://github.com/IdealDreamLast/CVE-2020-9484/
개요
Apache Tomcat에서 신규 취약점을 해결한 보안 업데이트 발표
취약한 버전을 사용 중인 서버의 담당자는 제조사의 홈페이지를 참고하여 최신 버전으로 업데이트 권고
※ Apache Tomcat : 오픈소스 기반 웹 어플리케이션 서버
Apache Tomcat에서 특정 조건*이 성립되는 경우, 공격자의 악성 요청 메시지가 역직렬화되어 발생하는 임의코드 실행 취약점(CVE-2020-9484)
* 특정조건
1. 톰캣 서버의 PersistenceManager가 Filestore를 사용하도록 설정된 경우
2. PersistenceManager의 sessionAttributeValueClassNameFilter 항목이 "null"로 설정되거나 공격자가 제공한 객체의 검증이 미흡한 경우
3. 공격자가 톰캣 서버의 컨텐츠와 파일의 이름을 설정할 수 있는 경우
4. 공격자가 FileStore에서 사용되는 저장 위치와 제어할 수 있는 파일의 상대 경로를 알고 있는 경우
※ 4가지 조건이 모두 성립해야 취약점에 영향 받음
영향 받는 제품 버전
Apache Tomcat 10점대 버전 : 10.0.0-M5(최신버전) 미만 버전
Apache Tomcat 9점대 버전 : 9.0.35(최신버전) 미만 버전
Apache Tomcat 8점대 버전 : 8.5.55(최신버전) 미만 버전
Apache Tomcat 7점대 버전 : 7.0.104(최신버전) 미만 버전
세부 사항
사용자가 지정한 접미사(.session)를 사용하여 파일을 업로드를 실행. org.apache.catalina.FileStore의 load 메소드(Session load (String id))를 인수 id 값에 포함 된 디렉토리 지정 문자 "../"를 제외하지 않는 것이 원인이 되어 원격코드가 실행된다.
취약점 분석
서버 환경 구축
Victim : Vmwate_Ubuntu 18.04.3 LTS, Apache-tocat 7.0.61
페이로드 생성
취약한 파일 업로드 기능을 통해 악의적인 직렬화 된 데이터 파일을 디렉토리에 업로드
접미부는 ".session" 이어야 함 (/tmp/test.session)
java -jar ysoserial-master-30099844c6-1jar CommonsCollections2 "touch /tmp/test" > /tmp.test.session |
페이로드 실행 요청
세션 ID에 "../" 포함되어 있는 것이 특징으로 해당 문자열의 탐지가 확인된 경우 의심스러운 파일의 업로드가 있는 지 확인이 필요하다.
Snort
alert tcp any any -> any any (sid:1; gid:1; content:"../"; http_cookie; pcre:"/Cookie\:\s{0,}\JSESSIONID=(\x2E{2,}\x2F){1,}/"; msg:"Apache Tomcat RCE_CVE-2020-9484";) |
'CVE 취약점' 카테고리의 다른 글
[CVE 취약점] Apache Tomcat AJP 원격코드 실행 취약점(CVE-2020-1938) (0) | 2020.11.02 |
---|---|
[CVE 취약점] Apache Tomcat 서비스 거부 취약점(CVE-2020-11996) (0) | 2020.11.02 |
[CVE 취약점] Django 제품 SQL Injection 취약점(CVE-2020-9402) (0) | 2020.11.01 |
[CVE 취약점] MS SMBv3 프로토콜 취약점(CVE-2020-0796) (0) | 2020.11.01 |
[CVE 취약점] Citrix ADC/Gateway 제품 원격코드 실행 취약점(CVE-2019-19781) (0) | 2020.10.31 |
- Total
- Today