워게임/CryptoHack

[Cryptohack] General (Transparency)

  • -

Transparency

문제 및 설명

HTTPS를 통해 웹 사이트에 연결할 때, 서버가 보내는 첫 번째 TLS 메시지는 서버 TLS 인증서를 포함하는 ServerHello입니다. 브라우저는 TLS 인증서가 유효한지 확인하고 유효하지 않을 경우 TLS 핸드셰이크를 종료합니다. 검증에는 다음 사항이 포함됩니다:

- 인증서의 이름이 도메인과 일치합니다

- 인증서가 만료되지 않았습니다

- 인증서는 최종적으로 브라우저 또는 운영 체제에서 신뢰하는 CA(인증 기관)의 루트 키에 의해 서명됩니다("신뢰 체인"을 통해)

CA에는 인증서에 서명할 수 있는 권한이 있으므로 인터넷의 보안은 올바른 사용자에게 TLS 인증서를 발급하는 데 따라 달라집니다. 즉, 실제 도메인 소유자에게만 인증서를 발급해야 합니다. 그러나 Windows가 기본적으로 100개 이상의 조직의 루트 인증서를 신뢰하기 때문에 해커, 정치 또는 무능이 전체 모델을 파괴할 수 있는 여러 가지 기회가 있습니다. CA 하나만 속여서 microsoft.com 에 대한 인증서를 발급할 수 있다면 해당 개인 키를 사용하여 악성 프로그램에 서명하고 윈도우즈에서 신뢰 제어를 우회할 수 있습니다. CA는 사람들이 CA를 신뢰하는 것에 따라 사업이 달라지기 때문에 주의해야 할 동기가 강하지만 실제로는 여러 번 실패했습니다.

2011년에 코모도 CA가 손상되었고, 해커는 Gmail 및 기타 서비스에 대한 인증서를 발급할 수 있었습니다. 2016년 Symantec은 도메인 소유자 모르게 150개 이상의 인증서를 발급했으며, 등록되지 않은 도메인에 대한 2400개의 인증서도 발급한 것으로 확인되었습니다.

이러한 이벤트로 인해 2018년부터 Google Chrome에서 인증서 투명성이 시행됨에 따라 부정 인증서를 발견하는 데 오랜 시간이 걸릴 수 있습니다. 모든 CA는 발급한 모든 인증서를 로그에 게시해야 하며, 로그는 누구나 검색할 수 있습니다.

PEM 형식의 RSA 공용 키가 첨부되었습니다. TLS 인증서에서 이러한 매개 변수를 사용하는 cryptohack.org 의 서브 도메인을 찾아 해당 하위 도메인을 방문하여 플래그를 얻습니다.

풀이

더보기

문제에 따르면 cryptohack.org의 서브도메인을 찾으라고 했다.

그래서 https://subdomainfinder.c99.nl/ 를 통해 서브도메인을 확인해보았다.

 

https://subdomainfinder.c99.nl/

2번째 항목을 보니 바로 플래그관련된 서브도메인이 보였다.

플래그 값은 crypto{thx_redpwn_for_inspiration}이다.

생각보다 빠르게 찾은듯 했다.

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.