安装步骤
在Ubuntu16.04上安装MHN步骤如下(都需在root下进行):
cd /opt
git clone https://github.com/threatstream/mhn.git
cd mhn/
sudo ./install.sh 或者 ./install.sh
安装的过程是相当漫长的,而且需要一个稳定快速的网络,一旦出错就得重来,建议如下:
1.打开install.sh脚本,一小段一小段安装;
2.学会使用supervisor指令;
3.到交互界面及时拍摄快照,后面的安装会下载go包(完全凭运气,而且下载的版本较低,后面还需要重新下载,比较坑)
4.交互时,email和密码都是自己设的,主要是为了登录mhn的界面,base url这里虽然是自动生成的,但是你需要后面将其改成一个能连上的url(通过vim /opt/mhn/server/config.py修改),此处附上一张别人交互的图:
到这里,安装过程就结束了,启动服务:
supervisorctl start all
查看进程状态
supervisorctl status
排错
如果你发现一个进程的状态为ERROR或者FATAL,就需在 /etc/supervisor/conf.d/找到对应进程的配置文件,查看日志进行分析,在
https://github.com/threatstream/mhn/wiki/MHN-Troubleshooting-Guide 里寻求帮助,接下来介绍我的坑。
一、.mhn-celery-worker解决fatal的办法:
chmod 777 -R /var/log/mhn/mhn.log(一般都是权限问题)
supervisorctl restart all
二、honeymap的fatal问题:“honeymap FATAL can’t find command ‘/opt/honeymap/server/server’”
解决:删除旧的go包,重新下载安装
1、删除:
cd /usr/local
sudo rm -rf /usr/bin/go
sudo apt-get remove golang-go
sudo apt-get remove --auto-remove golang-go
2、下载及解压:
- 手动下载:go包需要在http://golang.org官网下载,而用命令行连接下载经常会连不上网站(被墙了),所以可以采用翻墙在官网下载好再解压安装到/usr/local路径下;
- 自动下载:看运气,连接十次可能有两三次能连接成功,如果apt-get install golang安装,后面会因为golang版本低而报错,所以直接下载编译后的包
wget https://storage.googleapis.com/golang/go1.9.linux-amd64.tar.gz
sudo tar -xzf go1.9.linux-amd64.tar.gz -C /usr//local/ //注意包名要改和自己一样的
3、修改环境变量:(如果有什么问题十有八九是环境变量不对)
vim /etc/profile
export GOROOT=/usr/local/go
export GOARCH=amd64
export GOOS=linux
export GOBIN=$GOROOT/bin/
export GOTOOLS=$GOROOT/pkg/tool/
export PATH=$GOBIN:$GOTOOLS:$PATH
source /etc/profile
4、执行go version,如果显示版本号,则Go环境安装成功
5、安装依赖插件net并重新启动所有蜜罐系统组件,如果出现连接问题且你的环境变量正确,那建议试试连接国外vpn
cd /opt/honeymap/server
export GOPATH=/opt/honeymap/server
go get github.com/golang/net
mkdir -p golang.org/x
cp -rf src/github.com/golang/net/ ./golang.org/x/
cp -rf golang.org/ /usr/local/go/src/
go build
sudo supervisorctl restart all
设置web
因为我是将base url改成127.0.0.1,所以没有开代理直接将蜜罐部署在本地上,如果要部署在其他地方,需用代理:
-
vim /etc/environment:
ALL_PROXY=http://admin:123@127.0.0.1:8080 HTTP_PROXY=http://admin:123@127.0.0.1:8080 HTTPS_PROXY=http://admin:123@127.0.0.1:8080 http_proxy=http://admin:123@127.0.0.1:8080 https_proxy=http://admin:123@127.0.0.1:8080
-
vim /etc/apt/apt.conf.d/95proxies
Acquire::http::proxy "http://admin:123@127.0.0.1:8080"; Acquire::https::proxy "http://admin:123@127.0.0.1:8080"; Acquire::ftp::proxy "http://admin:123@127.0.0.1:8080";
-
设置gitconfig:
git config --global --add http.proxy "http://admin:123@127.0.0.1:8080"
如若要查看本地网络的代理,可用export | grep -i proxy
关闭代理,可用unset 代理名
部署
访问127.0.0.1,进入蜜罐的登录首页,输入配置过程中输入的账号和密码即可登入系统,首先会看到一个总页面,展示攻击概况。
- 界面元素
Map:查看攻击者的IP在全球的分布,攻击来源全球的分布图,运行在3000端口,是不需要验证就能直接访问到的,可以做ACL开控制访问。
Deploy:添加,编辑和使用蜜罐的部署脚本
Attacks:所有攻击者的列表
Payloads:所有攻击的payload,其实只有三种蜜罐可以收集payload(snort,dionaea.glastofp)
Rules:所有的snort和suricata规则
Seneors:有安装蜜罐节点操作的相关记录
Settings:MHN服务的设置 - 部署
1、进入deploy页面,选择一个蜜罐,如下所示
2、复制粘贴Deploy Command里的命令到终端里以root身份执行安装
3、一个一个集成各工具即可
配置修改
vim /opt/mhn/server/config.py
SUPERUSER_EMAIL = ‘admin@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位置
修改完毕需重启uwsgi服务 superbisorctl restart mhn-uwsgi
参考链接:
【1】: https://www.jianshu.com/p/d4cef7990572
【2】: https://studygolang.com/articles/13957?fr=sidebar
【3】 https://github.com/threatstream/mhn/wiki/MHN-Troubleshooting-Guide
【4】:http://www.pianshen.com/article/8958124790/