
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.
Proteja seus servidores SIP contra agentes maliciosos
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
- Visão Geral
- Recursos
- Palestras
- Adoção
- Design
- Docker
- Instalação
- Executando o SentryPeer
- WebHook
- API RESTful
- Syslog e Fail2ban
- Formato de Log JSON
- Opções de Linha de Comando
- Endereço Multicast IPv6
- Licença
- Contribuindo
- Site do Projeto
- Marca Registrada
- Perguntas, Relatórios de Bugs, Solicitações de Recursos
- Agradecimentos Especiais
- Patrocínio
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:
- Números coletados por nós SentryPeer que você mesmo está executando
- 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?
- 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.
- 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.
- 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