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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
reditrap — 최소한의 Redis 허니팟으로 RediShell(CVE-2025-49844) 악용을 탐지합니다. | Kitploit
도구/GitHubGitHub/srozb/reditrap
Vulnerability AnalysisNetwork SecurityThreat IntelligenceIntrusion DetectionLog Analysis
GitHubsrozb/reditrap

reditrap

최소한의 Redis 허니팟으로 RediShell(CVE-2025-49844) 악용을 탐지합니다.

저장소 보기
10개월 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

RediTrap 허니팟

RediTrap은 CVE-2025-49844("RediShell")을 악용하려는 초기 시도를 탐지하기 위해 설계된 경량 Redis 허니팟입니다. 이는 Wiz Research가 설명한 치명적인 원격 코드 실행 취약점입니다. 이 익스플로잇은 내장 Lua 엔진의 13년 된 use-after-free 버그를 악용합니다. Redis는 Lua 청크 이름을 스택에 먼저 고정하지 않고 저장하여, C 코드가 포인터를 계속 사용하는 동안 가비지 컬렉션 주기가 문자열을 회수할 수 있게 했습니다. Redis 패치 d5728cb 는 파싱 전에 Lua 스택에 청크 이름을 푸시하고(setsvalue2s/incr_top 사용) 이후에 팝하여 이 문제를 수정하며, 오래된 포인터를 방지하고 RCE 프리미티브를 차단합니다.

공개된 익스플로잇 경로는 EVAL, EVALSHA 또는 SCRIPT LOAD를 통해 악성 Lua 스크립트를 전송하는 데 의존하므로, 허니팟은 패치되지 않은 Redis 노드인 척하면서 이러한 상호작용을 표면화하는 데 초점을 맞춥니다.

기능

  • Redis TCP 포트(기본값 6379)에서 수신 대기하며 기본 프로브가 성공하도록 작은 RESP 하위 집합을 지원합니다(PING, , 등).
INFO
AUTH
  • 모든 명령을 JSON-lines 로그 파일에 기록하며, Lua 스크립트 활동에 대한 추가 컨텍스트(SHA-1 다이제스트, 길이, 토큰 휴리스틱, 미리보기)를 제공합니다.
  • 스크립트 지향 명령을 의심스러운 것으로 플래그 지정하고 안전한 오류 응답을 반환하여 신뢰할 수 없는 페이로드가 실행되지 않도록 합니다.
  • 이전 Redis 동작을 모방하여(예: HELLO 거부) 공격자가 작업 흐름을 계속하도록 유도합니다.
  • 시작하기

    root@kitploit:~
    python3 reditrap.py --host 0.0.0.0 --port 6379 --log-file logs/redis-honeypot-events.ndjson
    

    개발 중 추가 stdout 로깅을 위해 --verbose를 사용하세요.

    컨테이너 사용법

    경량 이미지(Alpine 기반) 빌드:

    root@kitploit:~
    docker build -t reditrap .
    # 또는: podman build -t reditrap .
    

    Redis 포트를 노출하고 로그 디렉터리를 호스트에 마운트하여 실행:

    root@kitploit:~
    mkdir -p honeypot-logs
    docker run -d --name reditrap \
      -p 6379:6379 \
      -v "$(pwd)/honeypot-logs:/data" \
      reditrap
    

    컨테이너는 기본적으로 --host 0.0.0.0 --port 6379 --log-file /data/redis-honeypot-events.ndjson을 사용하므로 로그는 호스트의 honeypot-logs/redis-honeypot-events.ndjson에 저장됩니다.

    Podman도 동일한 방식으로 작동합니다(해당되는 경우 SELinux 플래그 추가):

    root@kitploit:~
    podman run -d --name reditrap \
      -p 6379:6379 \
      -v "$(pwd)/honeypot-logs:/data:Z" \
      reditrap
    

    이미지 이름 뒤에 인수를 추가하여 기본값을 재정의할 수 있습니다. 예:

    root@kitploit:~
    docker run --rm -p 6379:6379 reditrap --redis-version 7.0.15 --log-file /data/attempts.ndjson
    

    이벤트 검사

    각 수신 요청은 NDJSON 항목이 됩니다. 의심스러운 Lua 활동에는 분류를 더 쉽게 하기 위한 휴리스틱이 포함됩니다. 예:

    root@kitploit:~
    {
      "action": "lua_eval",
      "args": ["return debug.getregistry()", "0"],
      "command": "EVAL",
      "info": {
        "arg_count": 2,
        "heuristics": {
          "length": 26,
          "matched_tokens": ["debug."],
          "preview": "return debug.getregistry()"
        },
        "key_count": "0",
        "script_hash": "763200efa15885c9fa970d45cc2b11711c739c13"
      },
      "remote": {"host": "203.0.113.42", "port": 58231},
      "timestamp": "2025-10-07T15:04:12.123456+00:00"
    }
    

    로그를 네트워크 텔레메트리와 결합하여 공격 소스를 추적하고 대응 조치를 결정하세요.

    안전 참고 사항

    • 허니팟은 수신된 Lua 스크립트를 절대 실행하지 않습니다. 시도를 기록한 후 즉시 오류 문자열을 반환합니다.
    • 대용량 벌크 문자열은 8MiB로, 배열은 128개 요소로 제한하여 악성 클라이언트의 메모리 압력을 줄입니다.
    • 허니팟을 격리된 네트워크 세그먼트 내에서 실행하고 방화벽 규칙, 포트 미러링 또는 NAT를 사용하여 환경에 적합하게 Redis 포트 트래픽을 허니팟으로 전달하세요.
    도구 다운로드