Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
reditrap — 最小化 Redis 蜜罐,用于检测 RediShell(CVE-2025-49844)漏洞利用。 | Kitploit
工具/GitHubGitHub/srozb/reditrap
漏洞分析网络安全威胁情报入侵检测日志分析
GitHubsrozb/reditrap

reditrap

最小化 Redis 蜜罐,用于检测 RediShell(CVE-2025-49844)漏洞利用。

查看仓库
250年前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

RediTrap 蜜罐

RediTrap 是一个极简的 Redis 蜜罐,专用于发现针对 CVE-2025-49844(“RediShell”)的早期利用尝试,这是由 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),以诱使攻击者继续其攻击流程。

快速开始

python3 reditrap.py --host 0.0.0.0 --port 6379 --log-file logs/redis-honeypot-events.ndjson

在开发期间使用 --verbose 以获取额外的 stdout 日志输出。

容器使用

构建一个精简镜像(基于 Alpine):

docker build -t reditrap .
# 或:podman build -t reditrap .

运行容器,暴露 Redis 端口并将日志目录挂载到宿主机:

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 标志):

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

通过在镜像名称后附加参数来覆盖默认配置,例如:

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

检查事件

每个传入请求都会生成一条 NDJSON 记录。可疑的 Lua 活动包含启发式信息,以便更轻松地进行分类。例如:

{
  "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 脚本;它会在记录尝试后立即返回错误字符串。
  • 大型批量字符串限制为 8 MiB,数组限制为 128 个元素,以降低恶意客户端造成的内存压力。
  • 请在隔离的网络段中运行蜜罐,并根据您的环境使用防火墙规则、端口镜像或 NAT 将 Redis 端口流量转发到蜜罐。
下载工具