- 0x01 使用dionaea
Dionaea 根据命令参数运行,可选择不同的运行环境、任务和筛选事件记录内容。配置文件则具体规定蜜罐运行后开启的模块,记录文件的保存位置和扩展功能的参数等信息。默认配置下 Dionaea 自动选择一个网络接口进行监听。
Dionaea 具体的命令格式如下:
dionaea [-c, --config=FILE]
[-D, --daemonize]
[-g, --group=GROUP]
[-h, --help]
[-H, --large-help]
[-l, --log-levels=WHAT]
[-L, --log-domains=WHAT]
[-u, --user=USER]
[-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
- 0x02 安装Python
apt-get install python-dev
apt-get install python-pip python-netaddr
用pip安装依赖包。注意!一定安装以下版本的,最新版会导致安装不成功。
sudo pip install Django==1.6.5
sudo pip install pygeoip
sudo pip install django-pagination
sudo pip install django-tables2==1.0
sudo pip install django-compressor==1.4
sudo pip install django-htmlmin
sudo pip install django-filter==0.7
sudo pip install six==1.5.2
- 0x03 安装 django-tables2-simplefilter
cd /opt/
wget https://github.com/benjiec/django-tables2-simplefilter/archive/master.zip -O django-tables2-simplefilter.zip
unzip django-tables2-simplefilter.zip
mv django-tables2-simplefilter-master/ django-tables2-simplefilter/
cd django-tables2-simplefilter/
python setup.py install
- 0x04 下载安装PySubnetTree
cd /opt/
git clone https://github.com/bro/pysubnettree.git
cd pysubnettree/
python setup.py install
- 0x05 安装Node.js
cd /opt/
wget 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
注意!此方法不行,nodejs-v0.8.16在用最新的gcc编译器编译时,会有数组越界的报错,所以要用
apt-get install nodejs
进行安装
- 0x06 用npm安装LESS和promise(LESS和promise是node.js包管理工具)
-
npm install -g less
npm install -g promise
- 0x07 下载DionaeaFR
cd /opt/
wget https://github.com/RootingPuntoEs/DionaeaFR/archive/master.zip -O DionaeaFR.zip
unzip DionaeaFR.zip
mv DionaeaFR-master/ DionaeaFR
- 0x07 下载GeoIP和GeoLite数据文件
GeoIP和GeoLite数据文件作为DionaeaFR的地理IP支撑文件
cd /opt/
wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
gunzip GeoLiteCity.dat.gz
gunzip GeoIP.dat.gz
mv GeoIP.dat DionaeaFR/DionaeaFR/static
mv GeoLiteCity.dat DionaeaFR/DionaeaFR/static
- 0x08 复制并且编辑配置文件
cp /opt/DionaeaFR/DionaeaFR/settings.py.dist /opt/DionaeaFR/DionaeaFR/settings.py
vim settings.py
用下列替换,第18行代码;设置dionaea为SQLite数据库文件;
/opt/dionaea/var/dionaea/logsql.sqlite
- 0x09 创建存放数据的路径
mkdir /var/run/dionaeafr #for DionaeaFR's pid file
cd /opt/DionaeaFR/
- 0x10 启动窗口
python manage.py collectstatic #type yes when asked
python manage.py runserver 0.0.0.0:8000(可以自己指定ip和端口号)
- 0x11 参考
Dionaea低交互式蜜罐部署详解——http://drops.xmd5.com/static/drops/tips-640.html
可视化dionaea蜜罐搭建——https://1isten.xyz/2018/06/04/dionaea蜜罐搭建/