HFish蜜罐的介绍和简单测试(二)
目录
1、HFish使用说明
1.1、部署模型
HFish基本结构
HFish由管理端(server)和节点端(client)组成,管理端用来生成和管理节点端,并接收、分析和展示节点端回传的数据,节点端接受管理端的控制并负责构建蜜罐服务。
HFish各模块关系图
融合在企业网络中
1.2、添加/删除节点
默认节点
安装HFish管理端后,默认在管理端所在机器上建立节点感知攻击,该节点被命名为「内置节点」。
该节点将默认开启部分服务,包括FTP、SSH、Telnet、Zabbix监控系统、Nginx蜜罐、MySQL蜜罐、Redis蜜罐、HTTP代理蜜罐、ElasticSearch蜜罐和通用TCP端口监听。
注意:该节点不能被删除,但可以暂停。
新增节点
进入【节点管理】页面,点击【增加节点】
根据节点设备类型选择对应的安装包和回连地址
在节点机器执行命令语句或安装包,即可成功部署节点。
增加节点可以通过2种方式安装,一种是命令行安装,就是通过在被安装节点执行命令在线安装;另一种是账号密码安装,就是提供被安装节点的账户信息在管理节点远程安装。本次使用命令行在windows平台上安装。
windows下安装,会生成一个安装包,下载到被安装节点。双击安装程序,稍后会弹出安装成功的对话框。安装成功后会在系统中添加对应计划任务。
可以通过setup.log和hfishclient文件加下的log文件查看安装日志和运行日志。正常情况下刷新管理页面下的节点管理,就会出现新的节点。
节点重启后客户端进程会自动启动,但在client.log日志文件中发现一条报错信息:
2023-03-22 11:02:32.603 [WARN] scan.go:44: find all device err: couldn't load wpcap.dll
在官方文档中发现:
注意:Windows节点的扫描感知依赖WinPcap,需要手动进行下载安装!
WinPcap官方链接:https://www.winpcap.org/install/bin/WinPcap_4_1_3.exe
实际测试过程中我使用NPcap,安装完成后需要重启,重启后才可以做扫描感知。
扫描感知:
用于展示HFish蜜罐节点被TCP、UDP和ICMP三种协议的全端口扫描探测行为。
即使节点相关端口没有开放,HFish仍能记录下扫描行为,此外,HFish还会记录节点主机本身外联行为。
删除节点
进入【节点管理】页面,在节点列表中找到要删除的节点,点击该节点右侧【删除】,HFish需要二次验证您的管理员身份,输入admin密码后,节点将被删除。
节点被删除后:
- 节点端进程会自动退出,但程序会保留在原有路径,需要手动二次删除。
- 所有攻击数据不会丢失,仍然能在所有数据中进行查看。
1.3、添加/删除蜜罐
添加节点后,可以配置节点部署多种蜜罐服务,HFish提供两种方式配置节点服务。
直接修改蜜罐服务
该方法可以快速修改单个节点上的蜜罐服务,其操作步骤如下:
点击单个节点,可直接对节点上的服务进行添加和删除(可以选择内置模板应用并修改)
创建模板,应用到多节点
蜜罐模板便于用户同时管理很多节点,批量更改蜜罐服务,即将一套模板批量应用到多个节点上,其操作步骤如下:
进入【模版管理】页面,点击【新建模板】,输入模板名称,选择蜜罐服务,填写描述信息,点击【确定】保存
进入【节点管理】页面,展开具体节点,选择上面创建的蜜罐模板
等待应用模板后的蜜罐服务状态变为【启用】,注意:此时蜜罐尚未部署完成
节点正常完成模板加载后,服务状态应该为【在线】,如果显示为【离线】,说明蜜罐服务没有正常启动,您可以将鼠标移动到问号上查看提示,或请参考我们后面的【排错说明】
1.4、查看攻击
当前,HFish提供四个不同的页面进行攻击信息查看,分别为:攻击列表、扫描感知、攻击来源、账号资产
四种功能分别代表四种不同的攻击数据场景
功能简介 | 功能原理 | |
---|---|---|
攻击列表 | 收集所有对蜜罐的攻击 | 节点部署蜜罐后,攻击者对蜜罐的所有攻击信息都会被收录到「攻击列表」中。 |
扫描感知 | 收集了节点机器网卡的所有连接信息 | 节点生成之后,HFish会记录对节点所有网卡的连接,包括来访IP,连接IP和端口。 |
攻击来源 | 收集了所有连接和攻击节点的IP信息 | 所有尝试连接和攻击节点的IP信息都被记录在攻击来源中,如果蜜罐溯源和反制成功,信息也会被记录其中。 |
账号资产 | 收集了所有攻击者破解蜜罐使用的账号密码 | HFish会提取攻击者对SSH、以及所有Web蜜罐登陆所使用的账号密码,进行统一展示。同时,用户可自定义监控词汇,如员工姓名、公司名称等,一旦与攻击者使用的账号重合,可高亮显示并告警。 |
官方文档中的截图为老版本,新版本增加了新的功能。比如炫酷的大屏功能:
点击大屏可以打开大屏,按F11可全屏,该功能可以复制投放到大屏进行展示。
点击右上角设置可以更改大屏的标题。
2、卸载
2.1、卸载Linux管理端
1、删除计划任务进程
注意:不同的linux版本结束方式不同,需要自己确认
2、结束管理端进程
-
# 结束hfish和hfish-server的进程
-
root@HFish~# ps ax | grep .
/hfish | grep -v grep
-
8435 ? Sl
97:
59 .
/hfish
-
8436 ? Sl
97:
59 .
/hfish-server
-
-
-
root@HFish:~# kill -
9
8435
-
root@HFish:~# kill -
9
8436
3、删除文件夹
-
# 使用install.sh安装的HFish会被部署到
/opt
/hfish目标,将整个删除即可
-
root@HFish~# rm -
rf
/opt
/hfish
4、清理所有配置(如果后续还要安装,建议不要删除,否则下次使用需要完全重新配置)
-
# 使用install.sh安装的HFish会在
/usr
/share
/hfish下建立全局变量
-
root@HFish~# rm -
rf
/usr
/share
/hfish
5、删除MySQL数据库配置(SQLite可忽略)
-
# 删除HFish数据库
-
root
@HFish
:~
# mysql -h127.0.0.1 -uroot -p
-
Enter
password:*******(默认密码详见config.ini配置文件)
-
mysql>
DROP
DATABASE hfish;
-
-
# 停止MySQL服务
-
root
@HFish
:~
# systemctl stop mysqld
-
root
@HFish
:~
# systemctl disable mysqld
6、可还原SSH和Firewall配置
-
# 清除SSH config内对于访问来源的限制
-
root@HFish~
# vi /etc/ssh/sshd_config
-
注释掉以 AllowUsers root@ 开头的行
-
-
# 重启SSH服务
-
root@HFish~
# systemctl restart sshd
-
-
# 清除Firewall服务的规则(请根据实际情况删除!)
-
root@HFish~
# firewall-cmd --permanent --list-all | grep ports | head -n 1 | \
-
cut -d: -f2 |
tr
' '
'\n' | xargs -I {} firewall-cmd --permanent --remove-port={}
-
-
# 重启Firewall服务
-
root@HFish~
# systemctl restart firewalld
2.2、卸载Windows管理端
1、删除计划任务进程HFish管理端
2、结束hfish进程
在任务管理器,结束hfish和hfish-server的进程
3、删除管理端文件夹
2.3、卸载Linux节点
1、删除计划任务进程
-
# 打开计划任务,删除带有hfish字样的行
-
root
@HFish~
# crontab -e
2、结束client进程
-
# 结束client的进程
-
root@HFish~# ps ax | grep .
/client | grep -v grep
-
8435 ? Sl
97:
59 .
/client
-
-
root@HFish:~# kill -
9
8435
3、删除client文件夹
文件夹路径为按照自己的安装路径,client端没有全局配置,删除安装文件夹即可
2.4、删除Windows节点
1、关闭计划任务 HFishClient
2、结束client进程
在任务管理器,结束hfish和client的进程
3、删除client文件夹
文件夹路径为按照自己的安装路径,client端没有全局配置,删除安装文件夹即可