UI はローカライズ済みです。スキルの紹介と説明文書は選択した言語へ AI が自動翻訳し、コード・コマンド・パス・専門用語は原文のままです。原作者の文書が優先されます。
スキルを探す
運用・デプロイ · SKILL.md

performing-deception-technology-deployment

performing-deception-technology-deployment

部署欺骗技术(Deception Technology),包括蜜罐(Honeypot)、诱饵令牌(Honeytoken)和诱饵系统(Decoy System), 用于检测已绕过外围防御的攻击者,提供极低误报率的高置信度告警。适用于 SOC 团队需要提前预警横向移动(Lateral Movement)、 凭据滥用(Credential Abuse)或内部侦察(Internal Reconnaissance)的场景,通过在网络中部署逼真陷阱实现检测。

Independent GitHub snapshot · Automated classification · Original documentation governs

スキルの説明

GitHub

name: performing-deception-technology-deployment description: > 部署欺骗技术(Deception Technology),包括蜜罐(Honeypot)、诱饵令牌(Honeytoken)和诱饵系统(Decoy System), 用于检测已绕过外围防御的攻击者,提供极低误报率的高置信度告警。适用于 SOC 团队需要提前预警横向移动(Lateral Movement)、 凭据滥用(Credential Abuse)或内部侦察(Internal Reconnaissance)的场景,通过在网络中部署逼真陷阱实现检测。 domain: cybersecurity subdomain: soc-operations tags: [soc, deception, honeypot, honeytoken, canary, lateral-movement, detection] version: "1.0" author: mahipal license: Apache-2.0

执行欺骗技术部署

适用场景

以下情况使用本技能:

  • SOC 团队需要以极低误报率高置信度检测攻陷后横向移动的活动
  • 现有检测工具无法发现刻意规避基于阈值告警的高级攻击者
  • 组织希望通过植入虚假凭据作为诱饵令牌(Honeytoken)来检测凭据窃取行为
  • 网络分段存在空白,需要补偿性检测控制措施

请勿将本技能用作替代基础安全控制(补丁管理、EDR、网络分段)的手段——欺骗技术是检测层,而非防御机制。

前置条件

  • 已确定用于蜜罐/诱饵部署的网络分段(服务器 VLAN、DMZ、OT 网络)
  • 欺骗平台(Thinkst Canary、Attivo/SentinelOne Hologram 或开源替代方案)
  • 用于欺骗告警的 SIEM 集成(与欺骗资产的任何交互均属可疑)
  • 用于创建诱饵令牌账户和凭据的 Active Directory 访问权限
  • 与网络团队协调 IP 分配和流量路由

工作流程

步骤 1:规划欺骗部署的攻击面

识别攻击者可能穿越的高价值网络分段:

欺骗部署地图
━━━━━━━━━━━━━━━━━━━━━━━━
网络分段              诱饵类型              理由
服务器 VLAN           虚假文件服务器        攻击者在侦察阶段枚举 SMB 共享
数据库 VLAN           虚假数据库服务器      历史事件中发现 SQL 扫描行为
AD/DC 分段            诱饵令牌账户          凭据窃取检测
管理层子网            虚假工作站            定向攻击通常通过高管系统横向移动
DMZ                   蜜罐 Web 应用         外部攻击者检测
OT 网络               虚假 PLC/HMI         工业威胁检测
云(AWS VPC)         诱饵 EC2 + S3         云横向移动检测

步骤 2:部署 Thinkst Canary 设备

配置模拟真实基础设施的 Canary 设备:

Windows 文件服务器诱饵:

{
  "device_name": "FILESERVER-BK04",
  "personality": "windows-server-2019",
  "services": {
    "smb": {
      "enabled": true,
      "shares": ["Finance_Backup", "HR_Archive", "IT_Docs"],
      "files": [
        {"name": "Q4_Revenue_2024.xlsx", "alert_on": "read"},
        {"name": "employee_ssn_export.csv", "alert_on": "read"},
        {"name": "admin_passwords.kdbx", "alert_on": "read"}
      ]
    },
    "rdp": {"enabled": true},
    "http": {"enabled": false}
  },
  "network": {
    "ip": "10.0.5.200",
    "hostname": "FILESERVER-BK04",
    "domain": "company.local"
  },
  "alert_webhook": "https://soar.company.com/api/webhook/canary"
}

