如何使用HASH创建低交互式蜜罐系统
关于HASH
HASH是一个用于创建和启动低交互蜜罐的框架,可以帮助广大研究人员轻松创建HTTP无关的低交互式软件蜜罐。
HASH 的主要理念是易于配置,能够灵活地模拟在 HTTP/HTTPs 上运行的任何软件。尽可能减少占用空间,避免被检测为蜜罐。
功能介绍
1、单一框架即可部署基于 HTTP/HTTPs 的蜜罐;
2、通过 YAML 文件轻松配置;
3、内置honeytraps;
4、基于强大的随机化fakerjs以避免蜜罐检测;
5、支持与 Datadog 集成,通过 APM 提取和分析蜜罐日志和 HTTP 请求;
工具要求
Node.js
工具安装
HASH 使用 Node.js 构建,但它可以根据配置模仿任何基于 Web 的语言/服务器。
由于该工具基于Node.js开发,因此我们首先需要在本地设备上安装并配置好最新版本的Node.js环境。
源码获取
广大研究人员可以直接使用下列命令将该项目源码克隆至本地:
git clone https://github.com/DataDog/HASH.git
NPM安装
npm install -g hash-honeypot
Docker使用
docker run --rm ghcr.io/datadog/hash help
工具使用
生成蜜罐配置文件
HASH 使用 YAML 文件来配置如何模拟所需的软件,配置文件文件夹的典型结构如下:
|____templates | |____resources | | |____index.html | | |____style.css | | |____favicon.ico | |____404.yaml | |____default.yaml |____init.yaml
我们可以自己构建它,也可以使用generate命令生成它
Usage: HASH generate [options] <folder> Generate honeypot profile Arguments: folder 目标App路径 Options: -t --template <template_name> 基础模板 (默认: "default") -n --name <honeypot_name> 蜜罐名称 -s --swagger <swagger_file> 待转换swagger文件的路径 -h, --help 显示命令帮助信息
运行样例:
hash-honeypot generate myhoneypot --name my-honey-pot --template default
将 Swagger 文件转换为蜜罐的示例:
hash-honeypot generate sample-swagger2 -n sample -s ./test-swagger/test-swagger.yaml
我们还可以通过generate命令直接将 Swagger 文件转换为蜜罐。
蜜罐运行
Usage: HASH run [options] <folder> Run HASH Arguments: folder 模板目录路径 Options: -l, --log <transport> 日志记录 (默认: "console,file,datadog") -f, --log_file <filename> 日志文件名称 (默认: "hash.log") -h, --help 显示命令帮助信息
运行样例:
hash-honeypot my-honeypot-profile -l file -f ./logs/hash.log
定制和配置
你可以根据需要自定义蜜罐配置文件,请求模板示例如下:
id: sqli-error info: title: 'SQL error honeytrap' requests: - isTrap: false expect: method: GET path: '/author/:Id([0-9]+)' reply: status: 200 headers: content-type: 'text/html' body: view: 'author.html' - isTrap: true expect: method: GET path: '/author/:Id' reply: status: 500 headers: content-type: 'text/html' body: contents: "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 2"
工具运行截图
许可证协议
本项目的开发与发布遵循Apache-2.0开源许可协议。
项目地址
HASH:【GitHub传送门】
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
文章目录