Implementing Honeytokens For Breach Detection

部署金丝雀令牌(canary tokens)和蜜标(honeytokens),包括伪造的 AWS 凭据、DNS 金丝雀、 文档信标和数据库记录,当攻击者访问时触发告警。使用 Canarytokens API 和自定义 Webhook 集成 实现入侵检测。适用于构建基于欺骗技术的早期预警入侵检测系统的场景。

killvxk Updated

File contents

使用蜜标实现入侵检测

说明

在关键系统中部署蜜标以检测未经授权的访问。每种令牌类型在被攻击者触发时通过 Webhook 发送告警。

import requests

# 通过 Canarytokens 创建 DNS 金丝雀令牌
resp = requests.post("https://canarytokens.org/generate", data={
    "type": "dns",
    "email": "soc@company.com",
    "memo": "生产 DB 服务器蜜标",
})
token = resp.json()
print(f"DNS 令牌:{token['hostname']}")

需要部署的令牌类型:

  1. AWS 凭据文件(~/.aws/credentials),包含金丝雀密钥
  2. 嵌入配置文件的 DNS 令牌
  3. 敏感文件共享中的文档信标(Word/PDF)
  4. 用户表中的数据库蜜标记录
  5. 内部 Wiki/文档页面中的 Web 信标

示例

# 生成带金丝雀令牌的伪造 AWS 凭据文件
aws_creds = f"[default]\naws_access_key_id = {canary_key_id}\naws_secret_access_key = {canary_secret}\n"
with open("/opt/backup/.aws/credentials", "w") as f:
    f.write(aws_creds)

killvxk/cybersecurity-skills-zh/tree/main/skills/implementing-honeytokens-for-breach-detection commit f5999211e4

Frequently asked questions

npx skillmds@latest add killvxk/implementing-honeytokens-for-breach-detection