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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
divd-2021-00038--log4j-scanner — 아카이브 및 Docker 이미지에서 Log4j CVE를 재귀적으로 스캔하는 취약점 스캐너입니다. SHA256 해시를 통해 JndiLookup.class와 취약한 버전을 탐지하며, 악용 클래스를 제거하는 선택적 패치를 지원합니다. | Kitploit
도구/GitHubGitHub/dtact/divd-2021-00038--log4j-scanner
Vulnerability ScannersContainer SecurityVulnerability AnalysisCloud SecurityDevSecOpsIncident Response
GitHubdtact/divd-2021-00038--log4j-scanner

divd-2021-00038--log4j-scanner

아카이브 및 Docker 이미지에서 Log4j CVE를 재귀적으로 스캔하는 취약점 스캐너입니다. SHA256 해시를 통해 JndiLookup.class와 취약한 버전을 탐지하며, 악용 클래스를 제거하는 선택적 패치를 지원합니다.

저장소 보기
46934년 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

divd-2021-00038--log4j-scanner

이 스캐너는 취약한 log4j 버전과 org/apache/logging/log4j/core/lookup/JndiLookup.class 파일을 찾기 위해 아카이브를 포함한 경로를 재귀적으로 스캔합니다.

현재 허용 목록은 악용할 수 없는 버전을 정의하며, 이 경우 log4j-core 2.17.0 및 2.12.3입니다.

다중 레이어 아카이브 스캔

특징

  • 아카이브 안의 아카이브, 그 안의 아카이브 등 모든 아카이브를 재귀적으로 스캔합니다.
  • 알려진 log4j 라이브러리 검색 (sha256 해시)
  • JndiLookup.class 파일 검색
  • 빠름
  • 버전별로 관련 CVE 표시
  • 다른 확장자를 가진 클래스 파일 탐지 (예: .ezclass)
  • 로컬 및 원격 docker 이미지의 모든 레이어를 스캔합니다.
  • Windows, Linux 및 MacOS용 바이너리 버전 제공
  • JndiLookup 클래스를 (역시 재귀적으로) 삭제하는 패칭 기능 포함

참조

CVE참조
CVE-2021-44228https://www.cve.org/CVERecord?id=CVE-2021-44228
CVE-2021-45046https://www.cve.org/CVERecord?id=CVE-2021-45046
CVE-2021-45105https://www.cve.org/CVERecord?id=CVE-2021-45105
CVE-2021-44832https://www.cve.org/CVERecord?id=CVE-2021-44832

스캔

사용법

Windows

root@kitploit:~
$ divd-2021-00038--log4j-scanner.exe {target-path}

Linux / OSX / FreeBSD

root@kitploit:~
$ divd-2021-00038--log4j-scanner {target-path}

Docker 컨테이너

이 도구를 사용하면 이제 컨테이너도 스캔할 수 있습니다:

root@kitploit:~
$ ./divd-2021-00038--log4j-scanner scan-image logstash:7.16.1

또는 로컬 이미지:

root@kitploit:~
$ ./divd-2021-00038--log4j-scanner scan-image --local {sha256|pattern}
$ ./divd-2021-00038--log4j-scanner scan-image --local log4shell:latest
$ ./divd-2021-00038--log4j-scanner scan-image --local 4949add9e671

# scan all local images
$ ./divd-2021-00038--log4j-scanner scan-image --local 

이미지를 패치할 수도 있습니다:

root@kitploit:~
$ docker save log4shell > ./log4shell-image.tar
$ ./divd-2021-00038--log4j-scanner ./log4shell-image.tar
$ ./divd-2021-00038--log4j-scanner patch ./log4shell-image.tar
$ cat ./log4shell-image.tar.patch | docker load 

두 tar 파일을 비교하면 다음과 같은 차이가 있습니다:

root@kitploit:~
Binary files ../2/BOOT-INF/lib/log4j-core-2.14.1.jar and ./BOOT-INF/lib/log4j-core-2.14.1.jar differ
Binary files ../2/app/spring-boot-application.jar and ./app/spring-boot-application.jar differ
Binary files ../2/b0d66ac73d47865118cfb9a1244f1508d94ea938da1eb78c2db20bd2e1a6629a/layer.tar and ./b0d66ac73d47865118cfb9a1244f1508d94ea938da1eb78c2db20bd2e1a6629a/layer.tar differ
Only in ./org/apache/logging/log4j/core/lookup: JndiLookup.class

패칭

파일을 재귀적으로 패치하는 예비 지원을 추가했습니다. 이 기능은 매우 실험적이므로 주의해서 사용하세요. 현재 패칭은 아카이브(jar/tar) 파일에서만 작동합니다. 패치를 적용하면 원본 파일을 대체해야 하는 새 `.patch`` 파일이 생성됩니다. 이는 의도적으로 수동 프로세스로, 서비스 재시작 시점에 맞춰야 합니다. 원본 파일을 교체하기 전에 반드시 백업을 만드세요. 패치 후 다시 스캔하여 놓친 파일이 없는지 확인할 수 있습니다. 현재 폴더에 있는 일반 .class 파일은 수동으로 안전하게 제거할 수 있으므로 패치되지 않습니다.

.patch`` 파일은 JndiLookup.class`가 없다는 점을 제외하면 원본 파일과 완전히 동일합니다. 업그레이드를 기다리는 동안 이 문제를 완화하기에 충분합니다. 반드시 백업을 만들고 철저히 테스트하세요.

예방 조치로 패치는 폴더에서 실행을 거부합니다. 취약한 아카이브를 패치 대상으로 지정하기만 하면 됩니다.

사용법

Windows

root@kitploit:~
$ divd-2021-00038--log4j-scanner.exe patch {target-path}

Linux / OSX / FreeBSD

root@kitploit:~
divd-2021-00038--log4j-scanner patch {target-path}

소스에서 빌드

요구 사항:

  • Go 1.16 이상

개발용

root@kitploit:~
$ git clone "https://github.com/dtact/divd-2021-00038--log4j-scanner.git"
$ go build -o ./.builds/divd-2021-00038--log4j-scanner ./main.go

저작권 및 라이선스

코드와 문서의 저작권은 2021 Remco Verhoef (DTACT)에 있습니다.

코드는 MIT 라이선스로 배포됩니다.

도구 다운로드