1. HeartBleed 취약점 이해
OpenSSL 라이브러리에서 서버와 클라이언트 간의 연결을 안정적으로 지속시키기 위해 하트비트(Heartbeat)라는 확장 모듈을 사용함. 이 때, 클라이언트 요청 메세지를 처리 할 때 데이터 길이 검증을 수행하지 않아 시스템 메모리에 저장된 64kb 크기의 데이터를 외부에서 아무런 제한 없이 탈취 할 수 있는 취약점 (입력값 검증 관련)
OpenSSL을 사용하는 Service들이 상당히 광범위 하다. (최고 수준의 취약점)
SSL은 암호화통신이지만 교환 단계에서 암호화를 뜻하고, 메모리에 저장되는 모든 정보는 평문이다.
3byte 길이의 Heartbeat를 보내면서 Payload Length에 16384byte 길이의 내용을 요청해서
메모리에 임시로 저장되어 있는 평문 형태 정보를 긁어 옴.
2. HeartBleed 취약점 이해
kali와 beebox를 키고 kali에서 beeboxf로 접속하여 Heartbleed Vulnerability 취약점을 확인하면
아래와 같은 힌트를 준다. 우선 attack script를 kali에 저장한다.
Downloads 폴더에 저장된 heartbleed.py 파일을 확인하고 python을 이용해 읽어보면
현재 칼리는 기본이 python3인데 코드가 python2로 제작되어 에러가 발생한다.
python2로 읽어보면 아래와 같이 정상 작동하는 것을 볼 수 있다.
여기서 코드를 Target하는 Beebox를 대상으로 돌리면 아래와 같이
메모리 정보를 가져오는 것을 볼 수 있다.
추가로 8443 포트로 접속하여 https://192.168.182.130:8443
동일하게 돌려보면 아래 가져온 메모리 정보 중에 로그인 패스워드 정보가 포함된 것도
확인 할 수 있다.
'Security Project' 카테고리의 다른 글
27. PHP_CGI 취약점 이해 및 실습 (0) | 2022.09.21 |
---|---|
26. Shellshock 취약점 이해 및 실습 (1) | 2022.09.19 |
24. 메소드 허용 webdav 취약점 (2) | 2022.09.18 |
23. Burp Suite 기능 Repeater와 Intruder (0) | 2022.09.17 |
22. Metasploit 모듈 활용 (1) | 2022.09.14 |
댓글