Voltar às atualizações
New releaseJul 27, 2026

SentryPeer v4.0.5

Honeypot SIP distribuído que detecta e compartilha dados de fraude em ataques VoIP. Coleta IPs de atores maliciosos e números de telefone via rede ponto a ponto, com integração REST API e WebHook para inteligência de ameaças em tempo real.

Compartilhar

Proteja seus servidores SIP contra agentes maliciosos

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

Agradecimentos especiais à Deutsche Telekom Security GmbH por nos patrocinar em 2024.

Por que não nos dar uma estrela e nos seguir no Twitter!

Índice

Introdução

SentryPeer® é uma ferramenta de detecção de fraudes. Ela permite que agentes maliciosos tentem fazer chamadas telefônicas e salva o endereço IP de origem e o número que tentaram chamar. Esses detalhes podem então ser usados para gerar notificações na rede dos provedores de serviço e, na próxima vez que um usuário/cliente tentar ligar para um número coletado, você pode agir como achar adequado.

Por exemplo:

Digamos que você esteja executando seu próprio PBX VoIP no local. O que o SentryPeer permitirá que você faça nesse contexto, é consultar a lista de números de telefone (usando a API RESTful) quando seus usuários estiverem fazendo chamadas de saída. Se você obtiver um resultado positivo, receberá um alerta de que potencialmente um dispositivo dentro da sua rede está tentando ligar para números de telefone de sondagem conhecidos que foram either:

  1. Números coletados por nós SentryPeer que você mesmo está executando
  2. Números vistos por outros nós SentryPeer que foram replicados para o seu nó através da rede peer to peer

Isso permitiria que você gerasse uma notificação a partir dos seus sistemas de monitoramento antes de acumular chamadas caras ou algo pior acontecer.

O que levaria a este cenário?

  1. Potencial fraude de correio de voz. Isso pode acontecer se você permitir que uma chamada para um número de entrada (seu DID/DDI) chegue ao seu sistema de correio de voz e, em seguida, solicite um PIN. Esse PIN é fraco e o sistema de correio de voz permite que você pressione '*' para ligar de volta para o Caller ID que deixou uma mensagem de voz. O atacante deixou uma mensagem de voz, e então adivinha seu PIN e liga de volta. O CLI é um número conhecido que o SentryPeer já viu. Você pode alertar sobre isso.
  2. Um dispositivo foi sequestrado e/ou um softphone ou similar está usando as credenciais que roubaram da interface gráfica do telefone e está tentando se registrar no seu sistema e fazer chamadas para um número visto pelo SentryPeer.
  3. Um usuário inocente está ligando para um número de phishing ou um número caro conhecido etc. que o SentryPeer já viu antes.

Tradicionalmente, esses dados são enviados para um local central, então você não é dono dos dados que coletou. Este projeto é totalmente sobre o compartilhamento Peer to Peer desses dados. O usuário ser dono dos dados e de vários feeds de dados relacionados a Provedores de Serviço / Provedores de Rede é a parte fundamental para mim. Estou cansado de todos os serviços por aí que guardam os dados e os vendem. Se você os coletou, você deveria ter a escolha de mantê-los e/ou optar por compartilhá-los com outros membros da comunidade SentryPeer através de métodos p2p.

Visão Geral

Nó SentryPeer

Aqui estamos usando Diagramas de Sequência Mermaid para mostrar o fluxo de dados de um nó SentryPeer para o 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@

Nó SentryPeer para 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@

Usando o Nó SentryPeer e a API do SentryPeerHQ

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

Integrando com seus próprios sistemas

Categorias