详细部署dionaea低交互式蜜罐和记录分析(一)

admin 2021年1月27日12:58:33评论184 views字数 6113阅读20分22秒阅读模式
摘要

今天偶然看到清华大学CCERT在中国教育报发表的文章,原文地址:http://wenku.baidu.com/view/827a5417650e52ea55189841.html ,还要收费1元。于是就决定写一篇关于对蜜罐进行部署和使用的详细文章。(一篇文章我一般都需要几天时间来完成的,To be perfect 是我做任何事情都喜欢追求的。)


这篇文章上次修改于 314 天前,可能其部分内容已经发生变化,如有疑问可询问作者。

今天偶然看到清华大学CCERT在中国教育报发表的文章,原文地址:http://wenku.baidu.com/view/827a5417650e52ea55189841.html ,还要收费1元。于是就决定写一篇关于对蜜罐进行部署和使用的详细文章。(一篇文章我一般都需要几天时间来完成的,To be perfect 是我做任何事情都喜欢追求的。)

一、初步认识dionaea

dionaea,中文的意思即捕蝇草,是否形容蜜罐很形象?dionaea是nepenthes(猪笼草)的发展和后续,更加容易被部署和使用。何谓蜜罐?引诱攻击者发起攻击,并能记录攻击者的活动信息。蜜罐一般分为两种类型:高交互式蜜罐和低交互式蜜罐。

低交互式蜜罐只是模拟出了真正操作系统的一部分,例如模拟一个FTP服务。虽然低交互式蜜罐容易建立和维护,但模拟可能不足以吸引攻击者,还可能导致攻击者绕过系统发起攻击,从而使蜜罐在这种情况下失效。

高交互式蜜罐是一部装有真正操作系统,并可完全被攻破的系统。与攻击者进行交互的是一部包含了完整服务的真实系统。用于网络安全的高交互式蜜罐提供了真实操作系统的服务和应用程序,使其可以获得关于攻击者更可靠的信息。但是部署和维护起来十分困难,而且被攻破的系统可能会被用来攻击互联网上其他的系统,这必须承担很高的风险。所以我们主要来研究今天我们的主题低交互式蜜罐dionaea。

二、在ubuntu上完整安装dionaea

首先我们需要装一些程序和库的支持,这也是装dionaea之前必要的。先建立两个文件夹,是我们安装包路径和安装路径。

mkdir /pre/  //安装包寄存路径。 mkdir /opt/dionaea  //安装路径。

接下来我们开始配置安装。

1、预安装

root@ruo:/# aptitude install libudns-dev libglib2.0-dev libssl-dev libcurl4-openssl-dev /libreadline-dev libsqlite3-dev python-dev /libtool automake autoconf build-essential /subversion git-core /flex bison /pkg-config

2、libev

root@ruo:/pre#  wget http://dist.schmorp.de/libev/Attic/libev-4.04.tar.gz root@ruo:/pre#  tar xfz libev-4.04.tar.gz root@ruo:/pre#  cd libev-4.04 root@ruo:/pre/libev-4.04# ./configure --prefix=/opt/dionaea root@ruo:/pre/libev-4.04# make install

3、libgcfg

root@ruo:/pre# git clone git://git.carnivore.it/liblcfg.git liblcfg root@ruo:/pre# cd liblcfg/php/ root@ruo:/pre/liblcfg/php# autoreconf -vi root@ruo:/pre/liblcfg/php# ./configure --prefix=/opt/dionaea root@ruo:/pre/liblcfg/php# make install

4、libssl

root@ruo:/pre# wget http://www.openssl.org/source/openssl-1.0.1e.tar.gz root@ruo:/pre# tar xfz openssl-1.0.1e.tar.gz  root@ruo:/pre# cd openssl-1.0.1e.tar.gz root@ruo:/pre/openssl-1.0.1e# ./Configure shared --prefix=/opt/dionaea linux-x86_64 root@ruo:/pre/openssl-1.0.1e# make && make install

