主动欺骗蜜罐系统Beeswarm简介

Beeswarm是一个主动蜜罐系统,通过部署一些模拟真实用户的节点与蜜罐系统通信,从而引诱窃听了这些会话的攻击者攻击蜜罐系统,以捕获发现攻击。

一、介绍

蜜罐系统一般不会主动产生流量,而是被动的等待攻击流量。Beeswarm则是一款主动诱骗攻击者的蜜罐,可以模拟客户端与服务器的通信(诱饵通信),诱骗黑客攻击蜜罐,以对付企图通过网络监听获取敏感信息的攻击者。

诱饵通信中,包括大量攻击者可能非常感兴趣的信息,如用户名口令、管理后台等。如果有攻击者在网络中进行窃听,获取了诱饵通信的内容,并使用这些敏感信息(如使用诱饵登录凭证)登录系统,Beeswarm就能发现网络攻击。

此外,Beeswarm也做了很好的细节处理,如对于交互式的协议(如ssh和telnet),诱饵会话的流量模式将会匹配人类的打字速度,目的是使诱饵会话流量看起来合法而且能够吸引黑客。

图 1 Beeswarm欺骗框架示例

二、安装方法

1 实验环境

Beeswarm包括Beeswarm Server、Beeswarm Drone Client、Beeswarm Drone Honeypot。Beeswarm DroneClient在网络中和Beeswarm Drone Honeypot通信并故意泄漏凭证等信息,目的是检测网络中是否有攻击者(图1 中的Adversary)窃听了网络流量并尝试使用窃取的凭证登录蜜罐系统,以发现攻击。

BeeswarmServer对Beeswarm Drone Client、Beeswarm Drone Honeypot进行管理并收集Beeswarm DroneClient、Beeswarm Drone Honeypot上报的信息,通过BeeswarmServer提供的可视化接口可以查看Beeswarm Drone Client、Beeswarm Drone Honeypot、诱饵会话以及捕获到的攻击的信息。

在本次实验中使用了三台安装Ubuntu Server 16.04 LTS系统的虚拟机,分别充当BeeswarmServer,Beeswarm Drone Client,Beeswarm Drone Honeypot。

2 Beeswarm Server安装

首先安装依赖类库:

sudo apt-get install libffi-dev build-essentialpython-dev python-pip libssl-dev libxml2-dev libxslt1-dev sudo pip install pydes –allow-external pydes –allow-unverified pydes

运行第二条命令的时候有一些告警信息,不影响安装。然后安装Beeswarm:

sudo pip install beeswarm

安装成功后使用如下命令启动Beeswarm服务:

mkdir server_workdir cd server_workdir beeswarm –server

在启动的过程中需要输入服务器的IP或者域名,我们的输入为“192.168.71.130”,安装完成后系统会给出管理员密码,这个密码是登录系统进行配置时的管理员密码,用户名是admin。

