移动安全 安全管理 应用案例 网络威胁 系统安全应用安全 数据安全 云安全
当前位置: 主页 > 信息安全 > 应用安全 >

Dionaea低交互式蜜罐摆设详解

时间:2013-09-24 10:36来源:TuZhiJiaMi企业信息安全专家 点击:
1. Dionaea 低交互式蜜罐简介 Dionaea(捕蝇草) 低交互式蜜罐(http://dionaea.carnivore.it) 是Honeynet Project的开源项目,肇端于Google Summer of Code 2009,是Nepenthes(猪笼草)项目标后继。Honeynet Project 是成立于 1
Tags应用安全(1006)Dionaea(1)交互式蜜罐(1)  

  1. Dionaea 低交互式蜜罐简介

  Dionaea(捕蝇草) 低交互式蜜罐(http://dionaea.carnivore.it) 是Honeynet Project的开源项目,肇端于Google Summer of Code 2009,是Nepenthes(猪笼草)项目标后继。Honeynet Project 是成立于 1999 年的国际性非盈利研究组织,致力于进步因特网的安然性,在蜜罐手艺与互联网安然威胁研究范畴具有较大年夜的影响力。

  Dionaea蜜罐的设计目标是诱捕歹意报复打击,获得歹意报复打击会话与歹意代码法度样本。它经由过程摹拟各类常见办事,捕获对办事的报复打击数据,记实报复打击源和方针 IP、端口、和谈类型等信息,和完全的收集会话过程,主动阐发此中可能包含的 shellcode 及此中的函数调用和下载文件,并获得歹意法度。

  有别于高交互式蜜罐采取真实系统与办事诱捕歹意报复打击,Dionaea 被设计成低交互式蜜罐,它为报复打击者揭示的所有报复打击弱点和报复打击对象都不是真实的产品系统,而是对各类系统及其供给的办事的摹拟。如许设计的好处是安装和建设十分简单,蜜罐系统几近没有安然风险,不足的地方是不完美的摹拟会降落数据捕获的能力,并等闲被报复打击者辨认。

  2. Dionaea 的整体布局和工作机制 Dionaea是运行于Linux上的一个利用法度,将法度运行于收集环境下,它开放Internet上常见办事的默许端口,当有外来连接时,摹拟正常办事赐与反馈,同时记实下出进收集数据流。收集数据流颠末检测模块检测后按类别进行措置,假定有 shellcode 则进行仿真履行;法度会主动下载 shellcode 中指定下载或后续报复打击号令指定下载的歹意文件。从捕获数据到下载歹意文件,全部流程的信息都被保留到数据库中,留待阐发或提交到第三方阐发机构。

  Dionaea 整体布局和工作机制如图:

Dionaea低交互式蜜罐摆设详解

  3. Dionaea 蜜罐安装过程 Dionaea 今朝版本是 0.1.0,采取源码安装。软件运行依托于以下库:libev,libglib,libssl,liblcfg,libemu,python,sqlite,readline,cython,lxml,libudns,libcurl,libpcap。

  安装过程详见 http://dionaea.carnivore.it/#compiling,需要寄望的是安装 Python-3.2 时寄望按申明点窜 setup.py 以确保 zlib 库能准确安装。

  安装时要寄望依托库成功安装,不然 Dionaea 可能不克不及正常工作。

  安装具体过程:

  OS:ubuntu 12.04 (32-bit)

  # 安装依托

  apt-get update

  apt-get isntall aptitude

  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

  其余的依托,必需从源代码安装,我们将安装到路径/opt/dionaea,所以请确保该目次存在,并承诺读写权限。

  mkdir /opt/dionaea

  cd /opt/dionaea

  安装其他依托

  liblcfg

  git clone git://git.carnivore.it/liblcfg.git liblcfg

  cd liblcfg/code

  autoreconf -vi

  ./configure --prefix=/opt/dionaea

  make install

  cd ..

  cd ..

  libemu

  git clone git://git.carnivore.it/libemu.git libemu

  cd libemu

  autoreconf -vi

  ./configure --prefix=/opt/dionaea

  make install

  cd ..

  libnl

  apt-get install libnl-3-dev libnl-genl-3-dev libnl-nf-3-dev libnl-route-3-dev

  libev

  wget http://dist.schmorp.de/libev/Attic/libev-4.04.tar.gz

  tar xfz libev-4.04.tar.gz

  cd libev-4.04

  ./configure --prefix=/opt/dionaea

  make install

  cd ..

  Python 3.2

  wget http://www.python.org/ftp/python/3.2.2/Python-3.2.2.tgz

  tar xfz Python-3.2.2.tgz

  cd Python-3.2.2/

  ./configure --enable-shared --prefix=/opt/dionaea --with-computed-gotos --enable-ipv6 LDFLAGS="-Wl,-rpath=/opt/dionaea/lib/ -L/usr/lib/i386-linux-gnu/"

  make

  make install

  cd /opt/dionaea/bin

  ln python3.2 /usr/bin/python3

  cd ..

  sqlite 3.3.7

  wget http://www.sqlite.com.cn/Upfiles/source/sqlite-3.3.7.tar.gz

  tar xzf sqlite-3.3.7.tar.gz

  cd sqlite-3.3.7

  mkdir /home/sqlite-3.3.7

  ./configure --prefix=/home/sqlite-3.3.7

  make && make install && make doc

  cd /home/sqlite-3.3.7/bin/

  ln sqlite3 /usr/bin/sqlite3

  Cython

  wget http://cython.org/release/Cython-0.15.tar.gz

  tar xfz Cython-0.15.tar.gz

  cd Cython-0.15

  /opt/dionaea/bin/python3 setup.py install

  cd ..

  libpcap

  wget http://www.tcpdump.org/release/libpcap-1.1.1.tar.gz

  tar xfz libpcap-1.1.1.tar.gz

  cd libpcap-1.1.1

  ./configure --prefix=/opt/dionaea

  make

  make install

  cd ..

  编译安装dionaea

  git clone git://git.carnivore.it/dionaea.git dionaea

  cd dionaea

  autoreconf -vi

  ./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/

  make

  make install

  安装结束

  4. Dionaea 利用编制

  Dionaea 按照号令参数运行,可选择不合的运行环境、任务和遴选事务记实内容。建设文件则具体划定蜜罐运行后开启的模块,记实文件的保留位置和扩大功能的参数等信息。默许建设下 Dionaea 主动选择一个收集接口进行监听。

  Dionaea 具体的号令格局以下:

  dionaea [-c, --config=FILE] [-D, --daemonize] [-g, --group=GROUP]

  [-G, --garbage=[collect|debug]] [-h, --help] [-H, --large-help]

  [-l, --log-levels=WHAT] [-L, --log-domains=WHAT] [-u, --user=USER]

  [-p, --pid-file=FILE] [-r, --chroot=DIR] [-V, --version] [-w, --workingdir=DIR]

  选项的意义别离是:

  -c:指定运行法度所利用的建设文件,默许下建设文件是/opt/dionaea/etc/dionaea.conf。

  -D:后台运行。

  -g:指定启动后切换到某个用户组,默许下保持当前组。

  -G:汇集垃圾数据,用于调试内存泄漏。不克不及用于 valgrind 软件。

  -h:帮忙信息。

  -H:帮忙信息,包含默许值信息。

  -l:选择事务记实级别,可以选择 all, debug, info, message, warning, critical, error 这些值,多选利用“,”做分隔,解除利用“-”。

  -L:选择域,撑持通配符“*”和“?”,多选利用“,”,解除利用“-”。

  -u:指定启动后切换到某个用户,默许下保持当前用户。

  -p:记实 pid 到指定文件。

  -r:指定启动后切换根目次到指定目次,默许下不切换。

  -V:显示版本信息。

  -w:设定过程工作目次,默许下为/opt/dionaea。

  例子:

  切换到 cd /opt/dionaea/bin

  # ./dionaea -l all,-debug -L '*'

  # ./dionaea -l all,-debug -L 'con*,py*'

  # ./dionaea -u nobody -g nogroup -r /opt/dionaea/ -w /opt/dionaea -p /opt/dionaea/var/dionaea.pid

  5. 安装 DionaeaFR

  DionaeaFR(https://github.com/RootingPuntoEs/DionaeaFR)是用于前端web揭示Dionaea的数据。

  安装具体过程:

  ubuntu 12.04 默许已安装 python 2.7.3

  切换到cd /opt/,下载DionaeaFR

  git clone https://github.com/RootingPuntoEs/DionaeaFR.git

  安装pip,django,nodejs

  apt-get install python-pip

  pip install Django

  pip install pygeoip

  pip install django-pagination

  pip install django-tables2

  pip install django-compressor

  pip install django-htmlmin

  pip install django-filter

  django-tables2-***filter:

  https://github.com/benjiec/django-tables2-***filter

  python setup.py install

  SubnetTree:

  git clone git://git.bro-ids.org/pysubnettree.git

  python setup.py install

  nodejs:

  http://nodejs.org/dist/v0.8.16/node-v0.8.16.tar.gz

  tar xzvf node-v0.8.16.tar.gz

  cd node-v0.8.16

  ./configure

  make

  make install

  npm install -g less

  apt-get install python-netaddr

  下载GeoIP 和 GeoLiteCity

  wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz

  wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz

  解压GeoIP 和 GeoLiteCity

  gunzip GeoLiteCity.dat.gz

  gunzip GeoIP.dat.gz

  移动GeoIP 和 GeoLiteCity到 /opt/DionaeaFR/DionaeaFR/static

  mv GeoIP.dat /opt/DionaeaFR/DionaeaFR/static

  mv GeoLiteCity.dat /opt/DionaeaFR/DionaeaFR/static

  点窜SQLite路径

  cd /opt/DionaeaFR/DionaeaFR

  vim settings.py

  第17行,SQLite路径更改成

  /opt/dionaea/var/dionaea/logsql.sqlite

  假定你安装dionaea的目次不在/opt/,那就find下。

  find / -name logsql.sqlite ,把查找到的路径替代到17行中。

  运行

  cd /opt/DionaeaFR

  python manage.py collectstatic

  python manage.py runserver 0.0.0.0:8000

  浏览器拜候:http://你的IP:8000

Dionaea低交互式蜜罐摆设详解

Dionaea低交互式蜜罐摆设详解

  6. 结束

  低交互式蜜罐的遍及弱点,即对收集办事的摹拟与真实办事存在差距,可能没法捕获某些对环境敏感的报复打击,可以搭配其他专用办事蜜罐一路利用,来不竭进行完美。

  Kippo(SSH蜜罐开源软件)

  Glastopf(Web利用报复打击诱捕软件)

------分隔线----------------------------

推荐内容