多头ssh蜜罐系统

blacknet的Python项目详细描述


https://travis-ci.org/morian/blacknet.svg?branch=masterhttps://coveralls.io/repos/github/morian/blacknet/badge.svg?branch=masterhttps://img.shields.io/badge/license-MIT-blue.svg

什么

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年)

谢谢

  • 我们要感谢科技大学。 我们学校给我们带来了支持,使这个项目在 上课。特别感谢指导这个项目的老师。
  • 我们要感谢所有帮助我们发现问题和 在早期版本中查看此项目。
  • 那些不顾一切地参与这个项目的黑客和机器人。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
javascript问题:通过URL用网站数据填充Textview   java TabLayout Android,如何用几个标签填充整个屏幕宽度,并用大量标签滚动?   Eclipse Java运行的文件不再存在于我的工作区中   安装两个Java版本时,使用Java的windows链接不起作用   java将多个图形添加到单个JPanel   java Kafka ConsumerFactory,带有两个Desiarizer   使用反射更改java类超类   当一致性测试失败时,java有没有办法让堆栈跟踪显示在控制台中   java映射到基元类型的HashMap的快速替代方案是什么?   java关闭一个jframe所有剩余的打开jframe都将关闭。   java为什么不推荐“使用getString()获取设备标识符”?   java值比较和值赋值之间有什么性能差异吗?   Java实体数组到JavaScript数组   java使用流将一个列表转换为另一个列表   在JTree中保存对象,但更改显示的名称(java swing)?   java“Hello world”Android应用程序,文件尽可能少,没有IDE,只有文本编辑器   java在方法之间传递值   java如何为项目数组创建ParseQuery?