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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
Log4j-CVE-Detect — 중첩된 바이너리 내부의 CVE-2021-44228 탐지 | Kitploit
도구/GitHubGitHub/darkarnium/log4j-cve-detect
Static AnalysisVulnerability ScannersContainer SecurityVulnerability AnalysisDevSecOpsBinary AnalysisSupply Chain Security
GitHubdarkarnium/log4j-cve-detect

Log4j-CVE-Detect

중첩된 바이너리 내부의 CVE-2021-44228 탐지

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Log4J-CVE-Detect

이 저장소는 CVE-2021-44228, CVE-2021-45046 및/또는 CVE-2021-45105에 취약한 log4j 버전을 탐지하기 위한 YARA 규칙 모음을 포함합니다. 영향을 받는 버전에 나타나는 여러 기능을 찾습니다.

이 도구는 Docker 이미지, 시스템 패키지, 파일시스템 이미지, 설치 미디어와 같은 바이너리 파일에서 재귀적으로 작동합니다. 지원되는 모든 파일 형식의 전체 목록은 "어떻게 작동하나요?" 섹션을 참조하세요.

  • CVE-2021-44228
    • JndiManager 생성자의 시그니처를 찾습니다 (< 2.15.0).
  • CVE-2021-45046
    • JndiManager를 임포트하지 않는 Interpolator 클래스를 찾습니다 (< 2.16.0).
  • CVE-2021-45105
    • ConfigurationStrSubstitutor를 임포트하지 않는 AbstractConfiguration 클래스를 찾습니다 (< 2.17.0).

CodeQL 또는 Semgrep을 사용하여 log4j의 안전하지 않은 사용을 탐지할 수 있는 여러 리소스가 있지만, 바이너리 아티팩트 내에서 잠재적으로 취약한 log4j 버전을 탐지할 수 있는 리소스는 아직 제공되지 않았습니다.

이는 내부적으로 개발되지 않았거나 초기 분류를 수행하는 팀이 소스 코드에 즉시 접근할 수 없는 엔터프라이즈 애플리케이션을 운영하는 조직에 어려움을 제기합니다.

이 취약점은 다양한 "예상치 못한" 곳에서 나타날 가능성이 높기 때문에, 이 도구는 컴파일된 아티팩트 내에서 취약한 log4j 버전을 탐지하는 데 도움을 주기 위해 설계되었으며, 이후 수동으로 검토하여 악용 가능성을 판단할 수 있습니다.

주의사항

난독화된 코드로 인해 위양성(false negative)이 발생할 수 있습니다. 즉, 난독화로 인해 잠재적으로 취약한 위젯을 탐지할 수 없게 됩니다.

실행하기

이 도구를 실행하려면 이 저장소를 클론하고 다음 단계를 따르세요. Docker와 jq가 설치되어 있다고 가정합니다.

  1. 확인이 필요한 바이너리를 artifacts/ 폴더에 추가합니다.
  2. quickstart.sh를 실행합니다. (./quickstart.sh)

또는 다음 명령을 사용하여 실행을 사용자 정의할 수 있습니다:

root@kitploit:~
docker run \
    --rm \
    --mount type=bind,source=$(pwd)/artifacts,target=/mnt/stacs/input \
    --mount type=bind,source=$(pwd)/rules,target=/mnt/stacs/rules \
    stacscan/stacs:latest \
      --rule-pack "/mnt/stacs/rules/vulnerability.json" \
      "/mnt/stacs/input"

CVE-2021-44228만 찾으려면 다음 명령을 사용할 수 있습니다:

root@kitploit:~
docker run \
    --rm \
    --mount type=bind,source=$(pwd)/artifacts,target=/mnt/stacs/input \
    --mount type=bind,source=$(pwd)/rules,target=/mnt/stacs/rules \
    stacscan/stacs:latest \
      --rule-pack "/mnt/stacs/rules/CVE-2021-44228.json" \
      "/mnt/stacs/input"

