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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
TLS-Scanner — 침투 테스터와 연구자를 위한 자동화된 TLS 서버 및 클라이언트 구성 스캐너입니다. 암호화 제품군, 프로토콜 버전 및 보안 가이드라인을 평가하며, 사용자 정의 가능한 스캔 깊이와 기계 판독 가능한 출력을 제공합니다. | Kitploit
도구/GitHubGitHub/tls-attacker/tls-scanner
Vulnerability ScannersNetwork SecurityCryptographyPenetration Testing
GitHubtls-attacker/tls-scanner

TLS-Scanner

침투 테스터와 연구자를 위한 자동화된 TLS 서버 및 클라이언트 구성 스캐너입니다. 암호화 제품군, 프로토콜 버전 및 보안 가이드라인을 평가하며, 사용자 정의 가능한 스캔 깊이와 기계 판독 가능한 출력을 제공합니다.

저장소 보기
2844116일 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

TLS-Scanner

GitHub release (latest by date) licence Build Status

TLS-Scanner는 침투 테스터와 보안 연구자가 TLS 서버 및 클라이언트 구성을 평가하는 데 도움을 주는 도구입니다.

참고: TLS-Scanner는 TLS 개발자, 침투 테스터, 관리자 및 연구자를 대상으로 하는 연구 도구입니다. GUI가 없습니다. 첫 번째 버전이며 일부 버그가 있을 수 있습니다.

컴파일

TLS-Scanner를 컴파일하고 사용하려면 다음을 실행해야 합니다:

root@kitploit:~
$ cd TLS-Scanner
$ git submodule update --init --recursive
$ mvn clean package

또는 시간이 촉박하다면, 테스트를 건너뛰기 위해 다음을 사용할 수 있습니다:

root@kitploit:~
$ mvn clean package -DskipTests=true

TLS-Scanner를 라이브러리로 사용하려면 다음 명령어로 설치해야 합니다:

root@kitploit:~
$ mvn clean install

실행

TLS-Scanner를 실행하려면 apps/ 폴더에 있는 jar 파일 중 하나를 실행해야 합니다. 이 파일들은 직접 앱을 컴파일하거나 GitHub에서 릴리스된 jar 파일을 다운로드하여 얻을 수 있습니다.

root@kitploit:~
$ java -jar apps/TLS-Server-Scanner.jar -connect localhost:4433

주요 매개변수

-connect 매개변수로 스캔하려는 호스트를 지정해야 합니다.

스캔 성능을 향상시키려면 -threads 매개변수를 사용하여 사용되는 스레드 수를 늘릴 수 있습니다.

성능과 관련된 또 다른 중요한 매개변수는 -scanDetail로, 스캔의 세부 수준을 구성하는 데 사용됩니다. 빠른 것부터 매우 상세한 것까지 가능한 값은: QUICK, NORMAL, DETAILED, ALL입니다.

출력의 세부 수준은 -reportDetail 매개변수로 구성할 수 있습니다. 가이드라인에 대한 더 자세한 정보를 보려면 -reportDetail ALL을 사용하세요.

기본적으로 결과는 콘솔에만 출력됩니다. 기계가 읽을 수 있는 출력을 원한다면 -outputFile output.json을 사용하여 결과를 JSON 파일에 자동으로 쓸 수 있습니다.

사용 사례

변경할 가장 중요한 매개변수는 -scanDetail과 -reportDetail입니다. 다음에서는 이러한 매개변수에 대한 몇 가지 사용 사례를 설명합니다.

기본 스캔

대부분의 경우 기본 매개변수 설정으로 충분합니다. 두 세부 수준 모두 NORMAL로 스캔을 수행합니다.

빠른 스캔

빠른 스캔을 수행하고 시스템에 대한 빠른 개요를 얻으려면 두 세부 수준 모두 QUICK로 설정하는 것을 권장합니다. 이렇게 하면 일부 실행 프로브의 범위가 제한되어 실행 시간이 단축되고 보고서 세부 수준이 제한되어 매우 상세한 기술 정보가 포함되지 않습니다.

상세 스캔

시스템을 완전히 평가하고 우리가 가진 모든 것을 실행하려면 두 세부 수준 모두 ALL로 설정하는 것을 권장합니다. 이렇게 하면 모든 기존 프로브가 완전히 실행되고 추가 분석 및 평가를 위한 매우 상세한 정보가 출력됩니다.

