
SentryPeer v4.0.5
نظام خادم وهمي SIP موزع يكتشف ويشارك بيانات الاحتيال على هجمات VoIP. يجمع عناوين IP وأرقام هواتف الجهات الخبيثة عبر شبكة نظير إلى نظير، مع تكامل REST API وWebHook لتوفير معلومات تهديد في الوقت الفعلي.
احمِ خوادم SIP الخاصة بك من الجهات الخبيثة
شكر خاص لـ Deutsche Telekom Security GmbH على رعايتهم لنا في عام 2024.
لمَ لا تمنحنا نجمة وتتابعنا على Twitter!
جدول المحتويات
- المقدمة
- نظرة عامة
- الميزات
- المحادثات
- التبنّي
- التصميم
- Docker
- التثبيت
- تشغيل SentryPeer
- WebHook
- واجهة RESTful API
- Syslog و Fail2ban
- تنسيق سجل JSON
- خيارات سطر الأوامر
- عنوان IPv6 متعدد البث
- الترخيص
- المساهمة
- موقع المشروع
- العلامة التجارية
- الأسئلة، تقارير الأخطاء، طلبات الميزات
- شكر خاص
- الرعاية
المقدمة
SentryPeer® هي أداة لكشف الاحتيال. تتيح للجهات الخبيثة محاولة إجراء مكالمات هاتفية وتحفظ عنوان IP الذي جاءوا منه والرقم الذي حاولوا الاتصال به. يمكن بعد ذلك استخدام هذه التفاصيل لرفع الإشعارات على شبكة مزود الخدمة، وفي المرة التالية التي يحاول فيها مستخدم/عميل الاتصال برقم تم جمعه، يمكنك التصرف بالطريقة التي تراها مناسبة.
على سبيل المثال:
لنفترض أنك تدير نظام VoIP PBX الخاص بك في الموقع. ما ستتيح لك SentryPeer فعله في هذا السياق هو الاطلاع على قائمة أرقام الهواتف (باستخدام واجهة RESTful API) عندما يقوم مستخدموك بإجراء مكالمات صادرة. إذا حصلت على تطابق، ستحصل على تنبيه بأن جهازًا داخل شبكتك يحاول الاتصال بأرقام هاتف معروفة بالاستكشاف والتي إما تم:
- الأرقام التي جمعتها عقد SentryPeer التي تشغّلها بنفسك
- الأرقام التي شاهدتها عقد SentryPeer أخرى وتم نسخها إلى عقدتك عبر شبكة الند للند
سيتيح لك ذلك إنشاء إشعار من أنظمة المراقبة لديك قبل أن تتراكم عليك مكالمات باهظة الثمن أو يحدث شيء أسوأ.
ما الذي قد يؤدي إلى هذا السيناريو؟
- احتمال الاحتيال عبر البريد الصوتي. يمكن أن يحدث هذا إذا سمحت بالاتصال برقم وارد (DID/DDI الخاص بك) للوصول إلى نظام البريد الصوتي لديك، ثم طلب رمز PIN. يكون هذا الرمز ضعيفًا ويسمح لك نظام البريد الصوتي بالضغط على '*' لإعادة الاتصال بمعرّف المتصل (Caller ID) الذي ترك رسالة صوتية. ترك المهاجم رسالة صوتية، ثم يخمّن رمز PIN الخاص بك ويعيد الاتصال به. معرّف خط المتصل (CLI) هو رقم معروف رصدته SentryPeer. يمكنك إطلاق تنبيه بشأنه.
- اختطاف جهاز و/أو استخدام هاتف برمجي أو ما شابه لبيانات الاعتماد التي سرقوها من واجهة رسومية للهاتف ويحاولون التسجيل في نظامك وإجراء مكالمات إلى رقم رصدته SentryPeer.
- مستخدم بريء يتصل برقم تصيّد احتيالي أو رقم باهظ معروف وما إلى ذلك رصدته SentryPeer من قبل.
تقليديًا، تُرسَل هذه البيانات إلى مكان مركزي، لذا فأنت لا تملك البيانات التي جمعتها. هذا المشروع يدور بالكامل حول مشاركة تلك البيانات عبر الند للند. المستخدم الذي يملك البيانات ومختلف تدفقات البيانات المتعلقة بمزوّدي الخدمة / مزوّدي الشبكة هو الجزء الأساسي بالنسبة لي. لقد سئمت من كل الخدمات الموجودة التي تحتفظ بها وتبيعها. إذا جمعتها، فيجب أن يكون لديك الخيار بالاحتفاظ بها و/أو الاشتراك في مشاركتها مع أعضاء مجتمع 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 Node و 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
التكامل مع أنظمتك الخاصة
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