보안 동향 ㅣ 사이버 보안 기관, 주요 초기 공격 벡터 공개
침해사고분석팀ㅣ2022.05.18
침해사고분석팀ㅣ2022.05.17
침해사고분석팀ㅣ2022.05.16
침해사고분석팀ㅣ2022.05.16
침해사고분석팀ㅣ2022.05.13
취약점 정보[CVE-2017-3066] Adobe ColdFusion 역직렬화 취약점 | ||||
작성일 | 2018-03-22 | 조회 | 3483 | |
---|---|---|---|---|
해당 취약점은 Adobe Coldfusion 에서 클래스에 대해 화이트리스트 처리 방식을 이용하지 않아 발생한다.
공격 성공 시, 임의의 코드를 실행할 수 있다.
[애플리케이션 설명]
AMF 는 다수의 언어를 지원(ColdFusion, Haxe, Java, PHP, Perl 외 다수) 하며
[그림1. AMF 가 지원하는 언어 목록, 출처 : wikipedia]
[그림2. AMF3 식별자, 출처 : wikipedia]
취약점은 Adobe Coldfusion 에서 클래스에 대해 화이트리스트 처리 방식을 이용하지 않아 모든 클래스를 서버로 보내고 직렬화 해제가 가능하여 발생하게 됩니다.
초기에 공개된 POC의 경우 취약점을 악용하기 위해
역접속을 확인하게 되면 Client 에서 페이로드를 추가로 전송해야 하는 방식이었습니다.
1. Client 쪽에 JRMP Listener 실행(ysoserial을 이용)
1_1). Client 에서 Server 쪽으로 sun.rmi.server.UnicastRef2 을 이용한 공격 2. Server 에서 AMF3 역직렬화 시도 2_1) Server -> Client 쪽으로 역접속 3. Client(JRMP Listener) 에서 Server 쪽으로 추가 페이로드 전달 * ysoserial : 역직렬화 가젯을 가지고 있는 공개된 도구
[그림3. 공개된 POC]
[그림4. 발생 패킷]
취약한 클래스를 찾은 방식은 개체 역직렬화 에서 주로 악용되는 ReadObject() 를 확인 하였습니다.
해당 함수를 이용하는 org.apache.axis2.util.MetaDataEntry 를 찾았고, 해당 클래스를 이용하여 악용하는 POC 를 만들었습니다.
[그림5. ReadObject 함수 확인, 출처 : codewhitesec.blogspot.kr]
공개된 POC 의 경우 공유된 jar 파일을 이용, amf 파일을 생성하여 서버로 전송하면 취약점이 트리거 됩니다.
[그림6. calc.exe 를 실행하는 POC 생성]
[그림7. 발생 패킷]
대응 방안 1. 최신 버전으로 업데이트 [IPS 패턴블럭]
[4152] Adobe Coldfusion BlazeDS Java Object Deserialization RCE [4153] Adobe Coldfusion BlazeDS Java Object Deserialization RCE.A
[UTM]
[805374469] Adobe Coldfusion BlazeDS Java Object Deserialization RCE [805374470] Adobe Coldfusion BlazeDS Java Object Deserialization RCE.A
[APTX]
[3391] Adobe Coldfusion BlazeDS Java Object Deserialization RCE [3392] Adobe Coldfusion BlazeDS Java Object Deserialization RCE.A
https://codewhitesec.blogspot.kr/2018/03/exploiting-adobe-coldfusion.html
|
||||
첨부파일 | 첨부파일이 없습니다. | |||
![]() ![]() ![]() |
||||
태그 | CVE-2017-3066 Adobe ColdFusion BlazeDS AMF3 |