Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
도구/GitHubGitHub/cheese-hub/heartbleed
Container SecurityVulnerability AnalysisExploitationWeb SecurityCTFLearning & EducationLabs & Practice
GitHubcheese-hub/heartbleed

heartbleed

해커, 피해자 및 서버 컨테이너를 통해 Heartbleed 버그(CVE-2014-0160)를 실습하고 세션 쿠키를 추출하는 교육용 Docker 기반 랩.

저장소 보기
2337년 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

하트블리드 버그

시나리오 설명

하트블리드 버그는 OpenSSL 라이브러리의 취약점을 악용하는 사이버 보안 공격의 한 예입니다. 간단히 말해, OpenSSL 라이브러리에서 누락된 검증 단계로 인해 해커가 취약한 라이브러리를 사용하는 서버의 민감한 정보에 접근할 수 있습니다. 클라이언트와 서버 간 SSL 연결을 설정하기 위한 핸드셰이크 프로토콜의 일부로, 클라이언트가 하트비트 메시지를 보내면 서버가 이를 다시 전송합니다. 또한 클라이언트는 하트비트 메시지의 길이를 보내야 하며, 서버는 이 길이를 사용하여 메모리에서 반환해야 할 바이트 수를 결정합니다. 서버에서 검증되지 않은 잘못된 길이 값은 클라이언트의 하트비트 메시지가 저장된 메모리 위치에 인접한 바이트를 반환하도록 할 수 있습니다.

이 저장소는 하트블리드 버그를 악용하여 웹 서버에서 세션 쿠키를 추출하는 방법을 보여주는 데모를 포함하고 있습니다. 이를 통해 해커는 웹사이트의 보안이 적용된 접근 제어 영역에 접근할 수 있습니다.

대상 청중

강사

사이버 보안 개념과 안전한 코딩을 가르치는 강사라면 이 예제를 사용하여 하트블리드 버그에 대한 실습 경험을 제공하고 권한 정보를 얼마나 쉽게 검색할 수 있는지 보여줄 수 있습니다.

학생

사이버 보안 수업을 듣는 학생이나 초보 프로그래머라면 코드의 사소한 실수가 어떻게 큰 보안 취약점으로 이어질 수 있는지 이해하는 것이 유익합니다. 현재 수업에서 하트블리드 공격에 대해 배우고 있다면, 이러한 공격이 어떻게 작동하는지와 예방할 수 있는 방법에 대한 추가 실무 경험을 얻을 수 있습니다.

설계 및 아키텍처

이 데모는 서버, 해커, 피해자를 위한 세 개의 Docker 컨테이너를 사용하여 설계되었습니다. 서버 컨테이너에는 간단한 Python Flask 기반 웹사이트가 호스팅되어 있으며, 성공적으로 로그인하면 환영 메시지를 반환합니다. 서버 컨테이너는 하트블리드 취약점이 있는 패치되지 않은 버전의 OpenSSL 라이브러리를 실행합니다. 해커와 피해자 컨테이너는 모두 Ubuntu 시스템에 VNC 인터페이스를 제공합니다. 해커 컨테이너에는 하트블리드 버그를 악용하여 하트비트 메시지에 잘못된 메시지 길이를 보내고 서버에서 반환된 데이터를 구문 분석하여 세션 쿠키를 찾는 Python 스크립트가 포함되어 있습니다. 지침은 해커 컨테이너 데스크톱의 HTML 문서에 제공됩니다.

설치 및 사용법

이 컨테이너 세트를 실행하는 권장 방법은 사이버 보안 데모를 위한 웹 플랫폼인 CHEESEHub를 사용하는 것입니다. CHEESEHub는 필요에 따라 컨테이너를 오케스트레이션하고 실행하는 데 필요한 리소스를 제공합니다. 이 애플리케이션을 CHEESEHub에서 실행하도록 설정하려면 각각의 세 컨테이너에 사용할 Docker 이미지, 메모리 및 CPU 요구 사항, 노출할 포트를 구성하는 애플리케이션 사양을 생성해야 합니다. 이 하트블리드 데모를 위한 JSON 스펙은 여기에서 찾을 수 있습니다.

CHEESEHub는 Kubernetes를 사용하여 애플리케이션 컨테이너를 오케스트레이션합니다. 자체 Kubernetes 설치에서 이 애플리케이션을 실행할 수도 있습니다. 로컬 머신에 최소 Kubernetes 클러스터를 설정하는 방법에 대한 지침은 Minikube를 참조하세요.

CHEESEHub 또는 Kubernetes에서 실행하기 전에 세 개의 애플리케이션 컨테이너에 대한 Docker 이미지를 빌드해야 합니다. 해커, 피해자 및 서버 컨테이너 정의는 각각 heartbleed-hacker, heartbleed-victim 및 heartbleed-server 디렉토리에서 찾을 수 있습니다. 이러한 컨테이너를 빌드하려면 다음을 실행하세요:

root@kitploit:~
cd heartbleed-hacker
docker build -t <원하는 해커 이미지 태그> .

cd heartbleed-victim
docker build -t <원하는 피해자 이미지 태그> .

cd heartbleed-server
docker build -t <원하는 서버 이미지 태그> .

Docker 이미지가 빌드되면 Docker 엔진만으로 컨테이너를 실행할 수 있습니다.

root@kitploit:~
docker run -d -p 80 <위의 해커 이미지 태그>

docker run -d -p 80 <위의 피해자 이미지 태그>

docker run -d <위의 서버 이미지 태그>

해커 및 피해자 컨테이너의 사용자 인터페이스는 VNC 인터페이스이므로 포트 80을 노출하여 호스트 시스템에서 접근 가능하게 합니다. 서버 웹사이트는 해커 및 피해자 컨테이너 내부에서만 접근하므로 서버 컨테이너의 노출된 포트는 매핑하지 않습니다.

사용법

브라우저에서 해커 컨테이너의 URL로 이동하면 Linux 데스크톱 인터페이스가 표시됩니다. 데스크톱의 Instructions.html 파일을 더블 클릭하여 이 데모를 따라하는 단계별 지침을 확인하세요. 해커 및 피해자 컨테이너에서 왼쪽 하단의 프로그램 메뉴를 선택하여 새 브라우저나 터미널 창을 시작할 수 있습니다. 해커 및 피해자가 서버의 호스팅된 웹사이트에 접근할 때 사용할 서버의 IP 주소는 CHEESEHub 컨테이너 목록 페이지에서 서버 컨테이너의 콘솔을 시작하여 얻을 수 있습니다.

기여 방법

이 애플리케이션에 문제를 보고하거나 개선 사항을 기여하려면 GitHub 이슈를 열어주세요.

도구 다운로드