主动欺骗蜜罐系统Beeswarm简介

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

一、介绍

蜜罐系统一般不会主动产生流量,而是被动的等待攻击流量。Beeswarm则是一款主动诱骗攻击者的蜜罐,可以模拟客户端与服务器的通信(诱饵通信),诱骗黑客攻击蜜罐,以对付企图通过网络监听获取敏感信息的攻击者。诱饵通信中,包括大量攻击者可能非常感兴趣的信息,如用户名口令、管理后台等。如果有攻击者在网络中进行窃听,获取了诱饵通信的内容,并使用这些敏感信息(如使用诱饵登录凭证)登录系统,Beeswarm就能发现网络攻击。此外,Beeswarm也做了很好的细节处理,如对于交互式的协议(如ssh和telnet),诱饵会话的流量模式将会匹配人类的打字速度,目的是使诱饵会话流量看起来合法而且能够吸引黑客。

1

图 1 Beeswarm欺骗框架示例

二、安装方法

1. 实验环境

Beeswarm包括Beeswarm Server、Beeswarm Drone Client、Beeswarm Drone Honeypot。Beeswarm Drone Client在网络中和Beeswarm Drone Honeypot通信并故意泄漏凭证等信息,目的是检测网络中是否有攻击者(图1 中的Adversary)窃听了网络流量并尝试使用窃取的凭证登录蜜罐系统,以发现攻击。Beeswarm Server对Beeswarm Drone Client、Beeswarm Drone Honeypot进行管理并收集Beeswarm Drone Client、Beeswarm Drone Honeypot上报的信息,通过Beeswarm Server提供的可视化接口可以查看Beeswarm Drone Client、Beeswarm Drone Honeypot、诱饵会话以及捕获到的攻击的信息。在本次实验中使用了三台安装Ubuntu Server 16.04 LTS系统的虚拟机,分别充当Beeswarm Server,Beeswarm Drone Client,Beeswarm Drone Honeypot。

2. Beeswarm Server安装

首先安装依赖类库:

sudo apt-get install libffi-dev build-essential python-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

图 2 管理员登录界面

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

3

图 3 登录后的界面

3. Beeswarm Drone Client、Beeswarm Drone Honeypot安装

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

mkdir drone_workdir

cd drone_workdir

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

4

图 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

图 5 Drone等待配置

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

图 6 待配置的Drone

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

7

图 7 Drone类型选择

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

8

图 8 蜜罐开启的服务选择

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

9

图 9 蜜罐主机监听端口

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

10

图 10 client配置页面

三、使用方法

在Beeswarm蜜罐系统中,Beeswarm Drone Client需要部署在想要进行检测的网段,一旦完成部署,Beeswarm Drone Client将会不断访问系统(图11是Beeswarm Drone Client 与Honeypot 交互示例)。当Beeswarm Drone Client所在网段有攻击者进行窃听并使用窃听得到的登录凭证访问蜜罐系统时,Beeswarm就能发现攻击者的存在。

11

图 11 Beeswarm Drone Client 与Honeypot 交互示例

12

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

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

13

图 13 运行结果

四、Beeswarm相关资料

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