CVE-2021-45046만 찾으려면 다음 명령을 사용할 수 있습니다:

root@kitploit:~
docker run \
    --rm \
    --mount type=bind,source=$(pwd)/artifacts,target=/mnt/stacs/input \
    --mount type=bind,source=$(pwd)/rules,target=/mnt/stacs/rules \
    stacscan/stacs:latest \
      --rule-pack "/mnt/stacs/rules/CVE-2021-45046.json" \
      "/mnt/stacs/input"

CVE-2021-45105만 찾으려면 다음 명령을 사용할 수 있습니다:

root@kitploit:~
docker run \
    --rm \
    --mount type=bind,source=$(pwd)/artifacts,target=/mnt/stacs/input \
    --mount type=bind,source=$(pwd)/rules,target=/mnt/stacs/rules \
    stacscan/stacs:latest \
      --rule-pack "/mnt/stacs/rules/CVE-2021-45105.json" \
      "/mnt/stacs/input"

이 도구는 Docker 없이도 실행할 수 있습니다. Docker 없이 STACS를 설치하는 방법은 STACS 설치 지침을 참조하세요.

Docker는 어떻게 하나요?

Docker 이미지를 스캔하려면 먼저 해당 이미지를 아티팩트 디렉토리로 내보내야 합니다. 다음 명령으로 수행할 수 있습니다:

root@kitploit:~
IMAGE="alpine:latest"
NAME="alpine_latest"

docker export $(docker create ${IMAGE}) -o artifacts/${NAME}.tar

또는 실행 중인 컨테이너를 다음 명령으로 내보낼 수 있습니다:

root@kitploit:~
# CONTAINER_ID를 올바른 컨테이너 식별자로 바꾸세요.
CONTAINER_ID="c29209118f9a"
NAME="widget_example"

docker export ${CONTAINER_ID} -o artifacts/${NAME}.tar

발견 사항이 나왔습니다! 어떻게 해야 하나요?

애플리케이션에서 log4j의 사용을 조사하여 제품이 취약한지 여부를 이해해야 합니다. 소스 코드에 대한 접근 부족 등으로 이것이 불가능한 경우, 공급업체가 이 문제에 대한 권고를 게시했는지 확인해야 합니다.

취약한 버전의 log4j가 포함되어 있다고 해서 해당 제품이 반드시 취약하다는 보장은 없습니다!

권고 사항을 찾을 수 없는 경우, 공급업체에 연락하여 이 취약점이 제품에 미치는 영향에 대해 문의해야 합니다.

또한 log4j 프로젝트가 게시한 완화 조치를 참조하세요. 또는, 가능하다면 영향을 받지 않는 log4j 버전으로 업그레이드하는 것이 좋습니다.

어떻게 작동하나요?

이 도구는 비록 이 목적으로 설계되지는 않았지만, 대량의 바이너리 분해 및 분석을 위해 STACS 엔진을 사용합니다.

STACS는 YARA 기반 정적 자격 증명 스캐너로, 바이너리 파일 형식, 중첩된 아카이브 분석, 구성 가능한 규칙 세트 및 무시 목록, SARIF 보고를 지원합니다.

예를 들어, 이 도구는 export된 Docker 이미지가 포함된 tarball을 분석할 수 있으며, 해당 이미지 내 파일 시스템 어딘가에 이 취약점의 영향을 받는 JAR이 있을 수 있습니다.

또한 중첩된 tar, jar, war, ear, zip, apk, bz2, tgz, xz, rpm, iso 등을 분석할 수 있습니다.

위양성 / 위음성을 발견했습니다

Github 이슈를 열어 문제를 설명하고, 가능한 경우 영향을 받는 바이너리 아티팩트에 링크를 제공해 주세요.

규칙 세트를 조정하는 Pull Request도 매우 환영합니다!

검증

이 규칙 세트의 검증에 대한 로그 파일은 validation/ 디렉토리를 참조하세요.

도구 다운로드