使用浏览器通过HTTPS协议访问服务器,端口号默认是5000(https://服务器IP:5000),登录界面如下图所示:

图 2 管理员登录界面

用户名为admin,密码为安装阶段给出的密码,然后登录(图3),此时还没有配置蜜罐和Drone客户端,因此没有数据。

图 3 登录后的界面

3 BeeswarmDrone Client、BeeswarmDrone Honeypot安装

在Beeswarm中Drone Client和Drone Honeypot都是Drone。在第二台虚拟机上重复上述安装步骤,直到Beeswarm安装成功,然后执行如下指令:

mkdir drone_workdir cd drone_workdir

使用浏览器访问服务器(https:// 192.168.71.130:5000),输入用户名和密码,选择+Drone菜单项,可以得到启动Drones时需要告诉Drones的Beeswarm服务器的URL,用于让服务器识别Drones

图 4 选择+Drone

之后执行如下命令(如果系统想要配置为Drone Honeypot,那么要用管理员权限运行,因为蜜罐端要占用一些熟知端口,如果仅仅是部署Drone客户端则不用),将上一步 得到的URL作为参数输入:

sudo beeswarm –config https://192.168.71.130:5000/ws/drone/add/82a93121-22dc-4150-a017-976c3ea73f50

运行命令后Drone与服务器连接等待配置:

图 5 Drone等待配置

当Drones和服务器连接后,通过浏览器访问服务器进行配置,配置页面如图3,选择Drone菜单项,然后选Unassigned,此时可以看到待配置的选项,见图6。

图 6 待配置的Drone

选择蓝色的按钮进入模式选择页面,有蜜罐和客户端两种类型,先选择蜜罐类型:

图 7 Drone类型选择

选择之后进入蜜罐节点配置页面,需要选择开启哪些服务;

图 8 蜜罐开启的服务选择

配置完成后蜜罐主机开始监听端口;

图 9 蜜罐主机监听端口

在第三台虚拟机上重复上述步骤,但是在图7的模式选择中选Client;Client模式配置页面如图10;

图 10 client配置页面

三、使用方法

在Beeswarm蜜罐系统中,Beeswarm Drone Client需要部署在想要进行检测的网段,一旦完成部署,Beeswarm Drone Client将会不断访问系统(图11是Beeswarm Drone Client 与Honeypot 交互示例)。

当BeeswarmDrone Client所在网段有攻击者进行窃听并使用窃听得到的登录凭证访问蜜罐系统时,Beeswarm就能发现攻击者的存在。

图 11 Beeswarm Drone Client 与Honeypot 交互示例

图 12 通过wireshark抓包获取的telnet会话内容

Beeswarm Drone Client 和BeeswarmDrone Honeypot会将信息报告给服务器,访问服务器可以看到Honeypot、Clients、产生的诱饵会话和攻击信息。

图 13 运行结果

四、Beeswarm相关资料

1.蜜罐系统简介 :http://www.beeswarm-ids.org/ 2.源码下载地址:https://github.com/honeynet/beeswarm

*本文原创作者:ArkTeam/HP,转载请注明来自FreeBuf黑客与极客(FreeBuf.COM)

原文发布于微信公众号 - FreeBuf(freebuf)

原文发表时间:2016-12-12

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Linux Python 加油站

在Linux上安装python

和在Windows安装Python的教程一样,安装python要配置环境pyenv,只是python要手工使用Linux命令安装,使用这种方法最好有一点Linu...

1714
来自专栏小狼的世界

Kubernetes基础:编排调度的那些Controllers

Kubernetes提供了很多Controller资源来管理、调度Pod,包括Replication Controller、ReplicaSet、Deploym...

1572
来自专栏ChaMd5安全团队

MHN中心服务器搭建与树莓派蜜罐部署

MHN中心服务器搭建 ? 0x00 介绍 MHN(Modern Honey Network),是一个用于管理和收集蜜罐数据的中心服务器。通过MHN,可以实现快...

5277
来自专栏JavaEdge

Shiro实战(五) - 会话管理

Shiro提供了完整的企业级会话管理功能,不依赖于底层容器(如web容器Tomcat),不管JavaSE还是JavaEE环境都可以使用,提供了会话管理、会话事件...

3233
来自专栏从零开始学自动化测试

pytest文档15-使用自定义标记mark

pytest可以支持自定义标记,自定义标记可以把一个web项目划分多个模块,然后指定模块名称执行。app自动化的时候,如果想android和ios公用一套代码时...

1782
来自专栏Python、Flask、Django

解决phpstorm调试网页出现 502 bad getaway

2314
来自专栏十月梦想

nodejs中cookie设置与获取

 HTTP是无状态协议。简单地说,当你浏览了一个页面,然后转到同一个网站的另一个页面,服务器无法认识到,这是同一个浏览器在访问同一个网站。每一次的访问,都是没有...

1412
来自专栏散尽浮华

Linux下FastDFS分布式存储-总结及部署记录

一、分布式文件系统介绍 分布式文件系统:Distributed file system, DFS,又叫做网络文件系统:Network File System。一...

4947
来自专栏北京马哥教育

MogileFS基于Nginx反向代理实现分布式存储与访问

前言 随着信息社会的发展,越来越多的信息被数据化,尤其是伴随着大数据时代的来临,数据呈爆炸式增长。传统存储在面对海量数据存储表现出的力不从心已经是不争的事实...

3445
来自专栏沈唁志

在Ubuntu 16.04上安装Roundcube

Roundcube是一个基于网络的IMAP电子邮件客户端,提供类似于谷歌Gmail的用户界面。它是用PHP编写的服务器端应用程序,旨在访问电子邮件服务器或服务。...

5121

扫码关注云+社区

领取腾讯云代金券