如何使用HASH创建低交互式蜜罐系统

科技   2025-01-21 19:03   上海  

关于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

https://github.com/DataDog/HASH


FreeBuf粉丝交流群招新啦!
在这里,拓宽网安边界
甲方安全建设干货;
乙方最新技术理念;
全球最新的网络安全资讯;
群内不定期开启各种抽奖活动;
FreeBuf盲盒、大象公仔......
扫码添加小蜜蜂微信回复「加群」,申请加入群聊】





FreeBuf
中国网络安全行业门户
 最新文章