JJANG-JOON
article thumbnail
반응형

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) 사용 여부를 점검
* (평가 예시 : 취약한 버전의 SSL(SSL 2.0, 3.0) 사용 가능 여부 점검 등)

1. nmap을 이용한 HTTPS 프로토콜 확인
 
C:\Users> nmap -p [port] --script ssl-enum-ciphers [target_host]
C:\Users> nmap -p 443 --script ssl-enum-ciphers secureroot.co.kr

 

 

2. openssl을 이용한 HTTPS 프로토콜 확인
C:\Users> openssl s_client -ssl3 -connect [target_host:port]
C:\Users> openssl s_client -ssl3 -connect secureroot.co.kr:443

 

 

 

 

 

 

취약한 HTTPS 암호 알고리즘 이용

* (평가항목 설명) 보안 강도가 낮은 암호 알고리즘을 사용할 경우 암호화된 통신 내용이 유출되는 등의 위협이 존재함에 따라 암호 알고리즘의 보안 강도의 적절성 여부를 점검
* (평가 예시 : 보안 강도가 낮은 암호 알고리즘 사용 여부 점검 등)

1. nmap을 이용한 HTTPS 암호 알고리즘 확인
 
C:\Users> nmap -p [port] --script ssl-enum-ciphers [target_host]
C:\Users> nmap -p 443 --script ssl-enum-ciphers secureroot.co.kr

이용 가능한 HTTPS 프로토콜 종류, 암호 알고리즘 보안 강도(알파벳으로 표시) 등 확인 가능

 

 

 

취약한 HTTPS 컴포넌트 사용

* (평가항목 설명) 취약한 HTTPS 확장 모듈 사용 시 암호화된 정보 노출 등의 위협이 존재함에 따라 이에 대한 취약점 존재 유무 점검
* (평가 예시 : HTTPS 관련 주요 취약점(CVE-2014-0160:Heartbleed, CVE-2014-0224 등)의 존재 여부 점검 등)
* CVE-2014-0160 : OpenSSL의 라이브러리에 버그가 존재하여 서버내 중요 메모리 데이터가 노출될 수 있는 취약점
* CVE-2014-0224 : OpenSSL 통신 상의 CCS(ChangeCipherSpec)메시지 처리과정 중 취약점이 있어 암호화된 정보의 노출 및 변조 가능성이 존재하는 취약점

1. nmap을 이용한 취약한 HTTPS 컴포넌트 사용 여부 확인
  * HeartBleed(CVE-2014-0160)
  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 재협상 허용

(HTTPS 재협상은 기존 HTTPS 연결에서 새 암호화 키를 협상하는 과정)
 
 
* (평가항목 설명) 암호화된 통신내용이 노출될 가능성이 존재하는 취약한 방식의 HTTPS 재협상(Renegotiation)을 허용 여부를 점검
* (평가 예시 : SSLTEST 결과 insecure client-initiated renegotiation 값 점검 등(ex. No - 양호, supported - 미흡))

 
 
 
취약한 방식의 HTTPS 재협상 허용을 점검하기 위해 4가지 재협상 방법 중 Client-initiated insecure renegotiation 값을 점검
- Client-initiated secure renegotiation
- Client-initiated insecure renegotiation(CVE-2009-3555)
- Server-initiated secure renegotiation
- Server-initiated insecure renegotiation

취약한 버전

 

***공격방법***
취약한 HTTPS 재협상 공격은 다음과 같은 방식으로 이루어진다.
  1. 공격자는 피해자의 웹 브라우저에 취약한 HTTPS 재협상 요청을 보낸다.
  2. 피해자의 웹 브라우저는 취약한 HTTPS 재협상 요청을 수락하고, 공격자에게 암호화 키를 제공한다.
  3. 공격자는 피해자의 암호화 키를 사용하여 암호화된 데이터를 탈취하거나 웹 브라우저를 감염시킨다.

 

 

 

 

1. openssl(0.9.8k 이하)을 이용한 취약한 HTTPS 재협상 허용 여부 확인
 
C:\Users> openssl s_client -connect [target_host:port]
C:\Users> openssl s_client -connect secureroot.co.kr:443

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

웹 도구를 이용한 진단

아래 사이트에서 확인할 수 있다.

https://www.ssllabs.com/

 

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

http://www.secureroot.co.kr/sroot/resource/post/002/

반응형
profile

JJANG-JOON

@JJANG-JOON

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

profile on loading

Loading...