最近快HW啦,Hfish蜜罐呼声很高,尝试搭建一下。


    Hfish蜜罐搭建(docker&ubuntu) - 图1
    项目地址
    https://github.com/hacklcx/HFish
    https://hfish.io/

    支持的蜜罐类型:
    Hfish蜜罐搭建(docker&ubuntu) - 图2

    官方安装指导:(docker版本操作很简单)
    https://hfish.io/docs/#/deploy/docker

    docker安装


    docker安装:
    Docker 下载镜像(目前测试的docker版本是0.6的)

    1. docker pull imdevops/hfish

    Hfish蜜罐搭建(docker&ubuntu) - 图3

    单节点部署(本次主要是个人云服务器搭建)

    环境变量API_IP的值为 API 的 IP 地址加端口组成。
    默认帐号密码均为:admin,如需修改可以通过加入-e USERNAME= -e PASSWORD= 传入环境变量进行修改。(也可以启动容器后,进入容器配置 config.ini配置账户密码)

    如需做数据持久化存储,可加参数 -v $PWD:/opt 挂载数据卷到宿主机上,避免容器删除数据丢失。

    启动docker

    docker run -d --name hfish -p 21:21 -p 22:22 -p 23:23 -p 69:69 -p 3306:3306 -p 5900:5900 -p 6379:6379 -p 8080:8080 -p 8081:8081 -p 8989:8989 -p 9000:9000 -p 9001:9001 -p 9200:9200 -p 11211:11211 --restart=always imdevops/hfish:latest
    

    端口对应也可以自己修改(-p 22:22 第一个22是主机端口,第二个22是docker映射出来的端口)可以根据自己主机情况改变

    访问管理的端口:ip+9001(管理端口可以修改)
    Hfish蜜罐搭建(docker&ubuntu) - 图4
    搭建时候修改了端口和密码
    启动后进入docker容器

    docker exec -it 容器id sh
    

    进去后可以修改端口和密码
    vi Hfish/config.ini
    Hfish蜜罐搭建(docker&ubuntu) - 图5

    [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)
    下载自己操作系统对应的版本:
    Hfish蜜罐搭建(docker&ubuntu) - 图6
    Hfish蜜罐搭建(docker&ubuntu) - 图7
    下载解压

    tar -zxvf HFish-0.6.2-linux-amd64.tar.gz tar -zxvf HFish-0.6.3-linux-amd64.tar.gz
    

    Hfish蜜罐搭建(docker&ubuntu) - 图8将0.6.3里面的文件覆盖到0.6.2

    chmod 777 -R db    # sqlite 临时文件需要最高权限
    

    Hfish蜜罐搭建(docker&ubuntu) - 图9

    ./HFish run
    

    访问ip+9001管理界面就OK
    Hfish蜜罐搭建(docker&ubuntu) - 图10
    如果需要修改端口、密码、服务相关配置,看docker部分的修改配置方法(配置方式一样)

    最终效果图


    仪表盘效果
    Hfish蜜罐搭建(docker&ubuntu) - 图11
    Hfish蜜罐搭建(docker&ubuntu) - 图12
    Hfish蜜罐搭建(docker&ubuntu) - 图13
    Hfish蜜罐搭建(docker&ubuntu) - 图14
    Hfish蜜罐搭建(docker&ubuntu) - 图15
    搭建起来效果很不错。数据展示还有过程记录还是不错的。

    补充:本文只搭建了单节点部署如果需要集群部署移步(https://hfish.io/

    参考:
    https://github.com/hacklcx/HFish
    https://hfish.io/
    https://hfish.io/docs/#/deploy/docker


    订阅查看更多复现文章、学习笔记
    thelostworld
    安全路上,与你并肩前行!!!!
    Hfish蜜罐搭建(docker&ubuntu) - 图16
    个人知乎:https://www.zhihu.com/people/fu-wei-43-69/columns
    个人简书:https://www.jianshu.com/u/bf0e38a8d400