Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

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

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

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
工具/GitHubGitHub/tothi/ad-honeypot-autodeploy
渗透测试威胁情报学习与教育红队日志分析实验室与实践
GitHubtothi/ad-honeypot-autodeploy

ad-honeypot-autodeploy

自动部署一个小型、故意不安全、存在漏洞的Windows域,用于RDP蜜罐。

查看仓库
259453年前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

ad-honeypot-autodeploy

自动部署一个小型、故意配置不安全、脆弱的 Windows 域,用于 RDP 蜜罐。

使用基于 libvirt 与 QEMU/KVM 的自托管虚拟化运行(但可以轻松定制用于基于云的解决方案)。

用于自动(无需用户交互)从零搭建一个小型 Windows 域,以便进行 RDP 蜜罐测试。

包含一个域控制器、一台桌面计算机和一个配置好的 Graylog 服务器,用于记录攻击者的行为。

自动部署阶段

  1. Packer:下载必要的安装介质并自动设置无人值守的基础虚拟机镜像。

  2. Terraform:使用 packer 准备好的虚拟机镜像,配置 libvirt 虚拟化基础设施(网络 + 虚拟机)。

  3. Ansible:自动配置基础设施(域控制器、桌面、Graylog),无需用户交互。

完成 Packer+Terraform+Ansible 流程后,配置好的 Windows 域应已启动并运行。您可以将桌面的 RDP 服务连接到公网,然后通过 Graylog 监控事件。

特性

运行系统的特性包括:

  • 作为域控制器的 Windows Server 2016
  • 作为域计算机的 Windows 10 桌面版(21H2)
  • 在 Ubuntu 18.04 LTS 上运行日志收集器 Graylog 3.3(开源版)
  • 使用 VirtIO 驱动以获得最佳性能
  • 启用 RDP 和 WinRM 服务
  • 使用随机用户填充 Windows Active Directory
  • 在域计算机上安装并运行 Sysmon(来自 Windows Sysinternals)
  • 在域计算机上运行 NXLog 收集器并将日志转发到 Graylog
  • 配置了 Graylog GeoIP 查找表和 IP 地址管道(有助于显示无效 RDP 登录尝试的地图)
  • Graylog RDP 攻击世界地图
  • 一个额外的 Kali 虚拟机连接到 Windows 子网,用于练习攻击技术

主机系统要求

虚拟化需要宿主系统具备一定的性能:

  • 约 100 GB 磁盘空间用于基础镜像和客户机的稀疏镜像
  • 客户机至少需要 4 x 4 GB 内存(由于超量使用,可能可以在低于 16 GB 的情况下运行)
  • 安装最新版本的 libvirt 与 QEMU/KVM(Ubuntu 18.04 LTS 中的官方当前软件包应可正常工作)
  • Python 3(最好使用 venv)用于 Ansible

已在 Ubuntu 18.04 LTS 主机上测试。

安装与使用

首先,克隆仓库:

root@kitploit:~
git clone https://github.com/tothi/ad-honeypot-autodeploy
cd ad-honeypot-autodeploy

在开始使用 Packer 之前,设置初始密码(注意复杂性要求):

root@kitploit:~
./init_passwords.sh

Packer

现在构建初始镜像。

root@kitploit:~
cd packer

Packer 脚本应自动下载 Windows Server 2016 和 Ubuntu 安装介质。VirtIO 需要通过附带的 get-virtio.sh 脚本下载:

root@kitploit:~
./get-virtio.sh

Windows 10 需要手动获取临时下载链接并保存到 ISO 文件夹。可以从这里获取下载链接。选择英文(国际版)64 位版本,并将 ISO 保存为 ISO/Win10_21H2_EnglishInternational_x64.iso。

为了在 Graylog 的世界地图上显示 IP 位置,需要 MaxMind GeoIP 数据库。由于许可条款,无法重新分发,因此您需要手动下载(注册后)从 MaxMind 网站获取。免费版本 GeoLite2 应该可用,请获取“GeoLite2 City”数据库的 MMDB 格式(下载 GZIP 并解压),并将其放在 resources/GeoLite2-City.mmdb。

如果您没有 Packer,请从 packer.io 网站获取最新版本(下载预编译二进制文件)或尝试将 Hashicorp 仓库添加到您的软件包管理系统(对 Terraform 也很有用)。