数据库服务器诱饵:

{
  "device_name": "DB-ARCHIVE-02",
  "personality": "linux-mysql",
  "services": {
    "mysql": {
      "enabled": true,
      "port": 3306,
      "databases": ["customer_pii", "payment_archive"],
      "alert_on_login_attempt": true
    },
    "ssh": {
      "enabled": true,
      "port": 22,
      "alert_on_login_attempt": true
    }
  },
  "network": {
    "ip": "10.0.10.50",
    "hostname": "db-archive-02"
  }
}

步骤 3:在 Active Directory 中部署诱饵令牌

创建不应被使用的虚假特权账户:

# 创建诱饵令牌服务账户
New-ADUser -Name "svc_sql_backup" `
    -SamAccountName "svc_sql_backup" `
    -UserPrincipalName "svc_sql_backup@company.local" `
    -Description "SQL Backup Service Account - DO NOT DELETE" `
    -AccountPassword (ConvertTo-SecureString "FakeP@ssw0rd2024!" -AsPlainText -Force) `
    -Enabled $true `
    -PasswordNeverExpires $true `
    -CannotChangePassword $true

# 添加到看起来有吸引力的组(但监控任何使用行为)
Add-ADGroupMember -Identity "Domain Admins" -Members "svc_sql_backup"

# 在诱饵工作站上放置缓存凭据
# (Mimikatz/凭据转储工具将发现这些凭据)
cmdkey /add:fileserver-bk04.company.local /user:company\svc_sql_backup /pass:FakeP@ssw0rd2024!

在 Splunk 中监控诱饵令牌使用情况:

index=wineventlog sourcetype="WinEventLog:Security"
(EventCode=4624 OR EventCode=4625 OR EventCode=4648 OR EventCode=4768 OR EventCode=4769)
 TargetUserName="svc_sql_backup"
| eval alert_severity = "CRITICAL"
| eval alert_message = "HONEYTOKEN ACCOUNT USED — Likely credential theft detected"
| table _time, EventCode, src_ip, ComputerName, TargetUserName, Logon_Type, alert_message

步骤 4:部署诱饵文件和文档

植入被访问时会发出信标的追踪文档:

诱饵文档(带追踪功能的 Word 文档):

# 使用 Thinkst Canary API 创建诱饵令牌文档
import requests

response = requests.post(
    "https://YOURCOMPANY.canary.tools/api/v1/canarytoken/create",
    data={
        "auth_token": "YOUR_API_TOKEN",
        "kind": "doc-msword",
        "memo": "Finance backup folder canary document",
        "flock_id": "flock:default"
    }
)
token = response.json()
download_url = token["canarytoken"]["canarytoken_url"]
print(f"Download canary doc: {download_url}")
# 将此文档放置在蜜罐 SMB 共享和敏感目录中

AWS 诱饵令牌(S3 访问密钥):

# 创建 AWS 诱饵令牌——当访问密钥被使用时触发告警
response = requests.post(
    "https://YOURCOMPANY.canary.tools/api/v1/canarytoken/create",
    data={
        "auth_token": "YOUR_API_TOKEN",
        "kind": "aws-id",
        "memo": "Canary AWS key in developer laptop .aws/credentials"
    }
)
aws_keys = response.json()
print(f"Access Key: {aws_keys['canarytoken']['access_key_id']}")
print(f"Secret Key: {aws_keys['canarytoken']['secret_access_key']}")
# 植入开发者工作站的 .aws/credentials 文件中

步骤 5:将欺骗告警与 SIEM/SOAR 集成

所有欺骗告警均为高置信度——任何交互行为都属可疑:

Splunk Canary 触发告警:

index=canary sourcetype="canary:alerts"
| eval severity = "CRITICAL"
| eval confidence = "HIGH — Deception asset triggered, zero false positive expected"
| table _time, canary_name, alert_type, source_ip, service, details
| sendalert create_notable param.rule_title="Deception Alert — Canary Triggered"
  param.severity="critical" param.drilldown_search="index=canary source_ip=$source_ipquot;

SOAR 自动化响应:

def canary_triggered(container):
    """欺骗告警自动响应——高置信度,无需人工审批"""
    source_ip = container["artifacts"][0]["cef"]["sourceAddress"]

    # 立即隔离来源主机
    phantom.act("quarantine device",
                parameters=[{"ip_hostname": source_ip}],
                assets=["crowdstrike_prod"],
                name="isolate_attacker_host")

    # 在防火墙层阻断
    phantom.act("block ip",
                parameters=[{"ip": source_ip, "direction": "both"}],
                assets=["palo_alto_prod"],
                name="block_attacker_ip")

    # 创建高优先级事件工单
    phantom.act("create ticket",
                parameters=[{
                    "short_description": f"DECEPTION ALERT: Canary triggered from {source_ip}",
                    "urgency": "1",
                    "impact": "1"
                }],
                assets=["servicenow_prod"])

    phantom.set_severity(container, "critical")

步骤 6:维护欺骗真实性

定期更新诱饵以保持可信度:

  • 每季度轮换诱饵令牌密码(更新诱饵工作站上的缓存凭据)
  • 更新诱饵文件的修改日期,使其看起来是最近访问的
  • 向蜜罐添加真实的网络流量(计划性 SMB 枚举、DNS 查询)
  • 在 DNS 和 Active Directory 中注册蜜罐主机名,使其出现在网络扫描结果中
  • 更新诱饵文档内容以匹配当前业务上下文

核心概念

术语定义
蜜罐(Honeypot)模拟真实基础设施的诱饵系统,用于吸引和检测网络中的攻击者
诱饵令牌(Honeytoken)虚假凭据、文件或数据记录,被访问或使用时触发告警
金丝雀(Canary)轻量级欺骗设备或令牌,任何交互均会触发告警(Thinkst Canary 平台)
面包屑(Breadcrumb)植入的痕迹(缓存凭据、书签、配置文件),引导攻击者进入欺骗资产
高置信度告警(High-Fidelity Alert)极低误报率的检测信号,因为任何合法用户都不应与欺骗资产交互
诱饵网络(Decoy Network)由相互连接的蜜罐组成的集合,模拟真实网络分段以观察攻击者的 TTP

工具与系统

  • Thinkst Canary:商业欺骗平台,提供硬件/虚拟 Canary 设备和诱饵令牌
  • Canarytokens.org:免费诱饵令牌生成服务(DNS、HTTP、AWS 密钥、Word 文档、SQL 查询)
  • Attivo Networks(SentinelOne):企业级欺骗平台,具备 AD 诱饵和端点面包屑功能
  • HoneyDB:社区蜜罐数据聚合平台,用于威胁情报共享
  • T-Pot:开源多蜜罐平台,在 Docker 部署中集成了 20 余种蜜罐类型

常见场景

  • 横向移动检测:攻击者枚举 SMB 共享并访问蜜罐文件服务器——立即触发高置信度告警
  • 凭据窃取发现:Mimikatz 转储诱饵令牌缓存凭据——使用虚假账户时触发告警
  • 云密钥泄露:从外部 IP 使用被盗的 AWS 诱饵令牌——检测供应链或内部人员泄露
  • 勒索软件早期预警:勒索软件在蜜罐共享上加密诱饵文件——在生产系统受影响前实现早期检测
  • 内部威胁信号:员工访问蜜罐"薪资数据库"——表明存在未经授权的数据探查行为

输出格式

欺骗告警——严重(CRITICAL)
━━━━━━━━━━━━━━━━━━━━━━━━━━
时间:         2024-03-15 14:23:07 UTC
Canary:       FILESERVER-BK04 (10.0.5.200)
服务:         SMB——文件共享"Finance_Backup"被访问
来源:         192.168.1.105 (WORKSTATION-042, 财务部)
用户:         company\jsmith
访问文件:     Q4_Revenue_2024.xlsx(诱饵文档)

告警置信度: 高——无合法理由访问欺骗资产
误报可能性: <1%

自动化响应:
  [已完成] WORKSTATION-042 通过 CrowdStrike 隔离
  [已完成] 192.168.1.105 在防火墙处双向阻断
  [已完成] 事件 INC0012567 已创建(P1——严重)
  [待处理] 二级调查——确定工作站是否已被攻陷或属内部威胁
保存したスキル