
💔 민감한 정보를 검색하는 Hearbleed 익스플로잇 CVE-2014-0160 💔
https://www.cloudflarechallenge.com/ 서버를 사용해 이 공격을 시도해 볼 수 있는 Heartbleed 공격의 샘플 예제입니다.
먼저, 이 주제에 관해 제가 읽은 가장 좋은 설명 두 가지는 다음과 같습니다 :
이 익스플로잇은 TLS 보안 연결을 생성하기 위해 서버 cloudflarechallenge.com에 핸드셰이크를 전송하는 것으로 시작합니다. 그런 다음 hit_hb(s) 함수는 일반적인 하트비트 요청을 보냅니다 :
hb = h2bin('''
18 03 02 00 03
01 40 00
''')
우리는 서버의 응답을 기다린 후 TLS 패킷의 5바이트(헤더)를 언팩합니다: (content_type, version, length) = struct.unpack('>BHH', hdr)
그런 다음 헤더에서 얻은 길이를 기준으로 요청의 나머지 부분을 읽습니다.
데이터는 òut.txt 파일에 저장됩니다.
참고: 이 공격은 암호화 전 핸드셰이크 단계에서 수행될 수 있지만, 단순화를 위해 이 익스플로잇은 핸드셰이크 후에 시작됩니다.
컴퓨터에 python 2.7.*가 설치되어 있어야 합니다 (python 3에서는 테스트되지 않았습니다).
python2 heartbleed-exploit.py www.cloudflarechallenge.com
그러면 이와 같은 화면을 보게 될 것입니다 :

그런 다음 out.txt 파일을 확인하면 서버 메모리에 포함된 2^14 (40 00) 데이터가 4바이트 대신 들어 있는 것을 볼 수 있습니다!
익스플로잇을 여러 번 실행할 수 있으며, 실행할 때마다 파일에 다른 결과가 저장될 것입니다.
/!\ 경고 익스플로잇을 실행할 때마다 파일이 덮어써집니다.
##리소스 및 감사