
SentryPeer v4.0.5
Distributed SIP honeypot che rileva e condivide dati sulle frodi negli attacchi VoIP. Raccoglie IP malintenzionati e numeri di telefono tramite rete peer-to-peer, con integrazione REST API e WebHook per intelligence sulle minacce in tempo reale.
Proteggi i tuoi server SIP dagli attori malintenzionati
Un ringraziamento speciale a Deutsche Telekom Security GmbH per averci sponsorizzato! Molto gentili!
Perché non darci una stella e seguirci su Twitter!
Indice
- Introduzione
- Panoramica
- Funzionalità
- Presentazioni
- Adozione
- Progettazione
- Docker
- Installazione
- Esecuzione di SentryPeer
- WebHook
- API REST
- Syslog e Fail2ban
- Formato dei log JSON
- Opzioni da riga di comando
- Indirizzo multicast IPv6
- Licenza
- Contribuire
- Sito web del progetto
- Marchio
- Domande, segnalazioni di bug, richieste di funzionalità
- Ringraziamenti speciali
- Sponsorizzazione
Introduzione
SentryPeer® è uno strumento di rilevamento delle frodi. Consente agli attori malintenzionati di tentare di effettuare chiamate telefoniche e salva l'indirizzo IP da cui provengono e il numero che hanno provato a chiamare. Questi dettagli possono poi essere utilizzati per generare notifiche nella rete del fornitore di servizi e la prossima volta che un utente/cliente tenta di chiamare un numero raccolto, puoi agire come ritieni opportuno.
Ad esempio:
Supponiamo che tu stia gestendo il tuo PBX VoIP in sede. Ciò che SentryPeer ti permetterà di fare in questo contesto è di consultare l'elenco dei numeri di telefono (tramite l'API REST) quando i tuoi utenti effettuano chiamate in uscita. Se ottieni un riscontro, riceverai un avviso che potenzialmente un dispositivo nella tua rete sta tentando di chiamare numeri telefonici di prova noti che sono stati:
- Numeri raccolti dai nodi SentryPeer che stai eseguendo tu stesso
- Numeri visti da altri nodi SentryPeer che sono stati replicati sul tuo nodo tramite la rete peer-to-peer
Questo ti permetterebbe di generare una notifica dai tuoi sistemi di monitoraggio prima di accumulare chiamate costose o che accada qualcosa di peggio.
Cosa potrebbe portare a questo scenario?
- Potenziale frode della segreteria telefonica. Ciò può accadere se permetti di chiamare un numero in entrata (il tuo DID/DDI) per accedere alla tua segreteria telefonica, quindi viene richiesto un PIN. Se questo PIN è debole e il sistema di segreteria ti permette di premere '*' per richiamare il Caller ID che ha lasciato un messaggio, l'attaccante ha lasciato un messaggio, indovina il tuo PIN e lo richiama. Il CLI è un numero noto che SentryPeer ha visto. Puoi ricevere un avviso.
- Un dispositivo è stato dirottato e/o un softphone o simile sta utilizzando le credenziali rubate dall'interfaccia del telefono e sta tentando di registrarsi al tuo sistema e chiamare un numero visto da SentryPeer.
- Un utente innocente sta chiamando un numero di phishing o un numero costoso noto, ecc., che SentryPeer ha già visto.
Tradizionalmente, questi dati vengono inviati a un luogo centralizzato, quindi non possiedi i dati che hai raccolto. Questo progetto si basa sulla condivisione peer-to-peer di tali dati. L'utente che possiede i dati e i vari feed correlati al fornitore di servizi / fornitore di rete sono l'elemento chiave per me. Sono stanco di tutti quei servizi che li conservano e li vendono. Se li hai raccolti, dovresti avere la scelta di conservarli e/o di acconsentire a condividerli con altri membri della comunità SentryPeer tramite metodi p2p.
Panoramica
Nodo SentryPeer
Qui stiamo utilizzando diagrammi di sequenza Mermaid per mostrare il flusso dei dati da un nodo SentryPeer a SentryPeerHQ.```mermaid
sequenceDiagram
actor A as Attacker
participant S as SentryPeer Node
participant DS as Data Store
participant W as WebHook
Endpoint
Note over DS: sqlite/json log/syslog
(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 Node a SentryPeerHQ```mermaid
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@
Utilizzo del nodo SentryPeer e dell'API SentryPeerHQ```mermaid
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
#### Integrazione con i tuoi sistemi```mermaid
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