
빠른 SSL/TLS 스캐너로 지원되는 암호 스위트, 프로토콜 및 취약점(Heartbleed, POODLE, CRIME)을 발견하며, 인증서 체인 분석 및 키 교환 열거 기능을 제공합니다.
sslscan 버전 2가 출시되었습니다. 여기에는 백엔드 스캔 코드의 주요 재작성이 포함되어 있어 더 이상 많은 검사에서 OpenSSL 버전에 의존하지 않습니다. 즉, 컴파일된 OpenSSL 버전에 관계없이 기존 프로토콜(SSLv2 및 SSLv3)은 물론 TLSv1.3도 지원할 수 있습니다.
이것은 대부분 jtesta의 작업 덕분에 가능해졌으며, 그가 백엔드 재작성의 대부분을 담당했습니다.
기타 주요 변경 사항은 다음과 같습니다:
--http 옵션이 제거되었습니다. 이 옵션은 손상되었고 처음부터 사용 빈도가 매우 낮았기 때문입니다.버전 2.0.0-beta4의 XML 출력에 잠재적으로 호환성이 깨지는 변경 사항이 적용되었습니다. 이전에는 여러 개의 <certificate> 요소가 반환될 수 있었습니다(기본적으로 하나, --show-certificate가 사용된 경우 두 번째 요소).
주요 변경 사항은 다음과 같습니다:
<certificate> 요소를 포함할 새로운 상위 요소 <certificates>.<certificate> 요소에는 새로운 type 속성이 있으며, 다음 중 하나일 수 있습니다:
short.--show-certificate가 사용된 경우 full.<certificate>의 <signature-algorithm> 요소는 더 이상 "Signature Algorithm:" 접두사나 공백 및 줄바꿈을 포함하지 않습니다.XML 출력을 사용하는 경우 파서를 변경해야 할 수 있습니다.
이것은 rbsec([email protected])이 만든 ioerror 버전의 sslscan 포크입니다(원본 readme는 아래 포함). 주요 변경 사항은 다음과 같습니다:
--show-certificate로 표시).--failed로 표시).--ipv6으로 강제 가능).--no-compression으로 비활성화).--no-ciphersuites.--no-colour.--no-heartbleed로 비활성화).--rdp를 사용한 RDP 서버 스캔 지원(크레딧: skettler).--sleep 옵션이 추가되었습니다.--no-preferred.OpenSSL 시스템 설치를 무시하고 자신의 버전으로 정적 빌드하는 것이 좋습니다. 이렇게 하면 결과적으로 sslscan 바이너리가 더 무거워지지만(파일 크기, 메모리 사용량 등), TLS 압축과 같은 추가 검사가 가능합니다. sslscan 버전 2.2.0부터 필요한 최소 OpenSSL 버전은 3.5.0(LTS)이므로 배포판에 더 오래된 버전이 함께 제공되는 경우 해당 버전으로 빌드하면 작동하지 않으며 정적 빌드를 수행해야 합니다.
자체 OpenSSL 버전을 컴파일하려면 OpenSSL 빌드 종속성을 설치해야 할 수 있습니다. 아래 명령을 사용하여 Debian에서 이 작업을 수행할 수 있습니다.
apt install git zlib1g-dev make gcc
그런 다음 실행하십시오.
make static
이렇게 하면 OpenSSL 저장소가 복제되고 sslscan을 컴파일하기 전에 OpenSSL이 구성/컴파일/테스트됩니다.
참고: 기본적으로 OpenSSL은 gcc로 추가 사용자 정의 없이 컴파일됩니다. clang으로 컴파일하려면 아래 명령을 사용하여 빌드 종속성을 설치합니다.
apt install git zlib1g-dev make clang
그런 다음 실행하십시오.
make static CC=clang
sslscan --version으로 나열된 버전에 -static 접미사가 있는지 확인하여 정적으로 연결된 OpenSSL 버전이 있는지 확인할 수 있습니다.
로컬 Docker 설치가 작동하는지 확인하고 다음을 사용하여 컨테이너를 빌드하십시오:
make docker
또는 수동으로:
docker build -t sslscan:sslscan .
그런 다음 sslscan을 실행할 수 있습니다:
docker run --rm -ti sslscan:sslscan --help
jtesta의 패치 덕분에 이제 sslscan을 Windows에서 컴파일할 수 있습니다. 네이티브로 또는 Linux에서 크로스 컴파일하여 수행할 수 있습니다. 자세한 내용은 INSTALL을 참조하십시오.
sslscan은 원래 Linux용으로 작성되었으며 Windows에서 광범위하게 테스트되지 않았습니다. 따라서 Windows 버전은 실험적인 것으로 간주해야 합니다.
사전 빌드된 크로스 컴파일 Windows 바이너리는 GitHub Releases Page에서 사용할 수 있습니다.
macOS(이전 명칭 OS X)에서 정적 빌드에 대한 실험적 지원이 있지만 지원되지 않는 것으로 간주해야 합니다. macOS(이전 명칭 OS X)에서 소스에서 OpenSSL을 컴파일하는 데 필요한 종속성을 설치해야 할 수 있습니다. 설치한 후 다음을 실행하기만 하면 됩니다:
make static
이것은 STARTTLS를 더 잘 지원하기 위한 sslscan.c의 포크입니다.
sslscan의 원본 홈페이지는 다음과 같습니다:
http://www.titania.co.uk
sslscan은 원래 다음 사람이 작성했습니다:
Ian Ventura-Whiting
이 포크의 현재 홈페이지(업스트림이 완성된 패치를 병합할 때까지)는 다음과 같습니다:
http://www.github.com/ioerror/sslscan
대부분의 사전 TLS 프로토콜 설정은 OpenSSL의 s_client.c 프로그램에서 영감을 받았습니다. 이 포크의 목표는 STARTTLS 설정이 완성된 후 원래 프로젝트와 병합하는 것입니다.
일부 OpenSSL 설정 코드는 Tor Project의 Tor 프로그램에서 차용되었습니다. 따라서 BSD 라이선스를 준수하기 위해 다음과 같이 표시하는 것이 적절합니다: Copyright (c) 2007-2010, The Tor Project, Inc.
--show-client-cas.--no-cipher-details.--cipher-details.--starttls-ldap.--sni-name(크레딧: Ken).--iana-names.--show-certificates.