
SentryPeer v4.0.5
Distributed SIP-Honeypot, der Betrugsdaten zu VoIP-Angriffen erkennt und teilt. Sammelt IP-Adressen und Telefonnummern böswilliger Akteure über ein Peer-to-Peer-Netzwerk, mit REST-API- und WebHook-Integration für Echtzeit-Bedrohungsinformationen.
Schützen Sie Ihre SIP-Server vor böswilligen Akteuren
Besonderer Dank gilt Deutsche Telekom Security GmbH für die Unterstützung im Jahr 2024.
Warum geben Sie uns nicht einen Stern und folgen uns auf Twitter!
Inhaltsverzeichnis
- Einführung
- Überblick
- Funktionen
- Vorträge
- Verbreitung
- Design
- Docker
- Installation
- SentryPeer ausführen
- WebHook
- RESTful API
- Syslog und Fail2ban
- JSON-Log-Format
- Kommandozeilenoptionen
- IPv6-Multicast-Adresse
- Lizenz
- Mitwirken
- Projekt-Website
- Marke
- Fragen, Fehlerberichte, Funktionswünsche
- Besonderer Dank
- Sponsoring
Einführung
SentryPeer® ist ein Betrugserkennungswerkzeug. Es lässt böswillige Akteure versuchen, Telefonanrufe zu tätigen, und speichert die IP-Adresse, von der sie stammen, sowie die Nummer, die sie anzurufen versucht haben. Diese Details können dann verwendet werden, um Benachrichtigungen im Netzwerk des Dienstanbieters auszulösen, und beim nächsten Mal, wenn ein Benutzer/Kunde versucht, eine gesammelte Nummer anzurufen, können Sie nach eigenem Ermessen handeln.
Zum Beispiel:
Angenommen, Sie betreiben vor Ort eine eigene VoIP-PBX. Was SentryPeer Ihnen in diesem Kontext ermöglicht, ist der Zugriff auf die Liste der Telefonnummern (über die RESTful API), wenn Ihre Benutzer ausgehende Anrufe tätigen. Wenn Sie einen Treffer erzielen, erhalten Sie einen Hinweis darauf, dass möglicherweise ein Gerät in Ihrem Netzwerk versucht, bekannte sondierende Telefonnummern anzurufen, die entweder:
- Nummern, die von SentryPeer-Knoten gesammelt wurden, die Sie selbst betreiben
- Nummern, die von anderen SentryPeer-Knoten gesehen wurden und über das Peer-to-Peer-Netzwerk auf Ihren Knoten repliziert wurden
Dies würde es Ihnen ermöglichen, eine Benachrichtigung von Ihren Überwachungssystemen zu generieren, bevor Sie teure Anrufe anhäufen oder etwas Schlimmeres passiert.
Was würde zu diesem Szenario führen?
- Möglicher Voicemail-Betrug. Dies kann passieren, wenn Sie zulassen, dass ein eingehender Anruf (Ihre DID/DDI) zu Ihrem Voicemail-System gelangt und dann zur Eingabe einer PIN auffordert. Diese PIN ist schwach und das Voicemail-System erlaubt es Ihnen, '*' zu drücken, um die Caller ID zurückzurufen, die eine Voicemail hinterlassen hat. Der Angreifer hat eine Voicemail hinterlassen, errät dann Ihre PIN und ruft sie zurück. Die CLI ist eine bekannte Nummer, die SentryPeer gesehen hat. Sie können darauf alarmieren.
- Ein Gerät wurde gekapert und/oder ein Softphone oder Ähnliches verwendet die Anmeldedaten, die es von der GUI des Telefons gestohlen hat, und versucht, sich an Ihrem System zu registrieren und Anrufe an eine Nummer zu tätigen, die SentryPeer gesehen hat.
- Ein unschuldiger Benutzer ruft eine Phishing-Nummer oder eine bekannte teure Nummer usw. an, die SentryPeer zuvor gesehen hat.
Traditionell werden diese Daten an einen zentralen Ort geliefert, sodass Sie nicht Eigentümer der Daten sind, die Sie gesammelt haben. Bei diesem Projekt geht es ausschließlich um Peer-to-Peer-Sharing dieser Daten. Der Benutzer, dem die Daten gehören, und verschiedene Service-Provider-/Network-Provider-bezogene Feeds der Daten sind der entscheidende Punkt für mich. Ich habe genug von all den Diensten da draußen, die sie behalten und verkaufen. Wenn Sie sie gesammelt haben, sollten Sie die Wahl haben, sie zu behalten und/oder sich dafür zu entscheiden, sie mit anderen Mitgliedern der SentryPeer-Community über p2p-Methoden zu teilen.
Überblick
SentryPeer-Knoten
Hier verwenden wir Mermaid Sequence diagrams, um den Datenfluss von einem SentryPeer-Knoten zu SentryPeerHQ zu zeigen.
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-Node zu 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@
Verwendung des SentryPeer Node und der 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