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

SentryPeer v4.0.5

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

Поделиться

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

SentryPeer Logo

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

Особая благодарность Deutsche Telekom Security GmbH за спонсорство в 2024 году.

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

Содержание

Введение

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

Например:

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

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

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

Что могло бы привести к такому сценарию?

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

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

Обзор

Узел SentryPeer

Здесь мы используем диаграммы последовательностей Mermaid, чтобы показать поток данных от узла SentryPeer к 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@

Узел SentryPeer к 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@

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

Интеграция с вашими собственными системами

Категории