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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
Java-Deserialization-Scanner — Java 역직렬화 취약점의 탐지 및 악용을 위한 Burp Suite 올인원 플러그인 | Kitploit
도구/GitHubGitHub/federicodotta/java-deserialization-scanner
Exploit FrameworksPayload GenerationVulnerability AnalysisWeb Application ExploitationPenetration Testing
GitHubfedericodotta/java-deserialization-scanner

Java-Deserialization-Scanner

Java 역직렬화 취약점의 탐지 및 악용을 위한 Burp Suite 올인원 플러그인

저장소 보기

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
8021754년 전Kitploit 검토 완료

Java Deserialization Scanner

Java Deserialization Scanner는 Java 역직렬화 취약점을 탐지하고 악용하기 위한 Burp Suite 플러그인입니다. HN Security의 수석 보안 분석가인 Federico Dotta가 작성했습니다.

이 플러그인은 서로 다른 세 가지 구성 요소로 이루어져 있습니다:

  1. Burp Suite 능동 및 수동 스캐너와의 통합
  2. 수동 테스터: 사용자 지정 삽입 지점에서 Java 역직렬화 취약점 탐지
  3. 익스플로이터: frohoff ysoserial(https://github.com/frohoff/ysoserial)을 사용하여 Java 역직렬화 취약점을 능동적으로 악용

Author

  • Federico Dotta, HN Security 수석 보안 분석가

Contributors

  • Jeremy Goldstein
  • Andras Veres-Szentkiralyi

Mini walkthrough (24/05/17)

플러그인의 다양한 구성 요소를 사용하는 방법에 대한 간단한 미니 워크스루가 포함된 짧은 문서는 다음 URL에서 확인할 수 있습니다: https://web.archive.org/web/20201130104913/https://techblog.mediaservice.net/2017/05/reliable-discovery-and-exploitation-of-java-deserialization-vulnerabilities/

Integration with Burp Suite active and passive scanner

Java Deserialization Scanner는 Java 역직렬화 취약점을 탐지하기 위해 frohoff와 gebl이 만든 "ysoserial" 도구의 수정 버전으로 생성된 사용자 지정 페이로드를 사용합니다. 원본 도구(https://github.com/frohoff/ysoserial)는 Runtime.exec 함수를 사용하여 시스템에서 명령을 실행하기 위한 페이로드를 생성합니다. 그러나 일반적으로 명령의 출력을 볼 수 없기 때문에 이러한 종류의 함수에 기반한 스캐너를 작성하는 것은 간단하지 않습니다. 이러한 이유로 ysoserial의 수정 버전을 사용하여 공격(exploitation) 대신 문제 탐지에 유용한 다양한 유형의 페이로드를 생성합니다:

  1. 응답 시간에 따라 문제 존재 여부를 확인하기 위해 동기식 sleep 함수를 실행하는 페이로드
  2. Burp Suite에 통합된 Burp Suite Collaborator를 사용하여 문제 존재 여부를 확인하기 위해 DNS 확인을 실행하는 페이로드

현재 Java Deserialization Scanner의 수동 검사는 HTTP 요청에서 직렬화된 Java 객체의 존재를 보고하며, 능동 검사는 다음 취약한 라이브러리의 존재와 함께 취약한 역직렬화 함수의 존재를 적극적으로 스캔합니다:

  1. Apache Commons Collections 3(최대 3.2.1), 5개의 서로 다른 체인
  2. Apache Commons Collections 4(최대 4.4.0), 2개의 서로 다른 체인
  3. Spring(최대 4.2.2), 2개의 서로 다른 체인
  4. Java 6 및 Java 7(최대 Jdk7u21), 취약한 라이브러리 없음
  5. Hibernate 5
  6. JSON
  7. Rome
  8. Java 8(최대 Jdk8u20), 취약한 라이브러리 없음
  9. Apache Commons BeanUtils
  10. Javassist/Weld
  11. JBoss Interceptors
  12. Mozilla Rhino(2개의 서로 다른 체인)
  13. Vaadin

또한, URLSNDS 페이로드가 도입되어 취약한 라이브러리 없이 Java 역직렬화를 능동적으로 탐지할 수 있습니다. 플러그인이 URLDNS 문제만 찾고(취약한 라이브러리가 없는 경우) 공격자는 DoS 공격은 실행할 수 있을지 모르지만 원격 코드 실행을 달성하려면 더 많은 노력이 필요합니다. 자세한 내용은 이 링크를 참조하십시오.

플러그인의 모든 구성 요소는 다음 인코딩을 지원합니다:

  1. Raw
  2. Base64
  3. Ascii Hex
  4. GZIP
  5. Base64 GZIP

test 폴더에는 플러그인을 테스트하는 데 사용할 수 있는 몇 가지 간단한 Java 서버 애플리케이션이 있습니다. 각 애플리케이션은 서로 다른 취약한 Java 라이브러리를 사용합니다.

Manual tester

플러그인은 이상한 진입점으로 인해 스캐너로 탐지할 수 없는 특수한 상황에서 Java 역직렬화 취약점을 확인하기 위해, 사용자 지정 삽입 지점에 sleep 및 DNS 페이로드를 사용하여 탐지를 실행할 수 있는 전용 탭을 제공합니다. 수동 테스터의 결과는 Burp Suite 스캐너 결과 사이에 삽입할 수 있습니다.

수동 테스터는 추가 탐지 방법인 CPU 탐지를 제공합니다. CPU 탐지 방법은 Wouter Coekaerts의 SerialDOS 연구(https://gist.github.com/coekie/a27cc406fc9f3dc7a70d)를 기반으로 하며, 역직렬화 작업에 많은 CPU 사이클을 사용하는 객체를 사용하고 응답 시간을 확인하여 취약한 라이브러리 없이도 역직렬화 문제를 탐지할 수 있습니다. CPU 탐지 방법은 주의해서 사용해야 하므로 기본적으로 능동 스캔 검사에 포함되지 않습니다. 많은 수의 "가벼운" SerialDOS 페이로드를 보내면 오래되었거나 부하가 높은 시스템에서 여전히 문제를 일으킬 수 있기 때문입니다.

Exploiter

Java 역직렬화 취약점이 발견된 후에는 전용 "Exploiting" 탭을 통해 해당 문제를 능동적으로 악용할 수 있습니다. "Exploiting" 탭은 역직렬화 취약점을 악용할 수 있는 편리한 인터페이스를 제공합니다. 이 탭은 ysoserial 도구를 사용하여 악용 벡터를 생성하고 생성된 페이로드를 HTTP 요청에 포함합니다. ysoserial은 취약한 라이브러리와 명령을 인수로 받아 대상 시스템에서 명령을 실행하기 위해 취약한 애플리케이션으로 보낼 수 있는 이진 형식의 직렬화된 객체를 생성합니다(물론 대상 애플리케이션이 취약한 경우). Exploiting 탭은 플러그인의 탐지 섹션과 동일한 인코딩 형식을 지원합니다.

Screenshot

alt tag

Installation

  1. Burp Suite 다운로드: http://portswigger.net/burp/download.html
  2. BApp Store에서 Java Deserialization Scanner를 설치하거나 다음 단계를 따르십시오:
  3. Java Deserialization Scanner의 최신 릴리스를 다운로드하십시오
  4. Burp -> Extender -> Extensions -> Add -> JavaDeserializationScannerXX.jar 파일 선택

User Guide

  1. 설치 후 Java Deserialization Scanner의 능동 및 수동 검사가 Burp Suite 스캐너에 추가됩니다(옵션 탭에서 검사를 비활성화할 수 있습니다)
  2. 취약한 Java 역직렬화도 확인하려면 능동 또는 수동 스캐너를 실행하기만 하면 됩니다
  3. 전용 탭 "Manual testing"을 사용하여 삽입 지점을 설정하고 모든 페이로드로 공격을 실행할 수 있습니다
  4. 전용 탭 "Exploiting"을 사용하여 Java 역직렬화 취약점을 능동적으로 악용할 수 있습니다
  5. "Configuration"에는 플러그인이 올바르게 작동하는 데 필요한 모든 구성이 포함되어 있습니다

Improving Java Deserialization Scanner

이 확장 기능을 개선하기 위해 플러그인에서 발견된 문제를 보고해 주시기 바랍니다. 또한 이 약점을 악용하는 데 유용한 공개된 Java 라이브러리를 알려주시면, 시간이 될 때 제 플러그인에 이에 대한 능동 검사를 추가하겠습니다.

Disclaimer

이 소프트웨어는 순수하게 학술 연구와 효과적인 방어 기술 개발 목적으로 만들어졌으며, 명시적으로 승인된 경우를 제외하고 시스템을 공격하는 데 사용하기 위한 것이 아닙니다. 프로젝트 유지관리자는 이 소프트웨어의 오용에 대해 책임을 지지 않습니다. 책임감 있게 사용하십시오.

MIT License

Copyright (c) 2020 Java Deserialization Scanner

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

도구 다운로드