
Конфигурируемый через YAML низкоинтерактивный фреймворк-ловушка для развертывания серверов обмана на основе HTTP/HTTPS со встроенными приманками и интеграцией журналов Datadog.
HASH — это фреймворк для создания и запуска низкоинтерактивных honeypot'ов.

Основная философия HASH — быть простым в настройке и гибким для имитации любого программного обеспечения, работающего по HTTP/HTTPS. С минимальным следом, чтобы избежать обнаружения в качестве ловушки.
fakerjs для избежания обнаружения ловушкиHASH построен на Node.js, но может имитировать любой веб-язык/сервер на основе конфигурации. Читайте полную документацию ниже.
npm install -g hash-honeypot
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 path/to the app
Options:
-t --template <template_name> base template (default: "default")
-n --name <honeypot_name> Honeypot name
-s --swagger <swagger_file> Path to swagger file to convert
-h, --help display help for command
Пример
hash-honeypot generate myhoneypot --name my-honey-pot --template default
Вы также можете конвертировать Swagger-файлы в ловушку прямо из команды generate
Пример конвертации Swagger-файла(ов) в ловушку
hash-honeypot generate sample-swagger2 -n sample -s ./test-swagger/test-swagger.yaml
Usage: HASH run [options] <folder>
Run HASH
Arguments:
folder path/to the template folder
Options:
-l, --log <transport> logging transport (default: "console,file,datadog")
-f, --log_file <filename> logging filename (default: "hash.log")
-h, --help display help for command
пример
hash-honeypot my-honeypot-profile -l file -f ./logs/hash.log
Если вы используете Datadog для логов, убедитесь, что экспортировали ключ API Datadog:
export DD_API_KEY=<your-api-key>
Вы можете настроить свой профиль ловушки как угодно
Пример шаблона запроса:
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, приветствуются вклады!
Не стесняйтесь открывать Issue или обращаться по адресу [email protected].