
YAML設定可能な低対話型ハニーポットフレームワークで、組み込みのハニートラップとDatadogログ統合を備えたHTTP/HTTPSベースの欺瞞サーバーを展開するためのものです。
HASHは、低インタラクションハニーポットを作成・起動するためのフレームワークです。

HASHの主な哲学は、設定が簡単で、HTTP/HTTPS上で動作するあらゆるソフトウェアを柔軟に模倣できることです。ハニーポットとして検出されないよう、フットプリントを最小限に抑えます。
fakerjs に基づく強力なランダム化機能により、ハニーポットの検出を回避HASHはNode.jsで構築されていますが、設定に応じてあらゆるWebベースの言語/サーバーを模倣できます。以下の完全なドキュメントをお読みください。
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>
ハニーポットプロファイルを生成
Arguments:
folder path/to the 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
generateコマンドからswaggerファイルをハニーポットに直接変換することもできます。
swaggerファイルをハニーポットに変換する例
hash-honeypot generate sample-swagger2 -n sample -s ./test-swagger/test-swagger.yaml
Usage: HASH run [options] <folder>
HASHを実行
Arguments:
folder path/to the template 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
Datadogをログに使用する場合は、Datadog APIキーをエクスポートしてください
export DD_API_KEY=<your-api-key>
ハニーポットプロファイルは自由にカスタマイズできます。
リクエストテンプレートの例:
id: sqli-error
info:
title: 'SQLエラーハニートラップ'
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] までお問い合わせください。