PrethamMuthappa/SIEM-Honeypot-Home-Lab

GitHub: PrethamMuthappa/SIEM-Honeypot-Home-Lab

该项目记录了从零搭建一个 SOC 家庭实验室的完整流程,通过 VPS 上的 Cowrie 蜜罐捕获攻击日志并转发至 Splunk 进行安全监控与分析。

Stars: 0 | Forks: 0

这是我搭建 SOC 家庭实验室 + 蜜罐的文档 - SIEM - Splunk cloud - VPS - 目前使用 Oracle cloud 实例来搭建蜜罐 - 宿主机操作系统: MacOS 目前选择 Splunk 作为 SIEM 工具,用于从 VPS 收集数据并记录日志。由于 CPU 架构/Docker 镜像的原因,Wazuh 无法在我的虚拟机中安装 创建了一个 Splunk 账户并添加了数据输入 **HTTP Event collector**,因为我决定通过 https 将日志从 VPS 收集到 Splunk 为了测试 HEC 是否正常工作,我们发送了一个 curl 请求(HEC URL 和 token 非常重要) curl -k https://URL----.splunkcloud.com:8088/services/collector/event \ -H "Authorization: TOKEN" \ -H "Content-Type: application/json" \ -d '{ "event": { "message": "Hello from my SOC Lab!" }, "sourcetype": "_json", "source": "manual-test" }' Screenshot 2026-07-20 at 8 03 32 AM 现在我们可以看到数据提取已成功,并且可以在这里查看 # 在 VPS 中部署 Cowrie 我们将通过 Docker 使用 cowrie,以便我们可以隔离各种内容 安装 Docker 和 compose `docker run -d \` `--name cowrie \` `-p 2222:2222 \` `cowrie/cowrie:latest` 只需拉取 cowrie docker 镜像并运行它,如果你尝试使用他们的源码仓库从源码构建 docker 镜像,它是无法运行的,包括稳定版和最新发布版 **允许允许端口 2222 的 ingress 规则** 除此之外,我们还创建了一个文件夹供 docker 存储日志,然后我们获取这些日志并将其馈送到 splunk # 设置 Python 脚本读取日志并发送到 Splunk 我们通过设置一个 Python 脚本来自动化这个过程,该脚本会读取所有日志并向 splunk 发送 POST 请求 在这里我遇到了 SSL 证书问题,所以通过生成新证书来修复它,但仍然不能很好地工作,所以目前打算将 SSL 设置为 false,虽然不推荐这样做,但暂时先这样处理 **第一次尝试**:向 Splunk 发送了单个请求,以检查日志是否被读取并在 Splunk 中查询(**成功!**) **下一步**:将自动化这部分操作,让每个日志都流式传输到 Splunk # 使用 Splunk 搜索数据并在仪表板中可视化 收集日志 24 小时后,我们发现有 64 个 IP 地址连接到了我们的服务器,登录尝试超过 256 次 使用 SPL(即 Splunk 的查询语言),我们可以看到不同的数据等 并且我们还可以构建图表来将其可视化 Screenshot 2026-07-21 at 12 58 49 PM Screenshot 2026-07-21 at 1 11 39 PM 在这段时间里我遇到了一个主要问题,所有的 SSH 日志、IP 地址和密码都被正常记录了下来,但我注意到当你输入密码后,实际上无法 SSH 登录到 shell 例如,当你执行 `ssh -p 2222 root@ipaddrs` 时,当你输入任何密码,它就会卡住,而本来它是应该不论密码是什么都让你登录到 shell 的 **解决方案** cowrie docker 镜像在 docker 包中并未内置 tty,必须手动安装它,通过这样做,我成功进入了 cowrie shell
标签:CISA项目, Docker, Python, 安全运营中心, 安全防御评估, 底层分析, 无后门, 日志收集, 网络映射, 蜜罐, 证书利用, 请求拦截, 逆向工具