返回更新列表
新发布Jul 27, 2026

SentryPeer v4.0.5

分布式SIP蜜罐,检测并共享VoIP攻击中的欺诈数据。通过点对点网络收集恶意行为者的IP和电话号码,并集成REST API和WebHook以实现实时威胁情报。

分享

保护您的 SIP 服务器免受恶意行为者攻击

SentryPeer Logo

Stability: Active GitHub release (latest SemVer) Docker Hub Coverity Scan Build Status Build and Test CodeQL Clang Static Analysis Coverity Scan Build Status CII Best Practices gitleaks

特别感谢 Deutsche Telekom Security GmbH 在 2024 年对我们的赞助。

为什么不给我们点个星,并在 Twitter 上关注我们呢!

目录

简介

SentryPeer® 是一款欺诈检测工具。它让恶意行为者尝试拨打电话,并保存他们来源的 IP 地址以及 他们尝试拨打的号码。这些详细信息随后可用于在服务提供商网络上发出通知,并且下次 当用户/客户尝试拨打已收集的号码时,您可以采取任何您认为合适的行动。

例如:

假设您在现场运行自己的 VoIP PBX。在这种情况下,SentryPeer 将允许您做的是, 当您的用户拨打外呼电话时,深入查询电话号码列表(使用 RESTful API)。如果命中, 您将收到预警,提示您网络内的某个设备可能正在尝试拨打已知的探测电话号码,这些号码要么已被:

  1. 您自己运行的 SentryPeer 节点收集的号码
  2. 其他 SentryPeer 节点看到并通过点对点网络复制到您节点的号码

这将允许您在产生任何昂贵通话费用或更糟糕的事情发生之前,从您的监控系统生成通知。

什么情况会导致这种场景?

  1. 潜在的语音邮件欺诈。如果您允许拨打入站号码(您的 DID/DDI)进入语音邮件系统,然后提示输入 PIN 码,就可能发生这种情况。该 PIN 码很弱,且语音邮件系统允许您按 '*' 回拨留下语音邮件的来电号码。攻击者留下了一条语音邮件,然后猜出您的 PIN 码并回拨。该来电号码是 SentryPeer 已见过的已知号码。您可以对此发出警报。
  2. 设备被劫持和/或软电话或类似设备正在使用他们从电话 GUI 窃取的凭据,试图注册到您的系统并拨打 SentryPeer 见过的号码。
  3. 无辜用户正在拨打 SentryPeer 之前见过的钓鱼号码或已知的昂贵号码等。

传统上,这些数据会被发送到中央位置,因此您并不拥有自己收集的数据。这个项目完全是关于该数据的点对点共享。用户拥有数据以及各种服务提供商/网络提供商相关的数据馈送,对我来说是关键所在。我受够了市面上那些保留数据并出售数据的服务。如果您收集了数据,您应该有权选择保留它和/或选择通过 p2p 方法与其他 SentryPeer 社区成员共享。

概述

SentryPeer 节点

这里我们使用 Mermaid 序列图 来展示从 SentryPeer 节点到 SentryPeerHQ 的数据流。

sequenceDiagram
    actor A as Attacker
    participant S as SentryPeer Node
    participant DS as Data Store
    participant W as WebHook <br/>Endpoint
    Note over DS: sqlite/json log/syslog <br/>(if enabled)
    Note over W: if enabled
    A->>S: SIP probe OPTIONS/REGISTER/etc
    S->>DS: Save event
    S->>W: Send event
    W->>S: 200 OK
    S->>A: 200 OK
    A->>S: INVITE sip:00046500729221@

SentryPeer 节点到 SentryPeerHQ

sequenceDiagram
    actor A as Attacker
    participant S as SentryPeer Node
    participant DS as Data Store
    participant HQ as SentryPeerHQ
    Note over DS: sqlite/json log/syslog (if enabled)
    Note over HQ: OAuth2 creds required.<br/> if using https://sentrypeer.com
    A->>S: SIP probe OPTIONS/REGISTER/etc
    S->>DS: Save event
    S->>HQ: Send event
    HQ->>S: 201 Created
    S->>A: 200 OK
    A->>S: INVITE sip:00046500729221@

使用 SentryPeer Node 和 SentryPeerHQ API

sequenceDiagram
    Actor U as User
    participant S as SentryPeer Node/HQ API
    Note over S: if enabled
    U->>S: GET /numbers
    S->>U: 200 OK Return all Phone numbers seen in database

与您自己的系统集成

sequenceDiagram
    participant D as Device
    participant P as PBX/ITSP/Carrier
    participant HQ as SentryPeer Node/HQ API
    participant N as NOC
    Note over P: Integration with <br/>SentryPeer needed
    Note over N: Consumes alerts
    Note over HQ: OAuth2 creds required<br/> if using SentryPeerHQ
    Note over P,HQ: API rate limiting if using SentryPeerHQ
    D->>P: SIP INVITE
    P->>HQ: Have you seen attackers call this number?
    HQ->>P: Yes, this has been seen on SentryPeer Nodes
    HQ->>N: WebHook/Email/Slack
    Note over HQ,N: Only if using SentryPeerHQ
    P->>D: I'm blocking this call. Sorry

🚧 功能特性

  • 所有代码均为自由/开源软件
  • 快速
  • 用户_拥有自己的_数据
  • 用户可根据自身意愿提交数据(需启用 p2p 模式 - -p)
  • 用户仅当选择将数据提交至数据池时,才能获取其他用户的数据
  • 使用 OpenDHT 嵌入分布式哈希表(DHT)节点(-p 命令行选项)
  • 使用 OpenDHT 对收集到的 bad_actors 进行点对点共享(默认关闭)
  • 使用 OpenDHT 进行点对点数据复制以接收收集到的 bad_actors(默认关闭)
  • 设置自己的 DHT 引导节点(-b 命令行选项)
  • 多线程
  • UDP 传输
  • TCP 传输
  • TLS 传输
  • JSON 日志输出到文件
  • 可禁用 SIP 模式。这允许您仅以 API 模式或 DHT 模式等运行 SentryPeer,即不作为蜜罐,而是作为 SentryPeer 社区中的一个节点,或仅用于提供复制数据
  • 可启用 SIP 响应模式以收集数据 - 命令行 / 环境变量标志
  • 本地数据副本以实现快速访问 - 命令行 / 环境变量数据库位置标志
  • 本地 API 以实现快速访问 - 命令行 / 环境变量标志
  • WebHook 用于将 bad actor json POST 到中心位置 - 命令行 / 环境变量标志
  • 通过 OAuth2 bearer token 与 SentryPeerHQ 集成
  • 查询 API 获取 bad actors 的 IP 地址
  • 查询 API 获取 bad actors 的 IPSET
  • 查询 API 获取特定 bad actor 的 IP 地址
  • 查询 API 获取 bad actors 尝试呼叫的电话号码
  • 查询 API 获取 bad actor 尝试呼叫的某个电话号码
  • 通过 syslog 支持 Fail2Ban,依据功能请求
  • 本地 sqlite 数据库 - 功能 / 命令行标志
  • 分析 - 选择加入
  • 用于外部访问的 SDK/库 - 从 CGRateS 开始,或使用我们自己的 nftables 防火墙
  • 适用于 IoT 的小型二进制文件
  • 跨平台
  • 防火墙选项可实时使用分布式数据
  • 容器位于 Docker Hub 最新构建
  • BGP 代理用于对等以黑洞收集到的 IP 地址(类似于 Team Cymru Bogon Router Server Project)
  • SIP 代理用于返回 404 或 SIP 重定向的默认目的地

演讲

分类