모든 매개변수

가능한 모든 매개변수에 대한 자세한 정보를 보려면 -help 매개변수를 사용하거나 매개변수 없이 jar를 실행하세요.

Docker

TLS-Server-Scanner를 쉽게 사용할 수 있도록 미리 빌드된 Docker 이미지를 제공합니다.

root@kitploit:~
$ docker run -it --network host ghcr.io/tls-attacker/tlsscanner -connect localhost:4433

이미지는 서버 스캐닝용으로 제작되었지만 다른 jar 파일도 포함하고 있습니다. 진입점을 변경하여 접근할 수 있습니다.

root@kitploit:~
$ docker run -it --network host --entrypoint java ghcr.io/tls-attacker/tlsscanner -jar TLS-Client-Scanner.jar

또한 컨테이너를 직접 빌드할 수 있도록 Dockerfile도 제공합니다:

root@kitploit:~
$ docker build . -t tlsscanner
$ docker run -t tlsscanner

참고: 저는 Docker 모범 사례에 전혀 익숙하지 않습니다. Dockerfile을 개선하는 방법을 알고 계신다면 풀 리퀘스트를 보내주시기 바랍니다

요구사항 시스템

(TLS) 프로브는 특정 프로브를 실행하기 위해 필요한 전제 조건이 있을 수 있습니다. 요구사항 시스템을 사용하면 프로브가 실행되기 위해 충족되어야 하는 이러한 요구사항 집합을 정의할 수 있습니다.

각 요구사항은 요구사항이 충족되었는지 여부를 나타내는 부울 값을 반환하는 evaluate 함수를 제공합니다. 요구사항은 잘 알려진 논리 연산을 사용하여 여러 가지 방법으로 연결될 수 있습니다. 각 요구사항은 여러 요구사항을 연결하기 위해 and, or, not 및 xor 인스턴스 메서드를 제공합니다. 현재 구현되어 바로 사용할 수 있는 프로브는 다음과 같습니다:

  • FulfilledRequirement - 항상 true로 평가되며, 요구사항이 없음을 나타내는 데 유용합니다.
  • UnfulfillableRequirement - 항상 false로 평가되며, 프로브 실행을 방지합니다.
  • ProbeRequirement - 지정된 프로브가 실행된 경우 true로 평가됩니다.
  • PropertyRequirement - 지정된 분석 속성이 미리 정의된 값을 가지는 경우 true로 평가됩니다. 값은 생성자 매개변수로 제공되거나 TestResults.TRUE 및 TestResults.FALSE의 축약형으로 PropertyTrueRequirement 및 PropertyFalseRequirement를 사용할 수 있습니다.
  • PropertyComparatorRequirement - 분석 속성의 컬렉션 결과가 상수 값보다 작거나, 같거나, 큰 경우 true로 평가됩니다.

이러한 미리 정의된 요구사항 외에도 getRequirements 메서드 내에서 Requirement 클래스를 익명으로 확장할 수도 있습니다. 아무것도 필요하지 않은 경우 항상 true로 평가되는 FulfilledRequirement를 반환할 수 있습니다.

요구사항 사용 방법에 대한 예제는 tls-client-scanner 및 tls-server-scanner의 probe 패키지에서 찾을 수 있습니다.

root@kitploit:~
@Override
public Requirement<ClientReport> getRequirements() {
    return new ProbeRequirement<ClientReport>(TlsProbeType.CIPHER_SUITE)
            .and(new PropertyTrueRequirement<>(TlsAnalyzedProperty.SUPPORTS_DHE));
}
도구 다운로드
  • ProtocolRequirement - 특정 프로토콜 버전이 지원되는 경우 true로 평가됩니다.
  • ExtensionRequirement - 특정 확장이 원격 피어에 의해 지원되는 경우 true로 평가됩니다.
  • OptionsRequirement - 추가 cli 플래그가 설정된 경우 true로 평가됩니다. 현재 일부 클라이언트 프로브(ALPN, SNI, 세션 재개)에서 사용됩니다.
  • WorkingConfigRequirement - 작동하는 구성이 발견된 경우 true로 평가됩니다.