5、libemu

root@ruo:/pre# git clone git://git.carnivore.it/libemu.git libemu root@ruo:/pre# cd libemu/ root@ruo:/pre/libemu# autoreconf -vi root@ruo:/pre/libemu# ./configure --prefix=/opt/dionaea root@ruo:/pre/libemu# make install

6、sqlite3.3.7

root@ruo:/pre# wget http://ruo.me:9192/dionaea/sqlite-3.3.7.tar.gz root@ruo:/pre# tar xzf sqlite-3.3.7.tar.gz root@ruo:/pre# mkdir /home/sqlite-ix86-linux root@ruo:/pre# cd sqlite-3.3.7 root@ruo:/pre/sqlite-3.3.7# ./configure --prefix=/home/sqlite-ix86-linux root@ruo:/pre/sqlite-3.3.7# make && make install && make doc root@ruo:/pre/sqlite-3.3.7# cd /home/sqlite-ix86-linux/bin/ root@ruo:/home/sqlite-ix86-linux/bin# ./sqlite3 ruo.db SQLite version 3.3.7 Enter ".help" for instructions sqlite>  sqlite> .quit root@ruo:/home/sqlite-ix86-linux/bin#

7、Python3.2

root@ruo:/pre# apt-get install axel root@ruo:/pre# axel -n 40 http://www.python.org/ftp/python/3.2.2/Python-3.2.2.tgz -o /pre/python.tgz root@ruo:/pre# tar xfz python.tgz  root@ruo:/pre# cd Python-3.2.2/ root@ruo:/pre/Python-3.2.2# ./configure --enable-shared --prefix=/opt/dionaea --with-computed-gotos --enable-ipv6 LDFLAGS="-Wl,-rpath=/opt/dionaea/lib/ -L/usr/lib/x86_64-linux-gnu/" root@ruo:/pre/Python-3.2.2# make && make install root@ruo:/opt/dionaea/bin# ln python3.2 /usr/bin/python3

8、cython

root@ruo:/pre# axel -n 40 http://cython.org/release/Cython-0.15.tar.gz -o cython.tar.gz root@ruo:/pre# tar xfz cython.tar.gz  root@ruo:/pre# Cython-0.15/ root@ruo:/pre/Cython-0.15# python3 setup.py install

9、libpcap

root@ruo:/pre# axel -n 40 http://www.tcpdump.org/release/libpcap-1.1.1.tar.gz -o libpcap.tar.gz root@ruo:/pre# tar xfz libpcap.tar.gz  root@ruo:/pre# cd libpcap-1.1.1/ root@ruo:/pre/libpcap-1.1.1# ./configure --prefix=/opt/dionaea root@ruo:/pre/libpcap-1.1.1# make && make install

10、libnl

root@ruo:/pre/libnl# git clone git://git.infradead.org/users/tgr/libnl.git root@ruo:/pre# cd libnl root@ruo:/pre/libnl# autoreconf -vi root@ruo:/pre/libnl# export LDFLAGS=-Wl,-rpath,/opt/dionaea/lib root@ruo:/pre/libnl# ./configure --prefix=/opt/dionaea root@ruo:/pre/libnl# make && make install

好了,我们的准备工作到此结束,接下来开始配置安装 dionaea。

安装dionaea

root@ruo:/pre# git clone git://git.carnivore.it/dionaea.git dionaea root@ruo:/pre# cd dionaea/ root@ruo:/pre/dionaea# autoreconf -vi root@ruo:/pre/dionaea# ./configure --with-lcfg-include=/opt/dionaea/include/ /       --with-lcfg-lib=/opt/dionaea/lib/ /       --with-python=/opt/dionaea/bin/python3.2 /       --with-cython-dir=/opt/dionaea/bin /       --with-udns-include=/opt/dionaea/include/ /       --with-udns-lib=/opt/dionaea/lib/ /       --with-emu-include=/opt/dionaea/include/ /       --with-emu-lib=/opt/dionaea/lib/ /       --with-gc-include=/usr/include/gc /       --with-ev-include=/opt/dionaea/include /       --with-ev-lib=/opt/dionaea/lib /       --with-nl-include=/opt/dionaea/include /       --with-nl-lib=/opt/dionaea/lib/ /       --with-curl-config=/usr/bin/ /       --with-pcap-include=/opt/dionaea/include /       --with-pcap-lib=/opt/dionaea/lib/   root@ruo:/pre/dionaea# make && make install

