Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
log4j — # Log4Shell(CVE-2021-44228)에 대한 선별된 OSINT 모음집으로, 탐지 방법, 공격 표면, 완화 단계, 그리고 사고 대응을 위한 침해 지표를 다룹니다. | Kitploit
도구/GitHubGitHub/dariusiakabos/log4j
Vulnerability AnalysisThreat IntelligenceLearning & EducationIncident ResponseCurated Resources
GitHubdariusiakabos/log4j

log4j

# Log4Shell(CVE-2021-44228)에 대한 선별된 OSINT 모음집으로, 탐지 방법, 공격 표면, 완화 단계, 그리고 사고 대응을 위한 침해 지표를 다룹니다.

저장소 보기
6114년 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Log4J 제로데이

log4j OSINT 발견 사항 모음: 탐지, 공격 표면, 완화 조치, IoC 포함.

I. 개요

요약

  • 이 취약점은 로그 메시지나 로그 메시지 매개변수에 텍스트를 주입할 수 있는 모든 공격자가 서버 로그를 통해 원격 서버에서 코드를 로드할 수 있게 합니다. 대상 서버는 Java Naming and Directory Interface(JNDI) 호출을 통해 해당 코드를 실행합니다.

  • JNDI는 여러 네트워크 서비스와 인터페이스합니다:

    1. Lightweight Directory Access Protocol(LDAP) - 기본 포트 389
    2. Secure LDAP(LDAPS) - 기본 포트 636
    3. Domain Name Service - 기본 포트 53
    4. Java의 Remote Interface(RMI) - 기본 포트 1099
    5. Common Object Request Broker(CORBA)
  • 2021년 12월 13일 기준, 지금까지의 공격은 주로 암호화폐 채굴기와 자동화된 봇넷(Mirai, Tsunami, Kinsing)이었습니다.

  • 가장 좋은 해결책은 패치된 버전으로 업그레이드하는 것이지만, log4j가 구성 요소로 배포된 위치를 찾고/또는 공급업체의 패치를 기다리는 것이 과제입니다.

  • 단기적 조치:

    • 양호: 아웃바운드 LDAP 및 RMI 포트 차단
    • 더 나음: 아웃바운드 LDAP 및 RMI 프로토콜 차단(포트와 무관)
    • 최선: 모든 아웃바운드 트래픽 차단
  • 장기적 조치:

    • Log4J 인스턴스를 식별하고 업데이트하거나 Log4J 설정 변경(Log4J 경로 설정 루트의 XML 또는 YAML 구성 파일을 통하거나 프로그래밍 방식으로)을 통해 문제를 완화합니다. Log4J가 내장된 제품에서는 코드 변경이 필요할 수 있습니다.

영향을 받는 버전:

  • Apache Log4j v2.0 -> v2.14.1
  • Apache Struts 프레임워크를 사용하는 모든 사용자는 취약할 가능성이 높습니다.

주요 리소스:

Swiss CERT Log4J 지침

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

이 내용을 다루는 주요 블로그:

https://www.lunasec.io/docs/blog/log4j-zero-day/

log4j 관련 정보 모음(영향을 받는 제품 포함)

https://www.techsolvency.com/story-so-far/cve-2021-44228-log4j-log4shell/ - @TychoTithonus(Royce Williams) 작성.

공격 표면

익스플로잇 예시 모음. https://github.com/YfryTchsGD/Log4jAttackSurface

II. 탐지

Florian Roth의 리소스(댓글 섹션에도 유용한 정보 포함) https://gist.github.com/Neo23x0/e4c8b03ff8cdf1fa63b7d15db6e3860b

Florian Roth의 Log4Shell 탐지기 V0.5

https://github.com/Neo23x0/log4shell-detector

Elastic(Lucene)용 정규식 쿼리

/.({|%7B)[Jj][Nn][Dd][Ii]./

취약한 log4j 버전의 해시

https://github.com/mubix/CVE-2021-44228-Log4Shell-Hashes

log4shell 취약점 테스트 앱

a) Canarytokens

자동:

https://twitter.com/ThinkstCanary/status/1469439743905697797 https://canarytokens.org 의 클릭 앤 클릭 canarytoken을 사용하여 #log4j / #Log4Shell 문제를 테스트할 수 있습니다.

  1. https://canarytokens.org 방문;
  2. Log4shell 토큰 선택;
  3. 알림을 받을 이메일 주소 입력;
  4. 반환된 문자열을 복사/사용...

수동

  1. DNS 토큰 생성 https://canarytokens.org/generate#
  2. 해당 토큰을 다음으로 감싸기 접두사: ${jndi:ldap:// 접미사: /a}
  3. 앱의 검색 양식, 프로필 데이터, 설정 등에서 해당 값 사용
  4. 반응이 트리거되면 알림 수신

b) Huntress Log4Shell 취약점 테스터

