[웹]취약한 HTTPS 관련 취약점 점검 방법
openssl과 sslcan 이용
윈도우 버전 설치
리눅스는 wget 명령어로 받으면된다
https://slproweb.com/products/Win32OpenSSL.html
Win32/Win64 OpenSSL Installer for Windows - Shining Light Productions
Minimum system requirements: Windows XP or later 32MB RAM 200MHz CPU 30MB hard drive space Recommended system requirements: Windows XP or later 128MB RAM 500MHz CPU 300MB hard drive space March 14, 2023 - OpenSSL 3.1 is available. Also, Happy Pi Day. Users
slproweb.com
스캐닝 도구
https://github.com/rbsec/sslscan
GitHub - rbsec/sslscan: sslscan tests SSL/TLS enabled services to discover supported cipher suites
sslscan tests SSL/TLS enabled services to discover supported cipher suites - GitHub - rbsec/sslscan: sslscan tests SSL/TLS enabled services to discover supported cipher suites
github.com
sslscan을 실행하면 TLS 버전은 무엇을 사용하는지 하트블리드 취약점의 가능성이 있는지 암호화 알고리즘은 무엇을 사용하는지 등등 정보들을 확인할 수 있다.
취약한 HTTPS 프로토콜 이용
* (평가 예시 : 취약한 버전의 SSL(SSL 2.0, 3.0) 사용 가능 여부 점검 등)
1. nmap을 이용한 HTTPS 프로토콜 확인
2. openssl을 이용한 HTTPS 프로토콜 확인
취약한 HTTPS 암호 알고리즘 이용
* (평가 예시 : 보안 강도가 낮은 암호 알고리즘 사용 여부 점검 등)
1. nmap을 이용한 HTTPS 암호 알고리즘 확인

취약한 HTTPS 컴포넌트 사용
* (평가 예시 : HTTPS 관련 주요 취약점(CVE-2014-0160:Heartbleed, CVE-2014-0224 등)의 존재 여부 점검 등)
* CVE-2014-0160 : OpenSSL의 라이브러리에 버그가 존재하여 서버내 중요 메모리 데이터가 노출될 수 있는 취약점
* CVE-2014-0224 : OpenSSL 통신 상의 CCS(ChangeCipherSpec)메시지 처리과정 중 취약점이 있어 암호화된 정보의 노출 및 변조 가능성이 존재하는 취약점
1. nmap을 이용한 취약한 HTTPS 컴포넌트 사용 여부 확인
C:\Users> nmap -p [port] --script ssl-heartbleed [target_host]
* CCS-Injection(CVE-2014-0224)
C:\Users> nmap -p [port] --script ssl-ccs-injection [target_host]
* Poodle Attack(CVE-2014-3566)
C:\Users> nmap -p [port] --script ssl-poodle [target_host]
취약한 HTTPS 재협상 허용
* (평가 예시 : SSLTEST 결과 insecure client-initiated renegotiation 값 점검 등(ex. No - 양호, supported - 미흡))
- Client-initiated secure renegotiation
- Client-initiated insecure renegotiation(CVE-2009-3555)
- Server-initiated secure renegotiation
- Server-initiated insecure renegotiation

***공격방법*** 취약한 HTTPS 재협상 공격은 다음과 같은 방식으로 이루어진다.
|
1. openssl(0.9.8k 이하)을 이용한 취약한 HTTPS 재협상 허용 여부 확인

R

**OpenSSL은 네트워크를 통한 데이터 통신에 쓰이는 프로토콜인 TLS와 SSL의 오픈 소스 구현판
burpsuite를 이용한 진단
버프슈트는 웹과 관련된 모든 도구가 존재해서 당연히 SSL/TLS를 진단하는 도구도 있다.
익스텐션 기능에 BApp Store에서 SSL Scanner라는 도구를 받을 수 있다
도구와 관련된 깃허브
https://github.com/portswigger/ssl-scanner
GitHub - PortSwigger/ssl-scanner: Burp Suite plugin for scanning SSL vulnerabilities.
Burp Suite plugin for scanning SSL vulnerabilities. - GitHub - PortSwigger/ssl-scanner: Burp Suite plugin for scanning SSL vulnerabilities.
github.com
만약 도구를 설치했는데 아래와같이 Jython 에러가 발생한다면 아래 사이트에서 jython-standalone 파일을 받아서 버프슈트내 파이썬 환경에 추가해주면된다
https://www.jython.org/download
Downloads
The Python runtime on the JVM
www.jython.org
웹 도구를 이용한 진단
아래 사이트에서 확인할 수 있다.
Qualys SSL Labs
Books Bulletproof SSL and TLS is a complete guide to deploying secure servers and web applications. This book, which provides comprehensive coverage of the ever-changing field of SSL/TLS and Web PKI, is intended for IT security professionals, system admini
www.ssllabs.com
참조
https://hyotwo.tistory.com/187#1.%20openssl%EA%B3%BC%20sslcan%20%EC%9D%B4%EC%9A%A9