(转载)Honeypot技术讲解

Honeypot技术讲解


创建时间:2001-03-03 更新时间:2003-11-13
文章属性:原创
文章来源: http://www.xfocus.org
文章提交: ()

Honeypot技术讲解
http://www.xfocus.org
email:Morrison@xfocus.org

引言:
我的一个好朋友前两天和我聊天的时候告诉我了一个故事:他在网上认识了一个人,告诉说自己是个网络黑客,而且说目前在国内没有进不去的主机。我的朋友被震住了,这样的水平太高了,但同时又心有疑虑。通过修改了自己FreeBSD的一些配置如banner以及用nc开了一些服务并备份删除了一些suid文件,然后启动一个sniffer并建立了一个本地一般系统帐号,并把自己的IP和这个帐号告诉了这个朋友,让他放心进来试试能不能本地夺取root。后来我的朋友对我大笑说"你知道这个朋友做了什么,他的所有击键记录里什么也没做,当了几个在RedHat下缓冲溢出程序,还没有编译成,然后后来告诉我"你的系统已经被放置了后门""。我听了后也笑了,但同时想到了honeypot-"蜜罐"。
Hoenypot定义
一个"honeypot"就是一个设计用来观测黑客如何探测并最终入侵系统的一个系统,它意味着包含一些并不威胁公司机密的数据或应用程序同时对于黑客来说又具有很大的诱惑力的这样的一个系统,也就是放置在你网络上的一台计算机表面看来象一台普通的机器但同时通过一些特殊配置来引诱潜在的黑客并捕获他们的踪迹,就像捕鼠器一样。我们并不是使用它来抓获黑客,仅仅想知道他们在并不知道自己被观测的情况下如何工作,黑客呆在"honeypot"的时间越长,他们所使用的技术就暴露的越多,而这些信息可以被用来评估他们的技术水平,了解他们使用的攻击工具。通过学习他们使用的工具和思路,我们可以更好的保护我们的系统和网络。
    一个好的"honeypot"意味着黑客从来不知道自己被跟踪,当然,"道高一尺,魔高一丈",没有任何一个"honeypot"可以捕获所有的黑客。我们所提到黑客意味着这样一些人:没有经过授权的情况下对系统进行存取,有可能是一个15岁的小孩,或者45岁的公司雇员,尽管这里提到很多关于我们所跟踪的黑客,但是我们并不知道他的实际年龄。
    honeypot在各个操作系统上实现都不太一致,但最终的思路是一样的,你要让你的入侵者不知道你正在观测他(她),最好他会在上面开IRC  J。想写案例,可又不能瞎掰,只好选用国外两篇文章先。下面先介绍--<<know your enemy worms at war>>。然后我们会用NC自己作一个简单"honeypot"然后我们来看看wined和dtk。
1. Windows上的honeypot
在一个月的时间内(2000/9/20-2000/10/20)我们确认在我们的网络"honeypot"遭受过524个基于NetBIOS扫描。这些扫描是基于UDP137端口(NetBIOS命名服务)的探测,有时伴随着基于TCP139端口(NetBIOS会话服务)。所有这些表明存在大量的针对特殊服务的扫描活动,某些事情正在发生,我们决定发现出了什么事。
我们的网络并没有在Internet做什么广告或者宣传,仅仅是放在那里。所有迹象表明这些我们接受到的扫描仅仅是随机扫描。但同样会威胁到你的系统的安全,由于这些扫描主要针对Windows系统,有可能主要瞄准通过DSL或Cable连接的普通家庭用户。我们不讨论间谍或主页被黑,我们在这里仅讨论一般家庭用户作为被攻击的对象。我们对这一切感到好奇:谁正在作这样的扫描?他们的意图是什么?为什么存在大量的这种扫描?协同探测的结果?是蠕虫吗?带着很多问题,我们决定去发现结果并放置了我们的Windows"honeypot",我们缺省安装了一台Windows98并且使c:盘共享,尽管一台Windows98 "honeypot"听起来并没有多大的诱惑力,但是仍然可以通过建立这样的系统来获得我们所想知道的。
在Internet上有大量的Windows98系统,而且这个数量还在快速增长。作为具有代表性的系统,该系统存在大量的安全漏洞。但是作为家庭用户并没有认识到连接到Internet的风险性,他们中的大多数还是专注地连接Internet。
这是我们的第一个基于Microsoft的"honeypot",该计划也非常简单并且希望学到什么。
在2000/10/31日,系统安装好,共享打开,并且连接到Internet,我们开始等待,等待时间是如此漫长。

第一条蠕虫
至少24小时后我们接待了我们的第一位访客。IP为216.191.92.10的系统(host-010.hsf.on.ca)扫描了我们的网络搜寻Windows系统,他发现了我们的"honeypot"并且开始查询它。一开始他尝试获得系统名并确定共享是否打开。一旦他发现共享打开,开始在我们的系统上探测某种二进制文件。他的目标是确定在我们的"honeypot"上是否安装了某种蠕虫,如果没有,就会安装它。在这里,这种蠕虫并没有被安装,这个蠕虫被确定为"Win32.Bymer Worm"。此蠕虫的目的在于利用占领的主机的CPU资源来帮助某人赢得distributed.net竞赛,distributed.net是一个提供利用分布式计算机空闲资源进行各种挑战(如 crack RC5-64)奖项的组织。如果赢得挑战将获得一些奖金,在这里,我们的访客通过安装蠕虫把我们当成"志愿军"来参加这个项目。

