
YAML로 구성 가능한 낮은 상호작용 허니팟 프레임워크로, HTTP/HTTPS 기반의 디셉션 서버를 배포할 수 있으며 내장된 허니트랩 및 Datadog 로그 통합을 지원합니다.
HASH는 낮은 상호작용 허니팟을 생성하고 실행하기 위한 프레임워크입니다.

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
또한 generate 명령어에서 직접 Swagger 파일을 허니팟으로 변환할 수 있습니다.
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를 사용하는 경우 Datadog API 키를 내보내야 합니다
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 라이선스로 배포되며, 기여를 환영합니다!
이슈를 열거나 [email protected]으로 문의하세요.