虚拟蜜罐

蜜罐简介

分享一个关于蜜罐的传奇小故事:

1994年米特尼克入侵圣地亚哥超级电脑中心,戏弄在此工作的日裔美籍电脑安全专家下村努并盗走他的电脑文件,还使用会话劫持技术盗走了他网络的流量。下村努立誓反击设计了蜜罐,让米特尼克中计,引诱他上钩,用电子隐形化的技术进行跟踪,成功在1995年使米特尼克被捕入狱。

1. 蜜罐是什么?

蜜罐技术(Honeypot),是一种对攻击方进行欺骗的技术,通常伪装成看似有价值的网络、数据、电脑系统,并故意设置BUG来吸引攻击者;从而可以对攻击行为进行捕获和分析,了解攻击方所使用的工具与方法,推测攻击意图和动机,能够让防御方清晰地了解他们所面对的安全威胁,并通过技术和管理手段来增强实际系统的安全防护能力。蜜罐是故意让人攻击的目标,引诱黑客前来攻击。所以攻击者入侵后,你就可以知道他是如何得逞的,随时了解针对服务器发动的最新的攻击和漏洞。还可以通过窃听黑客之间的联系,收集黑客所用的种种工具,并且掌握他们的社交网络。

2. 蜜罐的分类

2.1 按照高低交互分类

2.1.1 高交互蜜罐

一个高交互蜜罐是一个常规的计算机系统(商用现货计算机,路由器或交换机等);该系统在网络中没有常规任务,也没有固定的活动用户,因此,除了运行系统上的正常守护进程或服务,它不应该有任何不正常的进程,也不产生任何网络流量。每个与高交互蜜罐的交互都是可疑的,可以指向一个可能的恶意行为。因此,所有出入蜜罐的网络流量都被记录下来。

高交互蜜罐的缺点:
可以被完全的攻陷,它运行着带有所有漏洞的真实操作系统,没有仿真,攻击者可以与真实的系统和真实的服务进行交互,一旦蜜罐被攻陷就可能被黑客利用作为攻击其他非蜜罐网络的跳板。

优点:
由于它运行着带有所有漏洞的真实操作系统,没有仿真,攻击者可以与真实的系统和真实的服务进行交互,因此允许我们捕获大量的威胁信息。当攻击者获得非授权访问的时候,我们可以捕捉他们的漏洞利用,监视他们的按键,找到他们的工具,或者搞清楚他们的动机。

2.1.2 低交互蜜罐

低交互蜜罐允许攻击者与目标系统有限交互,允许我们了解攻击的主要的定量信息。

优点:
简单,易维护,低风险

缺点:
获取信息有限

2.1.3 低交互蜜罐和高交互蜜罐的对比

高交互蜜罐 低交互蜜罐
真实的服务、操作系统或应用程序 模拟的TCP/IP协议栈、弱点等
高风险 低风险
难以部署和维护 容易部署和维护
捕获大量的信息 捕获有关攻击的定量信息

2.2 按照物理蜜罐和虚拟蜜罐分类

2.2.1 物理蜜罐

寓意着蜜罐运行在一台物理计算机上,物理通常暗指高交互,从而允许系统被完全攻陷

2.2.2 虚拟蜜罐

自己可以通过Vmware在虚拟机上实现的蜜罐,不会占用一整个操作系统,风险小花费低;即使制作的honeydpot被攻陷了也可以快速的重建。

3. 低交互虚拟蜜罐使用

3.1 Honeyd 软件的命令格式

Honeyd 软件常用的命令格式如下:

 honeyd [-dP] [-l logfile] [-s servicelog] [-f file] 

其中较为重要常用的选项包括:
-d :非守护程序调试模式,允许冗长的调试信息。
-l logfile:将 honeyd 记录的数据包和日志写入指定的日志文件中。
-s servicelog:将 honeyd 记录的服务层日志写入到指定的服务日志文件中。
-f file:读取名为 file 的配置文件。

3.2 配置语句

  1. create
    create <template-name>: 自主创建一个模板,可以这个模板进行add,set,等操作为这个模板配置信息。
    create default: 配置一个默认模板,当honeyd找不到符合目的IP地址的模板的时候就会调用default模板。
    dynamic <template-name>: 创建动态模板,当符合一定的条件的时候可以调用别的模板。

  2. set
    set命令的格式如下:
    set <template-name> personailty <personality-name>
    set <template-name> default <proto> action <action>
    set <template-name> ethernet <cmd-string>
    set <template-name> uptime <seconds>
    一个默认的模板行为决定了主机对未分配端口或协议的反应,协议可能是TCP UDP ICMP,行为决定了主机对每个协议的默认反应,
    行为如下:

  • open: 指定所有端口在默认状态下是打开的。这个设置只影响UDP或TCP包。
  • block:默认丢掉所有指定协议的数据报。当设置为block时蜜罐不响应该协议或端口的数据报,这一特性可以用来模拟防火墙。
  • reset:指定默认状态下关闭所有端口。如果一个TCP端口被关闭,对于发送给该端口的SYN包,虚拟蜜罐应答TCP RST;如果一个CDP端口被关闭,虚拟蜜罐使用ICMP端口不可达响应。
  1. add
    add命令时任何模板应用的核心,它允许我们制定可远程访问的服务及每个端口上运行的应用程序。该命令的语法:
  • "add" template-name proto "port" port-number action-为每个服务制定协议、端口号和执行命令
  • "add" template-name "subsystem" cmd-string ["shared"] : 指定子系统
  • "add" template-name "use" template-name "if" condition : 配置动态模板
    add命令通常针对我们想要配置的模板,如果模板不存在,需要通过create命令初始化模板。
  1. bind
    "bind" ip-address template-name : 用于给一个IP地址分配模板。如果一个数据包到达一个IP地址,该IP地址还没有分配到模板,honeyd使用默认模板代替。

猜你喜欢

转载自blog.csdn.net/weixin_43901998/article/details/103375759