자세한 내용은 해당 페이지 참조 https://log4shell.huntress.com/

취약한 코드 경로를 검색하기 위한 Java 소스 코드용 semgrep 규칙 일부.

https://github.com/returntocorp/semgrep-rules/pull/1650/commits/ecfc32623eec718d61ec83b9196574f333191008

Snort 및 Suricata 탐지

https://twitter.com/ET_Labs/status/1469339963871354884

netcat을 이용한 대체 탐지 방법

"영향 여부를 탐지하는 방법: 앱과 병렬로 netcat 실행: "nc -lp 1234", 그런 다음 앱에서 로그가 기록되는 곳(예: 검색의 쿼리 문자열)에 다음을 입력: "${jndi:ldap://127.0.0.1:1234/abc}" netcat 콘솔에 쓰레기/이모지가 보이면 취약한 것입니다!"

III. 완화 조치:

1. 영구적 완화 조치(패치)

  • log4j 버전을 log4j-2.15.0-rc1로 업그레이드
  • URL: https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-core/2.15.0/
  • 릴리스 노트: https://logging.apache.org/log4j/2.x/changes-report.html#a2.15.0
  • 공지: https://logging.apache.org/log4j/2.x/security.html

2. 임시/부분 완화 조치

a) 부분 완화:

  • 사용자는 애플리케이션 시작을 위한 JVM 명령에 "‐Dlog4j2.formatMsgNoLookups=True"를 추가하여 log4j2.formatMsgNoLookups를 true로 전환해야 합니다.
  • 명령줄에서 lookups를 비활성화하는 것은 일부 경우 부분 완화입니다(공급업체 조치 불필요, 하지만 해당 기능을 실제로 사용하는 경우 앱의 로깅을 망칠 수 있음 -- 물론 로컬 관리자가 명령줄을 제어해야 함).

b) 부분 완화

"JndiLookup.lookup()을 패치하여 고정 문자열을 반환하고 인수를 구문 분석하지 않도록 하는 간단한(즉, 독립형, 종속성 없음) Java 프로그램을 작성했습니다. 이는 JVM 프로세스를 재시작하지 않고 CVE-2021-44228(즉, Log4j의 RCE)을 수정해야 합니다." https://github.com/simonis/Log4jPatch "실행 중인 JVM 프로세스에 Java 에이전트를 주입하는 간단한 도구의 POC입니다. 에이전트는 로드된 모든 org.apache.logging.log4j.core.lookup.JndiLookup 인스턴스의 lookup() 메서드를 패치하여 무조건 문자열 "Patched JndiLookup::lookup()"을 반환하도록 합니다. 이는 Java 프로세스를 재시작하지 않고 Log4j의 CVE-2021-44228 원격 코드 실행 취약점을 수정해야 합니다. 현재 JDK 8 및 11에서만 테스트되었습니다!"

IV. IoC

취약점을 대규모로 악용하는 IP(API 및 python/bash 스크립트는 댓글 참조)

https://gist.github.com/gnremy/c546c7911d5f876f263309d7161a7217

출처: Greynose.io

https://www.greynoise.io/viz/query/?gnql=tags%3A%22Apache%20Log4j%20RCE%20Attempt%22

커뮤니티 API https://docs.greynoise.io/reference/get_v3-community-ip

ThreatFox에 악용 시도에 사용된 악성 LDAP 서버

API 호출: curl -X POST https://threatfox-api.abuse[.]ch/api/v1/ -d '{ "query": "taginfo", "tag": "log4j" }

URL: https://threatfox.abuse.ch/browse/tag/log4j/

업데이트된 C2/콜백 도메인이 포함된 새 링크:

https://gist.github.com/superducktoes/9b742f7b44c71b4a0d19790228ce85d8

페이로드

"GreyNoise가 지금까지 탐지한 원시 CVE-2021-44228 Log4J / Logshell 페이로드는 다음과 같습니다." https://gist.github.com/nathanqthai/01808c569903f41a52e7e7b575caa890

추가 페이로드 https://gist.github.com/yt0ng/8a87f4328c8c6cde327406ef11e68726

추가 업데이트:

https://twitter.com/GreyNoiseIO/with_replies

보고된 공격:

"45[.]155[.]205[.]233이 base64 인코딩 문자열로 초기 스캔을 수행하는 것을 확인했습니다. 디코딩하면 셸을 설정하기 위해 curl wget bash 등을 시도합니다. 2단계, 3단계 및 4단계도 최종 페이로드와 함께 확인됨: 다음 IP를 통한 nspps/Kingsing 악성코드 44.240.146.137 45.137.155.55 185.154.53.140 185.191.32.198"

45.155.205.233 - 악용이 확인된 러시아 IP. https://twitter.com/VessOnSecurity/status/1469950517010968582 https://twitter.com/entropyqueen_/status/1469961345848299520

도구 다운로드