
SentryPeer v4.0.5
Honeypot SIP distribuido que detecta y comparte datos de fraude en ataques VoIP. Recopila direcciones IP de actores maliciosos y números de teléfono a través de una red peer-to-peer, con integración de API REST y WebHook para inteligencia de amenazas en tiempo real.
Protege tus servidores SIP de actores maliciosos
Un agradecimiento especial a Deutsche Telekom Security GmbH por patrocinarnos en 2024.
¿Por qué no darnos una estrella y seguirnos en Twitter!
Tabla de Contenidos
- Introducción
- Descripción general
- Características
- Charlas
- Adopción
- Diseño
- Docker
- Instalación
- Ejecutar SentryPeer
- WebHook
- API RESTful
- Syslog y Fail2ban
- Formato de Log JSON
- Opciones de Línea de Comandos
- Dirección Multicast IPv6
- Licencia
- Contribuir
- Sitio Web del Proyecto
- Marca Registrada
- Preguntas, Reportes de Errores, Solicitudes de Funciones
- Agradecimientos Especiales
- Patrocinio
Introducción
SentryPeer® es una herramienta de detección de fraude. Permite que los actores maliciosos intenten realizar llamadas telefónicas y guarda la dirección IP desde la que provienen y el número al que intentaron llamar. Esos detalles pueden luego utilizarse para generar notificaciones en la red de los proveedores de servicios y la próxima vez que un usuario/cliente intente llamar a un número recopilado, puedes actuar como consideres oportuno.
Por ejemplo:
Supongamos que estás ejecutando tu propia centralita VoIP PBX en tus instalaciones. Lo que SentryPeer te permitirá hacer en este contexto, es consultar la lista de números de teléfono (usando la API RESTful) cuando tus usuarios realizan llamadas salientes. Si obtienes una coincidencia, recibirás una alerta de que potencialmente un dispositivo dentro de tu red está intentando llamar a números de teléfono de sondeo conocidos que han sido:
- Números recopilados por nodos SentryPeer que usted mismo está ejecutando
- Números vistos por otros nodos SentryPeer que han sido replicados a su nodo a través de la red peer to peer
Esto le permitiría generar una notificación desde sus sistemas de monitoreo antes de acumular llamadas costosas o que ocurra algo peor.
¿Qué conduciría a este escenario?
- Posible fraude de buzón de voz. Esto puede ocurrir si permite que una llamada a un número entrante (su DID/DDI) llegue a su sistema de buzón de voz y luego solicite un PIN. Este PIN es débil y el sistema de buzón de voz permite presionar '*' para devolver la llamada al Caller ID que dejó un mensaje de voz. El atacante ha dejado un mensaje de voz, y luego adivina su PIN y devuelve la llamada. El CLI es un número conocido que SentryPeer ha visto. Puede generar una alerta sobre él.
- Un dispositivo ha sido secuestrado y/o un softphone o similar está usando las credenciales que robaron de la GUI del teléfono e intenta registrarse en su sistema y realizar llamadas a un número visto por SentryPeer.
- Un usuario inocente está llamando a un número de phishing o a un número costoso conocido, etc., que SentryPeer ha visto antes.
Tradicionalmente, estos datos se envían a un lugar central, por lo que usted no es dueño de los datos que ha recopilado. Este proyecto trata todo sobre el intercambio Peer to Peer de esos datos. El usuario que posee los datos y los diversos feeds de datos relacionados con Proveedores de Servicios / Proveedores de Red es la pieza clave para mí. Estoy harto de todos los servicios que existen que los guardan y los venden. Si usted los ha recopilado, debería tener la opción de conservarlos y/o optar por compartirlos con otros miembros de la comunidad SentryPeer mediante métodos p2p.
Descripción general
Nodo SentryPeer
Aquí estamos usando Diagramas de secuencia de Mermaid para mostrar el flujo de datos desde un nodo SentryPeer hacia 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@
Nodo SentryPeer a 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@
Uso del nodo SentryPeer y la API de 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