728x90

많은 개발 프로젝트들이 오픈소스 라이브러리를 사용하고 있다. 오픈소스 라이브러리엔 취약점이 존재하고 있고 알려진 대부분의 취약점은 CVE 데이터베이스를 통해 공개된다.

하트블리드 취약점은 SSL/TLS 프로토콜을 구현한 OpenSSL 라이브러리 중 1.0.1 - 1.0.1f 버전에 존재하는 취약점이다. 취약점이 하트비트라는 확장 기능에서 발견되었기에 하트블리드라는 이름이 명명되었다.

하트비트라는 확장 모듈에서 클라이언트 요청 메시지를 처리할 때 데이터 길이 검증을 수행하지 않아 시스템 메모리에 저장된 64KB 크기의 데이터를 외부에서 탈취할 수 있는 취약점이다.

하트블리드 취약점을 이용하면 공격자는 웹 서버 호스트의 메모리를 읽을 수 있게 되어 사용자의 로그인 정보 및 그 밖의 민감한 정보들을 탈취할 수 있다.

A9 그룹의 Heartbleed Vulnerability 메뉴를 선택한다.

톰캣에서는 HTTP 통신시 8080포트를 사용한다. 보안을 위해 SSL/TLS 인증서 기반의 HTTPS 통신을 하는 경우 8443포트를 사용한다.

attack script 를 눌러서 heartbleed.py 파일을 다운로드한다.

bee box의 8443포트로 접속한다. HTTPS를 이용해서 접속해야한다.

https://192.168.56.104:8443

에러가 뜰텐데 Advanced를 클릭하고 리스크를 감수하겠다고 하면 된다. 에러가 뜨는 이유는 HTTPS 통신을 할때 SSL 인증서가 사용되는데 bwapp에서 제공하는 인증서를 신뢰하지 못하기 때문이다.

접속 후 로그인하고 나서 heartbleed.py를 실행한다.

python2 heartbleed.py 192.168.56.104 -p 8443

 

python2를 사용해야 에러없이 실행된다. python3을 사용하면 수정할게 너무 많다.

192.168.56.104는 bwapp이 실행되는 서버 IP이니 자기의 환경에 맞는 IP로 변경해야한다.

스크롤을 내리다 보면 웹 서버 호스트의 메모리에 남아있는 로그인 정보가 나타난다.

 따라서 HTTPS 통신시 통신 내용이 암호화되기 때문에 데이터가 노출되지 않는게 정상이지만 하트블리드 취약점이 존재한다면 데이터가 노출된다.

728x90

'bWAPP(Bee Box)' 카테고리의 다른 글

PHP-CGI 취약점  (0) 2023.11.16
쉘쇼크 취약점  (0) 2023.11.15
XXE(XML 외부 엔티티) 공격  (0) 2023.11.14
접근 통제 취약점 공격  (0) 2023.11.13
민감한 데이터 노출 3  (0) 2023.11.13

+ Recent posts