三、配置dionaea

dionaea默认的配置会记录所有的活动,比如调试、消息、警告、错误、信息等,我们只是自己部署测试,如果按照默认的话有时候记录的日志文件会非常巨大,所以先来修改下默认日志配置。

配置文件路径:/opt/dionaea/etc/dionaea/dionaea.comf

找到levels = “all”,加上-debug,改成levels = “all,debug”,选择调试模式。

找到levels = “warning,error”,去掉warning,改成levels = “error”,不记录警告。

对于模块的讲解,将在(三)中实例分析,这里不多赘述。

因为dionaea默认是将记录的二进制文件上传到 sendbox 中进行分析,但是为了高效方便,我们还是自己配置 Http 处理程序来接受,我们用到 wwwhoney,一个基于 python 的H ttp 蜜罐接收的小型服务器,下面我们来安装 wwwhoney。

root@ruo:/pre# wget http://ruo.me/tools/wwwhoney.tgz root@ruo:/pre# tgz zxvf wwwhoney.tgz root@ruo:/pre# chmod 777 wwwhoney -R

解压完毕设置好权限后我们需要修改目录下的 cgiserver.py,这也是启动程序,但是我们需要修改下里面的配置。

找到cgi_directories = [“/cgi-bin/”] ,修改成 wwwhoney 目录下的 cgi-bin 目录,比如我的 wwwhoney 目录是在/pre.wwwhoney/,所以我就修改为cgi_directories = [“/pre.wwwhoney/cgi-bin/”],端口默认9000,可以改也可以不改。

然后启动。

root@ruo:/pre/wwwhoney# python cgiserver.py &   [1] 2226

返回了pid,说明启动成功,接下来我们打开firefox访问 http://127.0.0.1:9000/

终端返回数据。

root@ruo:/pre/wwwhoney# localhost - - [25/Jul/2013 10:59:13] "GET / HTTP/1.1" 200 - localhost - - [25/Jul/2013 10:59:17] "GET /favicon.ico HTTP/1.1" 404 - localhost - - [25/Jul/2013 10:59:22] "GET /binaries/ HTTP/1.1" 200 - localhost - - [25/Jul/2013 10:59:25] "GET /cgi-bin/ HTTP/1.1" 200 - localhost - - [25/Jul/2013 10:59:29] "GET /README HTTP/1.1" 200 - localhost - - [25/Jul/2013 10:59:32] "GET /submit.html HTTP/1.1" 200 -

然后我们启动dionaea。

root@ruo:/opt/dionaea/bin# ./dionaea -u nobody -g nogroup -p /opt/dionaea/var/dionaea.pid -D 

返回结果,成功运行鸟。

Dionaea Version 0.1.0 Compiled on Linux/x86 at Jul 23 2013 13:51:54 with gcc 4.4.3 Started o

(一)就此结束。在(二)里面,将介绍如何在dionaea.conf中进行适当的注释和添加,来确保wwwhoney进行正确的Http接收,并且会另述一种非完整的简洁安装方法,适合无基础的朋友,因为(一)中讲解的是完整安装。并且在(三)里面将会详细叙述实例分析的有效手段和多复合冗杂记录的高效途径以及配置图例进行GUI界面的查看。

来源:明天 จุ๊บ https://ruo.me/

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年1月27日12:58:33
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   详细部署dionaea低交互式蜜罐和记录分析(一)http://cn-sec.com/archives/255442.html

发表评论

匿名网友 填写信息