赞
踩
最近快HW啦,Hfish蜜罐呼声很高,尝试搭建一下。
项目地址
https://github.com/hacklcx/HFish
支持的蜜罐类型:
官方安装指导:(docker版本操作很简单)
https://hfish.io/docs/#/deploy/docker
docker安装
docker安装:
Docker 下载镜像(目前测试的docker版本是0.6的)
dockerpull imdevops/hfish
单节点部署(本次主要是个人云服务器搭建)
环境变量API_IP的值为 API 的 IP 地址加端口组成。
默认帐号密码均为:admin,如需修改可以通过加入-e USERNAME= -e PASSWORD= 传入环境变量进行修改。(也可以启动容器后,进入容器配置 config.ini配置账户密码)
如需做数据持久化存储,可加参数 -v $PWD:/opt 挂载数据卷到宿主机上,避免容器删除数据丢失。
启动docker
dockerrun -d --name hfish -p21:21-p22:22-p23:23-p69:69-p3306:3306-p5900:5900-p6379:6379-p8080:8080-p8081:8081-p8989:8989-p9000:9000-p9001:9001-p9200:9200-p11211:11211--restart=always imdevops/hfish:latest
端口对应也可以自己修改(-p 22:22 第一个22是主机端口,第二个22是docker映射出来的端口)可以根据自己主机情况改变
访问管理的端口:ip+9001(管理端口可以修改)
搭建时候修改了端口和密码
启动后进入docker容器
dockerexec-it 容器id sh
进去后可以修改端口和密码
vi Hfish/config.ini
[admin]# RPC 状态为2 集群客户端的时候 admin 可以删掉addr = 0.0.0.0:1234# 管理后台启动地址account = admin# 登录账号,不能带 #password =# 登录密码,不能带 #attack_city = 北京# 数据大屏攻击地区设置db_type = sqlite# sqlite or mysqldb_max_open = 50# 最大连接池,0 表示无限制db_max_idle = 50# 最大空闲数,0 表示无限制db_str = ./db/hfish.db?cache=shared&mode=rwc# sqlite or mysql 连接字符串# sqlite : # mysql :
端口关系:
21为 FTP 端口22为 SSH 端口23为 Telnet 端口3306为 Mysql 端口6379为 Redis 端口8080为 暗网 端口8989为 插件 端口9000为 Web 端口9001为 系统管理后台 端口11211为 Memcache 端口69为 TFTP 端口5900为 VNC端口8081为 HTTP代理池 端口9200为Elasticsearch端口以上端口根据实际需要决定是否打开,并注意端口冲突。
还有一个注意:
report_key和query_key建议修改一下,防止数据被被人拿走
[api]status = 1# 是否启动 API 0 关闭 1 启动web_url = /api/v1/post/report# WEB蜜罐上报 APIdeep_url = /api/v1/post/deep_report# 暗网蜜罐上报 APIplug_url = /api/v1/post/plug_report# 插件蜜罐上报 APIreport_key = APIKEY# API 上报认证秘钥 默认值 9cbf8a4dcb8e30682b927f352d6559a0query_key = APIKEY# API 查询认证秘钥 默认值 X85e2ba265d965b1929148d0f0e33133
还有一些其他的属性都可以调整,详情看config.ini(默认相关信息)
[rpc]
status= 0#模式 0关闭 1服务端 2客户端
addr= 0.0.0.0:7879#RPC 服务端地址 or 客户端地址
name= Server#状态1 服务端 名称 状态2 客户端 名称
[admin]#RPC 状态为2 集群客户端的时候 admin 可以删掉
addr= 0.0.0.0:9001#管理后台启动地址
account= admin#登录账号,不能带 #
password= admin#登录密码,不能带 #
attack_city= 北京#数据大屏攻击地区设置
db_type= sqlite#sqlite or mysql
db_max_open= 50#最大连接池,0 表示无限制
db_max_idle= 50#最大空闲数,0 表示无限制
db_str= ./db/hfish.db?cache=shared&mode=rwc#sqlite or mysql 连接字符串
#sqlite : ./db/hfish.db?cache=shared&mode=rwc
#mysql : 账号:密码@tcp(地址:端口)/数据库名?charset=utf8&parseTime=true&loc=Local
[api]
status= 1#是否启动 API 0 关闭 1 启动
web_url= /api/v1/post/report#WEB蜜罐上报 API
deep_url= /api/v1/post/deep_report#暗网蜜罐上报 API
plug_url= /api/v1/post/plug_report#插件蜜罐上报 API
report_key= 9cbf8a4dcb8e30682b927f352d6559a0#API 上报认证秘钥
query_key= X85e2ba265d965b1929148d0f0e33133#API 查询认证秘钥
[plug]
status= 1#是否启动 蜜罐插件 0 关闭 1 启动, 需要先启动 API
addr= 0.0.0.0:8989#蜜罐插件 启动地址
[web]
status= 1#是否启动 WEB 1 启动 0 关闭, 启动 API 后 WEB 方可上报结果
addr= 0.0.0.0:9000#WEB 启动地址,0.0.0.0 对外开放,127.0.0.1 对内开放 可走 Nginx 反向代理
template= wordPress/html#WEB 模板路径
index= index.html#WEB 首页文件
static= wordPress/static#WEB 静态文件路径 注意:必须存在两个目录,html 文件 和静态文件 不能平级
url= /#WEB 访问目录,默认 / 可更改成 index.html index.asp index.php
[deep]
status= 1#是否启动 暗网 1 启动 0 关闭, 启动 API 后 方可上报结果
addr= 0.0.0.0:8080#暗网 WEB 启动地址
template= deep/html#暗网 WEB 模板路径
index= index.html#暗网 WEB 首页文件
static= deep/static#暗网 WEB 静态文件路径 注意:必须存在两个目录,html 文件 和静态文件 不能平级
url= /#暗网 WEB 访问目录,默认 / 可更改成 index.html index.asp index.php
[ssh]
status= 2#是否启动 SSH 0 关闭 1 低交互 2 高交互
addr= 0.0.0.0:22#SSH 服务端地址 注意端口冲突,请先关闭服务器 openssh 服务 或 修改端口
[redis]
status= 1#是否启动 Redis 0 关闭 1 启动
addr= 0.0.0.0:6379#Redis 服务端地址 注意端口冲突
[mysql]
status= 1#是否启动 Mysql 0 关闭 1 启动
addr= 0.0.0.0:3306#Mysql 服务端地址 注意端口冲突
files= /etc/passwd,/etc/group#Mysql 服务端读取客户端任意文件; 多写逗号分隔,会随机取
[telnet]
status= 1#是否启动 Telnet 0 关闭 1 启动
addr= 0.0.0.0:23#Telnet 服务端地址 注意端口冲突
[ftp]
status= 1#是否启动 Ftp 0 关闭 1 启动
addr= 0.0.0.0:21#Ftp 服务端地址 注意端口冲突
[mem_cache]
status= 1#是否启动 MemCache 0 关闭 1 启动
addr= 0.0.0.0:11211#Memcache 服务端地址 注意端口冲突
[http]
status= 1#是否启动 HTTP代理 0 关闭 1 启动
addr= 0.0.0.0:8081#HTTP代理地址 注意端口冲突
[tftp]
status= 1#是否启动 tftp 0 关闭 1 启动
addr= 0.0.0.0:69#tftp 服务端地址 注意端口冲突
[elasticsearch]
status= 1#是否启动 ES蜜罐 0 关闭 1 启动
addr= 0.0.0.0:9200#ES蜜罐 服务端地址 注意端口冲突
[vnc]
status= 1#是否启动 VNC蜜罐 0 关闭 1 启动
addr= 0.0.0.0:5900#VNC蜜罐 服务端地址 注意端口冲突
linux服务安装(ubuntu)
安装注意(使用 0.6.3 ,请先下载 0.6.2,然后把 0.6.3 覆盖到 0.6.2 程序内。)
不然下载没法运行(./Hfish)
下载自己操作系统对应的版本:
下载解压
tar-zxvfHFish-0.6.2-linux-amd64.tar.gztar-zxvfHFish-0.6.3-linux-amd64.tar.gz
将0.6.3里面的文件覆盖到0.6.2
chmod777-R db# sqlite 临时文件需要最高权限
./HFish run
访问ip+9001管理界面就OK
如果需要修改端口、密码、服务相关配置,看docker部分的修改配置方法(配置方式一样)
最终效果图
仪表盘效果
搭建起来效果很不错。数据展示还有过程记录还是不错的。
补充:本文只搭建了单节点部署如果需要集群部署移步(https://hfish.io/)
参考:
https://github.com/hacklcx/HFish
https://hfish.io/docs/#/deploy/docker
订阅查看更多复现文章、学习笔记
thelostworld
安全路上,与你并肩前行!!!!
个人知乎:https://www.zhihu.com/people/fu-wei-43-69/columns
个人简书:https://www.jianshu.com/u/bf0e38a8d400
原文连接:
Hfish蜜罐搭建(docker&ubuntu)Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。