Chinaunix首页 | 论坛 | 博客
  • 博客访问: 122615
  • 博文数量: 32
  • 博客积分: 2011
  • 博客等级: 大尉
  • 技术积分: 375
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-03 17:57
文章分类

全部博文(32)

文章存档

2011年(1)

2009年(8)

2008年(23)

我的朋友

分类: 网络与安全

2008-12-30 00:44:38

4.7 服务
    尽管honeyd提供了复杂的方法对网络通信进行响应,但是实现一个蜜罐的重点还是实现使得黑客可以与蜜罐对话的服务。虽然提供一个现实的服务要付出一定付出的代价,但是我们通过这个服务获得黑客更多的信息,这是个最好的不长。在下文中,我们给出了一个简单的例子来说明如何配置和编写自己的服务。
   在最简单的情况下,服务就是从stdin中读取输入并把输出写到stdout中。通过inetd开始的internet服务就是一个例子。
   假设我们只想创建一个简单服务可以对用说说“hello”,并且把用户的输入输出。这个可以用shell脚本实现,如图4.12
#!/bin/sh
echo “Hello you”
while read data
do
 echo “$data”
done
Figure4.12
   将该文件以hello.sh为名保存在Honeydscripts文件夹下。接下来,你需要运行Honeyd,并且配置一个通过loopback接口可以访问的虚拟蜜罐。
   配置文件如图Figure4.13,它创建了一个模板,在tcp端口23运行hello.sh;这是远程登陆使用的端口。保存该配置文件为test.config并用以下命令启动honeyd
              Honeyd –d –i lo –f test.config
 
create test
add test tcp port 23 “scripts/hello.sh”
bind 10.1.0.2 test
Figure4.13
   脚本必须可执行,这是非常重要的。你可以在配置文件中指定正确的路径。否则你会看到错误信息。拂过没见事都正常运行,你可以访问10.1.0.2的虚拟米关了,只要输入
       telnet 10.1.0.2
   现在你可以看到写着“Hello you”的信息,并且接下来你在控制台的每一行输入都会被输出。因为我们在调试模式下运行honeyd,你可以在运行honeyd的终端窗口中看到关于已建立的来连接的其他信息。如果你没有看到任何信息,那就意味着你的honeyd没有看到任何包信息。那样的话你就需要回到前几章节看看,保证路由器合理暗转。
   一旦honeyd收到了该端口的连接,它便会开启一个新进程来运行之地能的脚本。如果你想将honeyd部署成一个忙碌的网络,这将导致几百个新建进程,会使你系统的性能显著下降。幸运的是我们还有许多其他的方法来创建服务,且有更好的性能。在第5章中有关于这个的信息,和如何创建更真实的服务的信息。
一句提醒:Shell脚本因为命令注入攻击问题而臭名昭著。执行前对文本进行处理是很重要的。
阅读(839) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~