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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
redis-poc — Redis 6.2.22, 7.4.9, 8.6.4, 8.8.0, 8.8.1용 RCE PoC | Kitploit
도구/GitHubGitHub/berabuddies/redis-poc
Vulnerability AnalysisExploitationPenetration TestingRed TeamingDatabase SecurityBinary Exploitation
GitHubberabuddies/redis-poc

redis-poc

Redis 6.2.22, 7.4.9, 8.6.4, 8.8.0, 8.8.1용 RCE PoC

저장소 보기
48711828일 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Redis 인증 RCE (stream NACK double free, TDigest 및 TopK 모듈 버그)

Redis 6.2.22, 7.4.9, 8.6.4를 대상으로 하는 비파괴적(non-destructive) RCE 익스플로잇입니다. stream consumer-group 공유 NACK double free(CVE-2026-25243 패치 우회)를 이용하며, 8.8.0은 번들 RedisBloom의 TDigest 힙 오버플로, 8.8.1은 TopK wild free(CVE-2026-25589 패치 우회)를 이용합니다.

파일

  • A_exploit_stock.py — 6.2.22용 익스플로잇 (redis:6.2.22 이미지)
  • P74_exploit.py (+ P74_g2.py) — 7.4.9용 익스플로잇 (redis:7.4)
  • P86_exploit.py — 8.6.4용 익스플로잇 (redis:8.6)
  • P88W_exploit.py (+ P88W_lib.py, P88W_corrupt.py) — 8.8.0용 익스플로잇 (redis:8.8.0, 번들 모듈 TDigest 힙 오버플로 이용)
  • T88_exploit.py — 8.8.0 및 8.8.1용 익스플로잇 (번들 모듈 TopK wild free 이용; 불완전한 CVE-2026-25589 수정 우회 — RedisBloom v8.8.0 및 v8.8.2에서 동작)
  • A_lib.py, G2_arbread.py — 공용 헬퍼 (익스플로잇과 같은 위치에 있어야 함)
  • crc64.c/h, crcspeed.c/h — libcrc64.so용 소스 (Redis CRC64, 유효한 RESTORE 페이로드를 만드는 데 필요)
  • calibrate.sh — 비공식 빌드용 바이너리 오프셋 계산
  • P74_loop.sh, P86_run.sh — 부팅 재시도 래퍼

빌드 (1회)

root@kitploit:~
gcc -shared -fPIC -O2 -o libcrc64.so crc64.c crcspeed.c

요구 사항: Python 3.6+ (pip 패키지 불필요), gcc.

사용법

root@kitploit:~
# 6.2.22 (DEBUG는 기본적으로 활성화됨)
python3 A_exploit_stock.py <host> <port> [password] [trigger]

# 7.4.9 / 8.6.4 — 공식 대상, debug 플래그 불필요
python3 P74_exploit.py <host> <port> [password] [trigger]
python3 P86_exploit.py <host> <port> [password] [trigger]

# 8.8.0 — 공식 대상, 새 컨테이너/인스턴스 사용을 강력히 권장
python3 P88W_exploit.py <host> <port> [password] [trigger]

# 8.8.0 / 8.8.1 — TopK wild free, 공식 대상, 새 인스턴스 권장
python3 T88_exploit.py <host> <port> [password] [trigger]
  • password — 인증이 없는 대상은 생략(또는 "" 전달)
  • trigger — 셸 명령, 기본값은 /data/pwned* 아래에 증명 파일 작성

예시:

root@kitploit:~
# 로컬 랩, 6.2.22
docker run -d -p 6379:6379 redis:6.2.22 redis-server --requirepass exploitme
python3 A_exploit_stock.py 127.0.0.1 6379 exploitme "id > /data/pwned_stock"

# 로컬 랩, 7.4.9
docker run -d -p 6379:6379 redis:7.4 redis-server --requirepass exploitme
python3 P74_exploit.py 127.0.0.1 6379 exploitme "id > /data/pwned74"

# 로컬 랩, 8.6.4
docker run -d -p 6379:6379 redis:8.6 redis-server --requirepass exploitme
python3 P86_exploit.py 127.0.0.1 6379 exploitme "id > /data/pwned86"

# 로컬 랩, 8.8.0
docker run -d -p 6379:6379 redis:8.8.0 redis-server --requirepass exploitme
python3 P88W_exploit.py 127.0.0.1 6379 exploitme "id > /data/pwned88"
python3 T88_exploit.py 127.0.0.1 6379 exploitme "id > /data/pwned_t88"

대상 요구 사항

  • 6.2.22: 기본적으로 공식 이미지 오프셋을 사용합니다. 다른 빌드는 오프셋을 재정의하거나(--str-format-off 등; --help 참조), ./calibrate.sh /path/to/redis-server [/path/to/libc.so.6]를 실행해 오프셋을 생성하세요. 잘못된 오프셋은 대상 서버를 크래시시킵니다 (범위를 벗어난 읽기).
  • 7.4.9 / 8.6.4 / 8.8.0 / 8.8.1: 공식 이미지 그대로 사용, debug 플래그 불필요.
  • 사용자가 사용할 수 있는 명령: EVAL, RESTORE, XGROUP (8.8.0/8.8.1은 기본적으로 포함된 번들 RedisBloom 모듈도 필요).
  • 8.8.0/8.8.1 익스플로잇은 레이아웃에 민감합니다: TDigest corridor와 TopK wild free는 모두 jemalloc 레이아웃에 의존합니다. 다른 클라이언트/명령이 섞이지 않은 새 인스턴스를 사용하고, grooming 실패 시 재시도하세요.

참고 사항

  • 실행 후 잔여물(의도적이며 무해함): double-free된 청크를 유지하는 소수의 익스플로잇 키가 남습니다. 자세한 내용은 HARDENING.md를 참조하세요. 8.8.0 익스플로잇은 약 2000개의 0으로 채워진 tdigest 구조체와 손상된 oracle 키를 남기므로, 이후 대상에서 FLUSHALL/SAVE를 실행하지 마세요.
  • 공유 NACK double free는 8.8.0에서만 수정되었습니다(PR #15081). 8.8.0 익스플로잇은 대신 수정되지 않은 별도의 번들 모듈 버그를 사용합니다.
  • 입증된 패치 우회: 공유 NACK 변종은 CVE-2026-25243 수정을 우회합니다. TopK wild free는 CVE-2026-25589 수정(부분적 포인터 제로화)을 우회합니다. TopK_Destroy는 RedisBloom v8.8.0과 v8.8.2 모두에서 크기가 부족한 힙을 넘어 모든 k 포인터를 계속 읽습니다.
  • 신뢰성: 새 컨테이너에서 6.2.22 10/10, 7.4.9 5/5, 8.6.4 25/25, 8.8.0 5/5 검증 완료. 실패 시 깨끗하게 중단되며, 재실행하거나 래퍼를 사용하세요.

승인된 테스트에만 사용하세요.

도구 다운로드