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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2021-32675 — CVE-2021-32675의 Redis 기능적 DoS 익스플로잇으로, 과도한 크기의 벌크 문자열 헤더를 활용하여 메모리 고갈을 유발합니다. 사용 지침과 Docker 기반 테스트 환경을 포함합니다. | Kitploit
도구/GitHubGitHub/rubbxalc/cve-2021-32675
Vulnerability AnalysisExploitationPenetration TestingLearning & EducationRed Teaming
GitHubrubbxalc/cve-2021-32675

CVE-2021-32675

CVE-2021-32675의 Redis 기능적 DoS 익스플로잇으로, 과도한 크기의 벌크 문자열 헤더를 활용하여 메모리 고갈을 유발합니다. 사용 지침과 Docker 기반 테스트 환경을 포함합니다.

저장소 보기
13시간 45분 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2021-32675 – Redis 사전 할당 서비스 거부 (OOM)

이 저장소는 Redis의 서비스 거부(DoS) 취약점인 CVE-2021-32675에 대한 기능적 익스플로잇을 포함합니다. 이 결함으로 인해 인증되지 않은 원격 공격자가 인자 데이터를 제공하지 않고 과도하게 큰 벌크 문자열 헤더를 전송하여 Redis 서버에 대규모 메모리 사전 할당을 유발할 수 있으며, 이로 인해 메모리 고갈 및 서비스 중단이 발생합니다.

설명

CVE-2021-32675는 Redis 쿼리 버퍼 처리의 취약점입니다. RESP(REdis Serialization Protocol) 프로토콜에서 들어오는 명령을 파싱할 때, Redis는 벌크 문자열 인자의 선언된 길이($<length>\r\n)를 읽고, 인자 바이트를 읽기 전에 페이로드를 수신하기 위해 SDS(Simple Dynamic String) 버퍼를 메모리에 즉시 사전 할당합니다.

이 사전 할당이 인자 페이로드를 수신하기 전에 발생하므로, 인증되지 않은 클라이언트는 최대 허용 벌크 문자열 크기(기본적으로 proto-max-bulk-len은 512MB)를 선언하고 실제 데이터를 전송하지 않은 채 연결을 무기한 유지할 수 있습니다. Redis는 각 활성 연결에 대해 사전 할당된 메모리를 유지하므로 약 32,000,000배(~16바이트의 네트워크 트래픽으로 512MB 메모리 예약 발생)의 증폭 비율을 생성합니다.

이 헤더 전용 기법을 사용하여 여러 동시 연결을 열면 사용 가능한 서버 메모리가 빠르게 고갈되어 다음이 발생합니다:

  • maxmemory 정책이 활성화된 경우 강제 키 축출.
  • 후속 쓰기 작업 거부로 인한 서비스 거부(OOM command not allowed).
  • 운영 체제 OOM(Out-Of-Memory) 킬러에 의한 프로세스 종료.

이 취약점은 다음 이전 버전의 Redis에 영향을 미칩니다:

  • 6.2.6
  • 6.0.16
  • 7.0 (인증되지 않았거나 기본 벌크 제한으로 실행되는 경우)

인증(requirepass 미설정) 없이 실행되거나 기본 (512MB)으로 실행되는 Redis 인스턴스는 이 익스플로잇에 취약합니다. 패치된 버전은 사전 할당이 발생하기 전에 인증되지 않은 클라이언트에 대해 엄격한 16KB 프로토콜 버퍼 제한을 적용합니다.

proto-max-bulk-len

설치 지침

  1. 가상 환경 생성 (선택 사항이지만 권장):
root@kitploit:~
python3 -m venv .venv
source .venv/bin/activate
  1. 종속성 설치:
root@kitploit:~
pip install -r requirements.txt

요구 사항

  • Python 3.8+

    • colorama 라이브러리
    • redis 라이브러리
  • 취약한 Redis 인스턴스 (6.2.6 / 6.0.16 이전 버전 또는 인증되지 않은 인스턴스)

사용법

root@kitploit:~
python3 exploit.py --host <IP> --port <PORT> [options]

옵션

옵션유형기본값설명
--hoststr필수대상 Redis 호스트명 또는 IP 주소
--portint6379포트 번호
--connectionsint10열 악성 연결 수
--sizeint512선언된 벌크 문자열 버퍼 크기(MB)
--holdint5정리 전 연결을 유지하는 시간(초)
--password, --authstrNoneRedis 인증용 비밀번호 (필요한 경우)

예시

root@kitploit:~
python3 exploit.py --host 127.0.0.1 --port 6379 --connections 10 --size 512 --hold 5

로컬 테스트 환경 (선택 사항)

포함된 Docker Compose 구성을 사용하여 로컬 테스트 랩을 실행할 수 있습니다:

root@kitploit:~
# 취약한 Redis(포트 6380) 및 완화된 Redis(포트 6381) 시작
docker compose -f conf/docker-compose.yml up -d

# 취약한 인스턴스에 대해 테스트
python3 exploit.py --host 127.0.0.1 --port 6380 --connections 10 --size 512

# 완화된 인스턴스에 대해 테스트
python3 exploit.py --host 127.0.0.1 --port 6381 --password "L4bS3cur3!2024" --connections 10 --size 512

# 컨테이너 중지
docker compose -f conf/docker-compose.yml down

면책 조항

이 개념 증명은 교육, 연구 및 보안 검증 목적으로만 제공됩니다. 작성자는 명시적 허가 없이 시스템에 대한 오용, 손상 또는 무단 테스트에 대해 책임을 지지 않습니다.

도구 다운로드