Назад к обновлениям
New releaseJul 27, 2026

SentryPeer v4.0.5

Распределенный SIP-хонейпот, который обнаруживает и обменивается данными о мошеннических VoIP-атаках. Собирает IP-адреса злоумышленников и телефонные номера через пиринговую сеть, с интеграцией REST API и WebHook для аналитики угроз в реальном времени.

Поделиться

Защитите свои SIP-серверы от злоумышленников

Логотип SentryPeer

Stability: Active GitHub release (latest SemVer) Docker Hub Coverity Scan Build Status Build and Test CodeQL Clang Static Analysis CII Best Practices gitleaks

Особая благодарность Deutsche Telekom Security GmbH за спонсорство! Очень любезно!

Почему бы не поставить нам звезду и не подписаться на нас в Twitter!

Содержание

Введение

SentryPeer® — это инструмент для обнаружения мошенничества. Он позволяет злоумышленникам пытаться совершать телефонные звонки и сохраняет IP-адрес, с которого они звонили, и номер, на который они пытались позвонить. Эти данные затем можно использовать для отправки уведомлений в сеть поставщика услуг, и в следующий раз, когда пользователь/клиент попытается позвонить на собранный номер, вы можете действовать по своему усмотрению.

Например:

Допустим, вы запускаете собственную VoIP АТС на месте. Что SentryPeer позволит вам сделать в этом контексте — это заглянуть в список телефонных номеров (используя RESTful API), когда ваши пользователи совершают исходящие звонки. Если найдется совпадение, вы получите предупреждение о том, что потенциально устройство в вашей сети пытается вызвать известные проверочные телефонные номера, которые либо:

  1. Номера, собранные узлами SentryPeer, которые вы запускаете сами
  2. Номера, замеченные другими узлами SentryPeer, которые были реплицированы на ваш узел через одноранговую сеть

Это позволит вам сгенерировать уведомление из ваших систем мониторинга до того, как вы накопите дорогостоящие звонки или произойдет что-то более серьезное.

Что может привести к такому сценарию?

  1. Возможное мошенничество с голосовой почтой. Это может произойти, если вы разрешаете звонок на входящий номер (ваш DID/DDI) для доступа к системе голосовой почты, а затем запрашиваете PIN-код. Этот PIN-код слабый, и система голосовой почты позволяет нажать '*', чтобы перезвонить на номер вызывающего абонента, оставившего голосовое сообщение. Злоумышленник оставил голосовое сообщение, а затем угадывает ваш PIN-код и перезванивает на него. CLI — это известный номер, который SentryPeer уже видел. Вы можете установить оповещение по нему.
  2. Устройство было взломано и/или программный телефон или подобное использует учетные данные, украденные из GUI телефона, и пытается зарегистрироваться в вашей системе и совершить звонки на номер, замеченный SentryPeer.
  3. Невинный пользователь звонит на фишинговый номер или известный дорогостоящий номер и т.п., который SentryPeer уже видел ранее.

Традиционно эти данные отправляются в центральное место, поэтому вы не являетесь владельцем собранных данных. Этот проект полностью посвящен одноранговому обмену этими данными. Пользователь, владеющий данными и различными каналами данных, связанными с провайдерами услуг и сетей, — это ключевой момент для меня. Меня тошнит от всех этих сервисов, которые хранят и продают данные. Если вы их собрали, у вас должен быть выбор: оставить их себе и/или согласиться поделиться ими с другими членами сообщества SentryPeer через p2p-методы.

Обзор

Узел SentryPeer

Здесь мы используем Mermaid Sequence diagrams для отображения потока данных от узла SentryPeer к 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 to 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@

Использование SentryPeer Node и SentryPeerHQ API```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

#### Интеграция с вашими собственными системами```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

🚧 Возможности

Категории