某个人(bymer@inec.kiev.ua),制作了这个可复制的蠕虫,它可以在不被怀疑的有漏洞的Windows系统上安装distributed.net客户端。一旦被安装且被执行,蠕虫就可以利用你的系统CPU资源帮助安装的人赢得奖金。期间蠕虫也会探测别的可能被入侵的系统,它的目标是获取更多的CPU资源,处理速度会随着入侵系统的增多而呈指数增长。让我们来看一下通过网络捕获的数据包(在这里我们使用snort)。为了更方便的分析NetBIOS协议,你需要一些协议分析器如Ethereal。这个过程通过sniffer追踪如下,IP为172.16.1.105的是我们"honeypot"的地址。
在一开始的时候,蠕虫在我们的系统上检查dnetc.ini,这是distributed.net客户端的标准配置文件,该配置文件告诉主服务器谁的CPU资源引该被信任。在这里我们通过跟踪远程系统(NetBIOS名称GHUNT,帐号GHUNT,域名HSFOPROV)的记录发现他拷贝这个文件到我们"honeypot"中。
11/01-15:29:18.580895 216.191.92.10:2900 -> 172.16.1.105:139
TCP TTL:112 TOS:0x0 ID:50235  DF
*****PA* Seq: 0x12930C6   Ack: 0x66B7068   Win: 0x2185
00 00 00 5B FF 53 4D 42 2D 00 00 00 00 00 01 00  ...[.SMB-.......
00 00 00 00 00 00 00 00 00 00 00 00 00 C8 57 1C  ..............W.
00 00 82 D1 0F FF 00 00 00 07 00 91 00 16 00 20  ...............
00 DC 1C 00 3A 10 00 00 00 00 00 00 00 00 00 00  ....:...........
00 00 00 1A 00 5C 57 49 4E 44 4F 57 53 5C 53 59  ...../WINDOWS/SY
53 54 45 4D 5C 64 6E 65 74 63 2E 69 6E 69 00     STEM/dnetc.ini.

    通过下面信息我们可以看到配置文件dentc.in的确切传输配置,注意bymer@inec.kiev.ua,他就是接受CPU资源的人,很可能也是该蠕虫的作者。
11/01-15:29:18.729337 216.191.92.10:2900 -> 172.16.1.105:139
TCP TTL:112 TOS:0x0 ID:50747  DF
*****PA* Seq: 0x1293125   Ack: 0x66B70AD   Win: 0x2140
00 00 01 11 FF 53 4D 42 0B 00 00 00 00 00 01 00  .....SMB........
00 00 00 00 00 00 00 00 00 00 00 00 00 C8 57 1C  ..............W.
00 00 02 D2 05 00 00 E1 00 00 00 00 00 E1 00 E4  ................
00 01 E1 00 5B 6D 69 73 63 5D 20 0D 0A 70 72 6F  ....[misc] ..pro
6A 65 63 74 2D 70 72 69 6F 72 69 74 79 3D 4F 47  ject-priority=OG
52 2C 52 43 35 2C 43 53 43 2C 44 45 53 0D 0A 0D  R,RC5,CSC,DES...
0A 5B 70 61 72 61 6D 65 74 65 72 73 5D 0D 0A 69  .[parameters]..i
64 3D 62 79 6D 65 72 40 69 6E 65 63 2E 6B 69 65  d=bymer@inec.kie
76 2E 75 61 0D 0A 0D 0A 5B 72 63 35 5D 0D 0A 66  v.ua....[rc5]..f
65 74 63 68 2D 77 6F 72 6B 75 6E 69 74 2D 74 68  etch-workunit-th
72 65 73 68 6F 6C 64 3D 36 34 0D 0A 72 61 6E 64  reshold=64..rand
6F 6D 70 72 65 66 69 78 3D 32 31 37 0D 0A 0D 0A  omprefix=217....
5B 6F 67 72 5D 0D 0A 66 65 74 63 68 2D 77 6F 72  [ogr]..fetch-wor
6B 75 6E 69 74 2D 74 68 72 65 73 68 6F 6C 64 3D  kunit-threshold=
31 36 0D 0A 0D 0A 5B 74 72 69 67 67 65 72 73 5D  16....[triggers]
0D 0A 72 65 73 74 61 72 74 2D 6F 6E 2D 63 6F 6E  ..restart-on-con
66 69 67 2D 66 69 6C 65 2D 63 68 61 6E 67 65 3D  fig-file-change=
79 65 73 0D 0A                                   yes..

下一个要传的软件是distributed.net客户端-dnetc.exe。一个可执行文件,原始版本是没有病毒。我们为了确认这个文件是否被改动过,于是我们取了在"honeypot"中的改文件的MD5签名,之后我们从distributed.net上下载了该客户端并同样用MD5进行签名,结果表明一样(d0fd1f93913af70178bff1a1953f5f7d),表明该客户端并没有做过改动,仅仅是为了获取你的CPU资源进行竞赛,但是所有这一切都没有经过我们的同意。
11/01-15:34:09.044822 216.191.92.10:2900 -> 172.16.1.105:139
TCP TTL:112 TOS:0x0 ID:33084  DF
*****PA* Seq: 0x129341A   Ack: 0x66B71C0   Win: 0x202D
00 00 00 5B FF 53 4D 42 2D 00 00 00 00 00 01 00  ...[.SMB-.......
00 00 00 00 00 00 00 00 00 00 00 00 00 C8 57 1C  ..............W.
00 00 04 26 0F FF 00 00 00 07 00 91 00 16 00 20  ...&........
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值