如果重新构建镜像,不要忘记清理之前的构建:

root@kitploit:~
rm -fr output_*

如果想重新下载镜像,请删除 packer_cache:

root@kitploit:~
rm -fr packer_cache

完成这些准备步骤后,并行运行 Packer 构建:

root@kitploit:~
./packer-build-all.sh

Packer 运行中

镜像应在合理的时间内准备就绪(约 20-30 分钟,取决于宿主硬件性能)。

Terraform

现在可以使用 Terraform 部署基础设施。

如果您没有 Terraform(>=0.13),请获取(请参阅上面 Packer 部分的安装方法)。

Terraform libvirt 提供者 应在 apply 阶段从 Terraform Registry 自动下载。

进入 Terraform 文件夹:

root@kitploit:~
cd ../terraform

初始化工作目录(仅首次使用需要):

root@kitploit:~
terraform init

构建并启动基础设施(“应用更改”):

root@kitploit:~
terraform apply

请注意,如果运行 terraform apply 的用户不是 root,则需要 sudo 权限来运行 /usr/sbin/iptables(无需密码)。

Terraform 运行中

短时间后(约 2-3 分钟),网络和虚拟机将启动并运行。如果出现任何故障,terraform destroy 可能不够,可能需要手动取消定义资源。

警告:您应保护您的私有网络。此处提供的 terraform 配置(main.tf)仅包含自定义防火墙规则,适用于我自己的测试环境(阻止从 192.168.3.0/24 蜜罐网络到 192.168.0.0/16 目标流量)。

接下来是配置阶段。

Ansible

进入 ansible 文件夹:

root@kitploit:~
cd ../ansible

推荐的安装方法是在 Python venv 虚拟环境中安装最新的 Ansible 及一些必需的附加依赖项:

root@kitploit:~
python3 -m venv venv
. ./venv/bin/activate
pip3 install -r requirements.txt

以后使用时,只需激活 venv:

root@kitploit:~
. ./venv/bin/activate

如果当前会话不再需要,只需运行 deactivate。

您应该将一个 SSH 公钥(文件名为 id.pub,使用 ssh-keygen 生成)放入 ansible 文件夹,以便使用 ubuntu 用户访问 Ubuntu Graylog 机器(ansible 会将其添加到 ~ubuntu/.ssh/authorized_keys)。

wordlist.txt 文件包含一些填充域用户的(故意设置的弱)密码,可以根据需要自定义。

运行配置阶段:

root@kitploit:~
ansible-playbook -i hosts setup-domain.yml -v

Ansible 运行中

20-25 分钟后,一切准备就绪。

部署后的系统

根据 libvirt 网络配置(NAT),主机可以访问公网(如果您的宿主系统允许)。

可以通过宿主系统访问主机。实际上,使用 SSH socks 隧道和 proxychains 进行 RDP 或 WinRM 访问非常方便。

例如,如果您的 libvirt 主机 IP 为 192.168.0.10,通过以下命令创建监听 localhost:5000 的 socks 隧道:

root@kitploit:~
ssh 192.168.0.10 -D5000 -NTv

然后访问 Windows 10 桌面(使用配置了 :5000 隧道的 /etc/proxychains.conf):

root@kitploit:~
proxychains xfreerdp /v:192.168.3.112 /u:administrator

或者,通过 SSH ProxyJump 和自定义转发隧道,在本地访问 Graylog Ubuntu 服务器上监听 :9000 的 Graylog Web 界面:

root@kitploit:~
ssh -J 192.168.0.10 [email protected] -NTv -L9000:127.0.0.1:9000

然后打开 URL http://localhost:9000,即可访问 Graylog Web 界面。

要激活 RDP 蜜罐,只需允许公网访问 192.168.3.112:3389(例如,在路由器上配置端口转发,在宿主机上配置 iptables 规则;我的辅助脚本是 rdp_public.sh),然后持续观察 Graylog。;)

下载工具
主机名IP 地址操作系统角色
dc1192.168.3.100Windows Server 2016域控制器
desktop12192.168.3.112Windows 10(版本 2004)域成员工作站
graylog192.168.3.191Ubuntu 18.04 LTSGraylog 服务器
kali192.168.3.192Kali Rolling(2022.3)攻击操作机