MHN中心服务器搭建与树莓派蜜罐部署
时间:2022-05-06
本文章向大家介绍MHN中心服务器搭建与树莓派蜜罐部署,主要内容包括MHN中心服务器搭建、0x00 介绍、0x01 搭建、0x02 搭建中遇到的一些问题、0x03 配置修改、0x04 效果、0x05 树莓派蜜罐部署、0x06 效果、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
MHN中心服务器搭建
0x00 介绍
MHN(Modern Honey Network),是一个用于管理和收集蜜罐数据的中心服务器。通过MHN,可以实现快速部署多种类型的蜜罐并且通过web可视化界面显示蜜罐收集的数据,目前支持的蜜罐类型有捕蝇草(Dionaea), Snort, Cowrie, glastopf等。据官方说法,目前经测试支持部署MHN服务器的系统有Ubuntu 14.04, Ubuntu 16.04, Centos 6.9,我部署的服务器版本是Centos6.8。
0x01 搭建
# on Centos or RHELyum install -y gitcd /opt/git clone https://github.com/threatstream/mhn.gitcd mhn/./install.sh
0x02 搭建中遇到的一些问题
由于install.sh安装脚本中需要安装Python2.7,如果原服务器使用Python2.6或者其他版本,会导致yum冲突,出现"no mudule named yum"错误:
vim /etc/yum #/usr/bin/python #/usr/bin/python2.6 #改为服务器原本使用的版本
安装过程出现".ini file does not include supervisorctl section"错误:
vim install_elk.sh[install_supervisord.sh/install_hpfeeds.sh/install_mnemosyne.sh/install_honeymap.sh/install_mhnserver.sh/install_hpfeeds-logger-splunk.sh] cd /etc/supervisor #新增 supervisorctl updateecho_supervisord_conf > /etc/supervisor/supervisord.confvim /etc/supervisor/supervisord.conf [include] files = /etc/supervisor/conf.d/*.ini /etc/supervisor/conf.d/*.conf
出现"bind() to 0.0.0.0:80 failed address already in use"错误(由于服务器自身使用了apache占用80端口):
ps -ax|grep httpd|cut -d ' ' -f2|xargs kill -9service nginx start
执行"supervisorctl status"出现下列错误:
- "honeymap FATAL can't find command '/opt/honeymap/server/server'"
git clone https://github.com/golang/net.git netmkdir /usr/local/go/src/golang.orgmkdir /usr/local/go/src/golang.org/xmv net/ /usr/local/go/src/golang.org/xgo buildcd /etc/supervisorsupervisorctl restart all
- 出现"mhn-celery-worker FATAL Exited too quickly (process log may have details)"错误
tail -f /var/log/mhn/mhn-celery-worker.err supervisor: couldn't chdir to /root/mhn/server: EACCES supervisor: child process was not spawnedchmod 777 -R /root
0x03 配置修改
vim /opt/mhn/server/config.py SUPERUSER_EMAIL = 'sherlly666@qq.com' #用于登录MHN管理界面的用户名 SUPERUSER_PASSWORD = 'this_is_test' #用于登录MHN管理界面的密码 SERVER_BASE_URL = 'http://www.example.com' #部署MHN服务器的地址 HONEYMAP_URL = 'http://www.example.com:3000' #蜜罐攻击地图地址,默认3000端口 DEPLOY_KEY = 'QCIxjGiq' #随机生成 LOG_FILE_PATH = '/var/log/mhn/mhn.log' #log位置cd /etc/supervisorsuperbisorctl restart mhn-uwsgi
0x04 效果
0x05 树莓派蜜罐部署
- SD卡格式化:使用SDFormatter工具->选项设置->逻辑大小调整(ON)
- 下载镜像:https://downloads.raspberrypi.org/raspbian/images/raspbian-2017-12-01/2017-11-29-raspbian-stretch.zip.torrent(https://www.raspberrypi.org/downloads/)
- 烧写镜像到SD卡:使用win32diskimager工具;
- SD卡boot目录下新建ssh文件夹,开启ssh功能;
- 笔记本电脑无线网络设置:
- 树莓派连接网线到电脑,通过arp -a确定树莓派ip地址为192.168.137.51:
- 使用ssh工具(MobaXterm)连接:
用户:pi密码:raspberry端口:22
- 切换用户为root,允许root用户登录:
sudo passwd rootsudo passwd --unlock rootsu rootvi /etc/ssh/sshd_config PermitRootLogin yesreboot
- 静态ip设置:
vim /etc/dhcpcd.conf interface eth0 static ip_address=192.168.137.152/24 static routers=192.168.137.1 static domain_name_servers=8.8.8.8reboot
- 更换国内源:
vi /etc/apt/sources.list deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpivi /etc/apt/sources.list.d/raspi.list deb http://mirror.tuna.tsinghua.edu.cn/raspberrypi/ stretch main ui deb-src http://mirror.tuna.tsinghua.edu.cn/raspberrypi/ stretch main ui
- 远程桌面连接:
apt-get updateapt-get upgradeapt-get install xrdp/etc/init.d/xrdp startupdate-rc.d xrdp defaults #开机自启
- 时区设置:
dpkg-reconfigure tzdata Asia/Chinese Hong Kong
- 部署Dionaea蜜罐:
wget "http://xxxx/api/script/?text=true&script_id=3" -O deploy.sh && sudo bash deploy.sh http://xxxx YYYYYY
0x06 效果
使用nmap扫描可以发现Dionaea蜜罐特征:
【附】树莓派系统信息:
- 【干货】找不到适合自己的编程书?我自己动手写了一个热门编程书搜索网站(附PDF书单)
- Docker监控方案(TIG)的研究与实践之Influxdb
- Docker监控方案(TIG)的研究与实践之Telegraf
- 【自然框架】之通用权限(九):权限的验证
- 【自然框架】之通用权限(八):权限到字段(列表、表单、查询)
- 【自然框架】之通用权限(七):权限到按钮
- 通过预测API窃取机器学习模型
- 【自然框架】 页面里的父类——把共用的东东都交给父类,让子类专注于其他。
- 血淋林的例子告诉你,为什么防“上传漏洞”要用白名单
- 关于Int自增字段和GUID字段的性能测试。只有测试,没有分析,呵呵
- 【自然框架】 之 资源角色——列表过滤方案(思路篇)
- UVM(七)之phase及objection
- 【自然框架】 之 主从表的添加、修改
- HLS Lesson6-数据类型转换
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- HDwiki时间延迟盲注及利用代码
- JS作用域和变量提升看这一篇就够了
- 不知道怎么提高代码复用性?看看这几种设计模式吧!
- 框架源码中用来提高扩展性的设计模式
- 不知道怎么提高代码质量?来看看这几种设计模式吧!
- 手写React的Fiber架构,深入理解其原理
- emlog后台作者权限SQL注入
- 手写一个Redux,深入理解其原理
- 手写一个React-Redux,玩转React的Context API
- 使用React-Router实现前端路由鉴权
- 手写React-Router源码,深入理解其原理
- 深入Node.js的模块加载机制,手写require函数
- Redux异步解决方案之Redux-Thunk原理及源码解析
- MySQL设计与优化
- Elasticsearch学习笔记