多头ssh蜜罐系统
blacknet的Python项目详细描述
什么
blacknet是一个低交互的ssh多头蜜罐系统 能力。
您可以使用它来收集在多个IPv4地址上执行的所有ssh尝试 你拥有互联网,并从中提取和导出统计数据。 一个专用的Web界面允许实时跟踪您的 蜜罐,哪个IP地址是针对你和从哪里来的。
安装
blacknet提供了两个组件:ssh服务器(传感器)和主服务器。 主服务器(blacknet master)是数据库所在的位置。 ssh服务器(blacknet sensor)只是与 主服务器。 请阅读两个命令的帮助,并仔细阅读blacknet.cfg.example。
您需要生成ssl证书才能使blacknet正常工作 通过网络堆栈正确(请参阅下一节)。
- 使用pip安装: $pip安装blacknet
- 以blacknet.cfg.example的副本为例,在 /etc/blacknet/或${HOME}/.blacknet/
- 在mysql数据库中运行blacknet-install.sql。
- 您可以使用 命令blacknet-updater。
- 您还可以清理数据以生成报告或执行元数据检查 使用blacknet-scrubber(有关详细信息,请咨询–帮助)
- 命令blacknet-scrubber最好在crontab中运行(使用–quiet)
- 你可能想过滤掉一些特定的用户,以获得一些或所有的蜜罐。 请参阅blacklist.cfg.example并将其放在适当的目录中。
创建SSL证书
请使用EasyRSA或等效工具生成您自己的pki并交付 服务器和蜜罐之间的证书。
# First clone the easyrsa repository cd /tmp/ git clone https://github.com/OpenVPN/easy-rsa.git # Then create a new Authority cd /tmp/easy-rsa/easyrsa3 ./easyrsa init-pki # When asked provide a Common Name for your CA (eg: Blacknet CA) ./easyrsa build-ca nopass # Generate and sign a certificate for master server (here called maestro) ./easyrsa gen-req maestro nopass ./easyrsa sign server maestro # Same for sensors ./easyrsa gen-req honeypot_00 nopass ./easyrsa sign client honeypot_00
blacknet使用的pem文件格式从私钥开始,然后 与证书连接(下面的示例)。
cat pki/private/maestro.key pki/issued/maestro.crt > maestro.pem
历史记录
最初的项目以一个修改过的virtualbox环境为特色 互动蜜罐,收集命令和事件,如密码更改。 然后我们转向支持kippo,这是一个中等交互ssh蜜罐 在Python中。今天的版本使用轻量级paramiko服务器作为 低互动度蜜罐,因为没有更多的计划(也没有更多的时间)来 自动处理命令和事件 (自动进行高交互有很多安全问题)。 底层的mysql方案仍然引用命令或事件,但是它们是 主要是因为向后兼容的原因。
与Cowrie的集成应该不难扩展blacknet特性和 让它再次高度互动。
这个项目最初是在2010年我们的工程研究期间进行的。 它在2017年重新编写,以减少维护和安装工作,并 符合现代python编程标准。
学分
- Romain Bezut(2010年、2017年)
- Vivien Bernet Rolland(2010年)
谢谢
- 我们要感谢科技大学。 我们学校给我们带来了支持,使这个项目在 上课。特别感谢指导这个项目的老师。
- 我们要感谢所有帮助我们发现问题和 在早期版本中查看此项目。
- 那些不顾一切地参与这个项目的黑客和机器人。