Pentesting VoIP
VoIP Basic Information
VoIP कैसे काम करता है, इसके बारे में जानने के लिए देखें:
Basic VoIP ProtocolsBasic Messages
Response Codes
1xx—अस्थायी प्रतिक्रियाएँ
2xx—सफल प्रतिक्रियाएँ
3xx—पुनर्निर्देशन प्रतिक्रियाएँ
4xx—क्लाइंट विफलता प्रतिक्रियाएँ
5xx—सर्वर विफलता प्रतिक्रियाएँ
6xx—वैश्विक विफलता प्रतिक्रियाएँ
VoIP Enumeration
Telephone Numbers
एक रेड टीम द्वारा किए जाने वाले पहले कदमों में से एक उपलब्ध फोन नंबरों की खोज करना है ताकि कंपनी से संपर्क किया जा सके, इसके लिए OSINT टूल, Google Searches या वेब पेजों को स्क्रैप किया जा सकता है।
जब आपके पास फोन नंबर हो, तो आप ऑपरेटर की पहचान करने के लिए ऑनलाइन सेवाओं का उपयोग कर सकते हैं:
यह जानकर कि क्या ऑपरेटर VoIP सेवाएं प्रदान करता है, आप पहचान सकते हैं कि क्या कंपनी VoIP का उपयोग कर रही है... इसके अलावा, यह संभव है कि कंपनी ने VoIP सेवाएं नहीं ली हैं लेकिन अपने VoIP PBX को पारंपरिक टेलीफोनी नेटवर्क से जोड़ने के लिए PSTN कार्ड का उपयोग कर रही है।
संगीत के स्वचालित उत्तर जैसी चीजें आमतौर पर यह संकेत देती हैं कि VoIP का उपयोग किया जा रहा है।
Google Dorks
OSINT जानकारी
कोई अन्य OSINT गणना जो VoIP सॉफ़्टवेयर की पहचान करने में मदद करती है, वह Red Team के लिए सहायक होगी।
नेटवर्क गणना
nmap
UDP सेवाओं को स्कैन करने में सक्षम है, लेकिन UDP सेवाओं की संख्या के कारण, यह बहुत धीमा है और इस प्रकार की सेवाओं के साथ बहुत सटीक नहीं हो सकता।
svmap
SIPVicious से (sudo apt install sipvicious
): निर्दिष्ट नेटवर्क में SIP सेवाओं को खोजेगा।svmap
ब्लॉक करना आसान है क्योंकि यह User-Agentfriendly-scanner
का उपयोग करता है, लेकिन आप/usr/share/sipvicious/sipvicious
से कोड को संशोधित कर सकते हैं और इसे बदल सकते हैं।
SIPPTS scan
from sippts: SIPPTS स्कैन UDP, TCP या TLS पर SIP सेवाओं के लिए एक बहुत तेज़ स्कैनर है। यह मल्टीथ्रेड का उपयोग करता है और बड़े नेटवर्क रेंज को स्कैन कर सकता है। यह पोर्ट रेंज को आसानी से इंगित करने, TCP और UDP दोनों को स्कैन करने, एक अन्य विधि का उपयोग करने (डिफ़ॉल्ट रूप से यह OPTIONS का उपयोग करेगा) और एक अलग User-Agent निर्दिष्ट करने की अनुमति देता है (और अधिक)।
metasploit:
Extra Network Enumeration
PBX अन्य नेटवर्क सेवाओं को भी उजागर कर सकता है जैसे:
69/UDP (TFTP): फर्मवेयर अपडेट
80 (HTTP) / 443 (HTTPS): वेब से डिवाइस को प्रबंधित करने के लिए
389 (LDAP): उपयोगकर्ताओं की जानकारी संग्रहीत करने का विकल्प
3306 (MySQL): MySQL डेटाबेस
5038 (Manager): अन्य प्लेटफार्मों से Asterisk का उपयोग करने की अनुमति देता है
5222 (XMPP): Jabber का उपयोग करके संदेश
5432 (PostgreSQL): PostgreSQL डेटाबेस
और अन्य...
Methods Enumeration
यह पता लगाना संभव है कि PBX में कौन से तरीके उपलब्ध हैं SIPPTS enumerate
का उपयोग करके sippts
सर्वर प्रतिक्रियाओं का विश्लेषण
यह बहुत महत्वपूर्ण है कि हम उन हेडर का विश्लेषण करें जो एक सर्वर हमें वापस भेजता है, जो संदेश के प्रकार और हेडर पर निर्भर करता है जो हम भेजते हैं। sippts से SIPPTS send
के साथ हम व्यक्तिगत संदेश भेज सकते हैं, सभी हेडर को मैनिपुलेट कर सकते हैं, और प्रतिक्रिया का विश्लेषण कर सकते हैं।
यह भी संभव है कि यदि सर्वर वेब्सॉकेट्स का उपयोग करता है तो डेटा प्राप्त किया जा सके। sippts से SIPPTS wssend
का उपयोग करके हम व्यक्तिगत WS संदेश भेज सकते हैं।
Extension Enumeration
PBX (Private Branch Exchange) प्रणाली में एक्सटेंशन उन विशिष्ट आंतरिक पहचानकर्ताओं को संदर्भित करते हैं जो एक संगठन या व्यवसाय के भीतर व्यक्तिगत फोन लाइनों, उपकरणों या उपयोगकर्ताओं को सौंपे जाते हैं। एक्सटेंशन यह संभव बनाते हैं कि संगठन के भीतर कॉल को कुशलतापूर्वक रूट किया जा सके, बिना प्रत्येक उपयोगकर्ता या उपकरण के लिए व्यक्तिगत बाहरी फोन नंबर की आवश्यकता के।
svwar
from SIPVicious (sudo apt install sipvicious
):svwar
एक मुफ्त SIP PBX एक्सटेंशन लाइन स्कैनर है। अवधारणा में यह पारंपरिक वारडायलर्स के समान काम करता है, एक रेंज के एक्सटेंशनों या दिए गए एक्सटेंशनों की सूची का अनुमान लगाकर।
SIPPTS exten
from sippts: SIPPTS exten एक SIP सर्वर पर एक्सटेंशन की पहचान करता है। Sipexten बड़े नेटवर्क और पोर्ट रेंज की जांच कर सकता है।
metasploit: आप metasploit के साथ एक्सटेंशन/उपयोगकर्ता नाम भी गिन सकते हैं:
enumiax
(apt install enumiax
): enumIAX एक इंटर एस्टरिस्क एक्सचेंज प्रोटोकॉल यूजरनेम ब्रूट-फोर्स एन्यूमरेटर है। enumIAX दो अलग-अलग मोड में काम कर सकता है; अनुक्रमिक यूजरनेम अनुमान या शब्दकोश हमला।
VoIP हमले
पासवर्ड ब्रूट-फोर्स - ऑनलाइन
PBX और कुछ extensions/usernames का पता लगाने के बाद, एक रेड टीम REGISTER विधि के माध्यम से एक एक्सटेंशन पर प्रमाणीकरण करने की कोशिश कर सकती है, सामान्य पासवर्ड के एक शब्दकोश का उपयोग करके प्रमाणीकरण को ब्रूट फोर्स करने के लिए।
ध्यान दें कि एक username एक्सटेंशन के समान हो सकता है, लेकिन यह प्रथा PBX प्रणाली, इसकी कॉन्फ़िगरेशन, और संगठन की प्राथमिकताओं के आधार पर भिन्न हो सकती है...
यदि username एक्सटेंशन के समान नहीं है, तो आपको इसे ब्रूट-फोर्स करने के लिए username का पता लगाना होगा।
svcrack
SIPVicious से (sudo apt install sipvicious
): SVCrack आपको PBX पर एक विशिष्ट username/extension के लिए पासवर्ड क्रैक करने की अनुमति देता है।
SIPPTS rcrack
from sippts: SIPPTS rcrack एक दूरस्थ पासवर्ड क्रैकर है जो SIP सेवाओं के लिए है। Rcrack विभिन्न IPs और पोर्ट रेंज में कई उपयोगकर्ताओं के लिए पासवर्ड का परीक्षण कर सकता है।
Metasploit:
VoIP Sniffing
यदि आप एक Open Wifi network के अंदर VoIP उपकरण पाते हैं, तो आप सभी जानकारी को स्निफ कर सकते हैं। इसके अलावा, यदि आप एक अधिक बंद नेटवर्क (Ethernet के माध्यम से जुड़े या सुरक्षित Wifi) के अंदर हैं, तो आप PBX और गेटवे के बीच MitM हमले जैसे ARPspoofing कर सकते हैं ताकि जानकारी को स्निफ किया जा सके।
नेटवर्क जानकारी के बीच, आप उपकरण प्रबंधित करने के लिए वेब क्रेडेंशियल्स, उपयोगकर्ता एक्सटेंशन, उपयोगकर्ता नाम, IP पते, यहां तक कि हैश किए गए पासवर्ड और RTP पैकेट भी पा सकते हैं जिन्हें आप बातचीत सुनने के लिए पुन: उत्पन्न कर सकते हैं, और भी बहुत कुछ।
इस जानकारी को प्राप्त करने के लिए, आप Wireshark, tcpdump जैसे उपकरणों का उपयोग कर सकते हैं... लेकिन VoIP बातचीत को स्निफ करने के लिए विशेष रूप से बनाए गए उपकरण ucsniff हैं।
ध्यान दें कि यदि SIP संचार में TLS का उपयोग किया गया है तो आप SIP संचार को स्पष्ट रूप से नहीं देख पाएंगे। यदि SRTP और ZRTP का उपयोग किया गया है, तो RTP पैकेट स्पष्ट पाठ में नहीं होंगे।
SIP क्रेडेंशियल्स (पासवर्ड ब्रूट-फोर्स - ऑफ़लाइन)
एक SIP REGISTER संचार को बेहतर समझने के लिए इस उदाहरण की जांच करें ताकि आप जान सकें कि क्रेडेंशियल्स कैसे भेजे जा रहे हैं।
sipdump
&sipcrack
, sipcrack का हिस्सा (apt-get install sipcrack
): ये उपकरण pcap से डाइजेस्ट प्रमाणीकरण को निकाल सकते हैं और उन्हें ब्रूटफोर्स कर सकते हैं।
SIPPTS dump
from sippts: SIPPTS dump एक pcap फ़ाइल से डाइजेस्ट प्रमाणीकरण निकाल सकता है।
SIPPTS dcrack
from sippts: SIPPTS dcrack एक उपकरण है जो SIPPTS डंप से प्राप्त डाइजेस्ट प्रमाणीकरण को क्रैक करने के लिए है।
SIPPTS tshark
from sippts: SIPPTS tshark एक PCAP फ़ाइल से SIP प्रोटोकॉल का डेटा निकालता है।
DTMF कोड
केवल SIP क्रेडेंशियल्स ही नेटवर्क ट्रैफिक में नहीं पाए जा सकते, बल्कि DTMF कोड भी मिल सकते हैं जो उदाहरण के लिए वॉइसमेल तक पहुंचने के लिए उपयोग किए जाते हैं। इन कोड को INFO SIP संदेशों में, ऑडियो में या RTP पैकेट्स के अंदर भेजना संभव है। यदि कोड RTP पैकेट्स के अंदर हैं, तो आप बातचीत के उस हिस्से को काट सकते हैं और उन्हें निकालने के लिए टूल multimo का उपयोग कर सकते हैं:
Free Calls / Asterisks Connections Misconfigurations
Asterisk में एक कनेक्शन की अनुमति देना संभव है एक विशेष IP पते से या किसी भी IP पते से:
यदि एक IP पता निर्दिष्ट किया गया है, तो होस्ट हर कुछ समय में REGISTER अनुरोध भेजने की आवश्यकता नहीं होगी (REGISTER पैकेट में जीवनकाल भेजा जाता है, आमतौर पर 30 मिनट, जिसका अर्थ है कि अन्य परिदृश्य में फोन को हर 30 मिनट में REGISTER करने की आवश्यकता होगी)। हालाँकि, इसे कॉल करने के लिए VoIP सर्वर से कनेक्शन की अनुमति देने वाले खुले पोर्ट होने की आवश्यकता होगी।
उपयोगकर्ताओं को परिभाषित करने के लिए उन्हें इस प्रकार परिभाषित किया जा सकता है:
type=user
: उपयोगकर्ता केवल उपयोगकर्ता के रूप में कॉल प्राप्त कर सकता है।type=friend
: यह पीयर के रूप में कॉल करने और उपयोगकर्ता के रूप में उन्हें प्राप्त करने की अनुमति देता है (विस्तारण के साथ उपयोग किया जाता है)type=peer
: यह पीयर के रूप में कॉल भेजने और प्राप्त करने की अनुमति देता है (SIP-trunks)
यह असुरक्षित चर के साथ विश्वास स्थापित करना भी संभव है:
insecure=port
: IP द्वारा मान्य पीयर कनेक्शन की अनुमति देता है।insecure=invite
: INVITE संदेशों के लिए प्रमाणीकरण की आवश्यकता नहीं हैinsecure=port,invite
: दोनों
जब type=friend
का उपयोग किया जाता है, तो host चर का मूल्य उपयोग नहीं किया जाएगा, इसलिए यदि एक व्यवस्थापक SIP-trunk को उस मूल्य का उपयोग करके गलत कॉन्फ़िगर करता है, तो कोई भी इससे कनेक्ट कर सकेगा।
उदाहरण के लिए, यह कॉन्फ़िगरेशन कमजोर होगा:
host=10.10.10.10
insecure=port,invite
type=friend
मुफ्त कॉल / एस्टेरिस्क संदर्भ गलत कॉन्फ़िगरेशन
Asterisk में एक संदर्भ एक नामित कंटेनर या खंड है जो डायल योजना में संबंधित विस्तार, क्रियाएँ और नियमों को एक साथ समूहित करता है। डायल योजना Asterisk प्रणाली का मुख्य घटक है, क्योंकि यह कैसे आने वाली और जाने वाली कॉल को संभाला और रूट किया जाता है को परिभाषित करता है। संदर्भों का उपयोग डायल योजना को व्यवस्थित करने, पहुंच नियंत्रण प्रबंधित करने और प्रणाली के विभिन्न भागों के बीच विभाजन प्रदान करने के लिए किया जाता है।
प्रत्येक संदर्भ कॉन्फ़िगरेशन फ़ाइल में परिभाषित होता है, आमतौर पर extensions.conf
फ़ाइल में। संदर्भों को वर्गाकार ब्रैकेट द्वारा दर्शाया जाता है, जिसमें संदर्भ का नाम उनके भीतर होता है। उदाहरण के लिए:
आपके संदर्भ के भीतर, आप एक्सटेंशन (डायल किए गए नंबरों के पैटर्न) को परिभाषित करते हैं और उन्हें क्रियाओं या अनुप्रयोगों की एक श्रृंखला के साथ जोड़ते हैं। ये क्रियाएँ निर्धारित करती हैं कि कॉल को कैसे संसाधित किया जाता है। उदाहरण के लिए:
यह उदाहरण "my_context" नामक एक सरल संदर्भ को प्रदर्शित करता है जिसमें "100" का विस्तार है। जब कोई 100 डायल करता है, तो कॉल का उत्तर दिया जाएगा, एक स्वागत संदेश चलाया जाएगा, और फिर कॉल समाप्त कर दी जाएगी।
यह एक और संदर्भ है जो किसी अन्य नंबर पर कॉल करने की अनुमति देता है:
यदि व्यवस्थापक डिफ़ॉल्ट संदर्भ को इस प्रकार परिभाषित करता है:
कोई भी सर्वर का उपयोग किसी अन्य नंबर पर कॉल करने के लिए कर सकेगा (और सर्वर का व्यवस्थापक कॉल के लिए भुगतान करेगा)।
इसके अलावा, डिफ़ॉल्ट रूप से sip.conf
फ़ाइल में allowguest=true
होता है, तो कोई भी हमलावर बिना प्रमाणीकरण के किसी अन्य नंबर पर कॉल कर सकेगा।
SIPPTS invite
from sippts: SIPPTS आमंत्रण यह जांचता है कि PBX सर्वर हमें बिना प्रमाणीकरण के कॉल करने की अनुमति देता है। यदि SIP सर्वर की गलत कॉन्फ़िगरेशन है, तो यह हमें बाहरी नंबरों पर कॉल करने की अनुमति देगा। यह हमें कॉल को दूसरे बाहरी नंबर पर स्थानांतरित करने की भी अनुमति दे सकता है।
उदाहरण के लिए, यदि आपके Asterisk सर्वर की खराब संदर्भ कॉन्फ़िगरेशन है, तो आप बिना प्राधिकरण के INVITE अनुरोध स्वीकार कर सकते हैं। इस मामले में, एक हमलावर बिना किसी उपयोगकर्ता/पासवर्ड को जाने कॉल कर सकता है।
मुफ्त कॉल / गलत कॉन्फ़िगर किया गया IVRS
IVRS का मतलब है इंटरएक्टिव वॉयस रिस्पांस सिस्टम, एक टेलीफोनी तकनीक जो उपयोगकर्ताओं को आवाज़ या टच-टोन इनपुट के माध्यम से एक कंप्यूटरीकृत प्रणाली के साथ बातचीत करने की अनुमति देती है। IVRS का उपयोग स्वचालित कॉल हैंडलिंग सिस्टम बनाने के लिए किया जाता है जो विभिन्न कार्यक्षमताओं की पेशकश करता है, जैसे जानकारी प्रदान करना, कॉल रूट करना, और उपयोगकर्ता इनपुट कैप्चर करना।
VoIP सिस्टम में IVRS आमतौर पर निम्नलिखित से मिलकर बना होता है:
वॉयस प्रॉम्प्ट: पूर्व-रिकॉर्डेड ऑडियो संदेश जो उपयोगकर्ताओं को IVR मेनू विकल्पों और निर्देशों के माध्यम से मार्गदर्शन करते हैं।
DTMF (डुअल-टोन मल्टी-फ्रीक्वेंसी) सिग्नलिंग: फोन पर कुंजियों को दबाकर उत्पन्न टच-टोन इनपुट, जिसका उपयोग IVR मेनू के माध्यम से नेविगेट करने और इनपुट प्रदान करने के लिए किया जाता है।
कॉल रूटिंग: उपयोगकर्ता इनपुट के आधार पर कॉल को उचित गंतव्य, जैसे विशिष्ट विभागों, एजेंटों, या एक्सटेंशन पर निर्देशित करना।
उपयोगकर्ता इनपुट कैप्चर: कॉल करने वालों से जानकारी एकत्र करना, जैसे खाता नंबर, केस आईडी, या कोई अन्य प्रासंगिक डेटा।
बाहरी सिस्टम के साथ एकीकरण: IVR प्रणाली को डेटाबेस या अन्य सॉफ़्टवेयर सिस्टम से जोड़ना ताकि जानकारी तक पहुँच या अपडेट किया जा सके, क्रियाएँ की जा सकें, या घटनाएँ ट्रिगर की जा सकें।
एक Asterisk VoIP सिस्टम में, आप डायल प्लान (extensions.conf
फ़ाइल) और विभिन्न अनुप्रयोगों जैसे Background()
, Playback()
, Read()
, और अधिक का उपयोग करके एक IVR बना सकते हैं। ये अनुप्रयोग आपको वॉयस प्रॉम्प्ट खेलने, उपयोगकर्ता इनपुट कैप्चर करने, और कॉल प्रवाह को नियंत्रित करने में मदद करते हैं।
कमजोर कॉन्फ़िगरेशन का उदाहरण
पिछला एक उदाहरण है जहाँ उपयोगकर्ता से एक दबाने के लिए कॉल करने के लिए कहा जाता है, दो दबाने के लिए दूसरे को कॉल करने के लिए, या पूर्ण एक्सटेंशन यदि वह इसे जानता है। कमजोरी यह है कि निर्दिष्ट एक्सटेंशन की लंबाई की जांच नहीं की जाती, इसलिए एक उपयोगकर्ता 5 सेकंड का टाइमआउट पूरा नंबर दर्ज कर सकता है और इसे कॉल किया जाएगा।
एक्सटेंशन इंजेक्शन
एक्सटेंशन का उपयोग करते हुए:
जहाँ ${EXTEN}
वह extension है जिसे कॉल किया जाएगा, जब ext 101 पेश किया जाएगा तो यह होगा:
हालांकि, यदि ${EXTEN}
संख्याओं से अधिक को पेश करने की अनुमति देता है (जैसे पुराने Asterisk संस्करणों में), तो एक हमलावर 101&SIP123123123
पेश कर सकता है ताकि फोन नंबर 123123123 पर कॉल किया जा सके। और इसका परिणाम होगा:
इसलिए, 101
और 123123123
पर कॉल भेजी जाएगी और केवल पहला कॉल प्राप्त करने वाला कॉल स्थापित होगा... लेकिन यदि एक हमलावर कोई ऐसा एक्सटेंशन उपयोग करता है जो किसी भी मिलान को बायपास करता है जो किया जा रहा है लेकिन अस्तित्व में नहीं है, तो वह केवल इच्छित नंबर पर कॉल इंजेक्ट कर सकता है।
SIPDigestLeak भेद्यता
SIP Digest Leak एक भेद्यता है जो कई SIP फोन को प्रभावित करती है, जिसमें हार्डवेयर और सॉफ़्टवेयर IP फोन के साथ-साथ फोन एडाप्टर (VoIP से एनालॉग) शामिल हैं। यह भेद्यता डाइजेस्ट प्रमाणीकरण प्रतिक्रिया के लीक की अनुमति देती है, जो पासवर्ड से गणना की जाती है। एक ऑफलाइन पासवर्ड हमले की संभावना है और यह चुनौती प्रतिक्रिया के आधार पर अधिकांश पासवर्ड को पुनर्प्राप्त कर सकता है।
एक IP फोन (शिकार) किसी भी पोर्ट (उदाहरण: 5060) पर सुन रहा है, फोन कॉल स्वीकार कर रहा है
हमलावर IP फोन को एक INVITE भेजता है
शिकार फोन बजने लगता है और कोई उठाता है और लटकाता है (क्योंकि दूसरी तरफ कोई फोन का जवाब नहीं देता)
जब फोन लटकाया जाता है, तो शिकार फोन हमलावर को एक BYE भेजता है
हमलावर एक 407 प्रतिक्रिया जारी करता है जो प्रमाणीकरण के लिए पूछता है और एक प्रमाणीकरण चुनौती जारी करता है
शिकार फोन एक दूसरे BYE में प्रमाणीकरण चुनौती का उत्तर प्रदान करता है
हमलावर फिर अपनी स्थानीय मशीन (या वितरित नेटवर्क आदि) पर चुनौती प्रतिक्रिया पर एक ब्रूट-फोर्स हमला कर सकता है और पासवर्ड का अनुमान लगा सकता है
SIPPTS लीक sippts** से:** SIPPTS लीक SIP Digest Leak भेद्यता का लाभ उठाता है जो कई SIP फोन को प्रभावित करती है। आउटपुट को SipCrack प्रारूप में सहेजा जा सकता है ताकि इसे SIPPTS dcrack या SipCrack टूल का उपयोग करके ब्रूटफोर्स किया जा सके।
Click2Call
Click2Call एक वेब उपयोगकर्ता को परिचय देने की अनुमति देता है (जो उदाहरण के लिए किसी उत्पाद में रुचि रख सकता है) ताकि वह फोन नंबर प्रदान कर सके जिससे उसे कॉल किया जा सके। फिर एक वाणिज्यिक कॉल की जाएगी, और जब वह फोन उठाता है तो उपयोगकर्ता को कॉल किया जाएगा और एजेंट से जोड़ा जाएगा।
इसके लिए एक सामान्य Asterisk प्रोफ़ाइल है:
पिछले प्रोफ़ाइल में किसी भी IP पते को कनेक्ट करने की अनुमति है (यदि पासवर्ड ज्ञात है)।
एक कॉल आयोजित करने के लिए, जैसा कि पहले निर्दिष्ट किया गया था, कोई पढ़ने की अनुमति आवश्यक नहीं है और केवल लिखने में उत्पत्ति की आवश्यकता है।
इन अनुमतियों के साथ, कोई भी IP जो पासवर्ड जानता है, कनेक्ट कर सकता है और बहुत अधिक जानकारी निकाल सकता है, जैसे:
अधिक जानकारी या क्रियाएँ मांगी जा सकती हैं।
ईव्सड्रॉपिंग
Asterisk में ChanSpy
कमांड का उपयोग करना संभव है, जो निगरानी करने के लिए विस्तार(s) (या सभी) को इंगित करता है ताकि हो रही बातचीत को सुना जा सके। इस कमांड को एक विस्तार को सौंपा जाना चाहिए।
उदाहरण के लिए, exten => 333,1,ChanSpy('all',qb)
यह इंगित करता है कि यदि आप विस्तार 333 पर कॉल करते हैं, तो यह all
विस्तारों की निगरानी करेगा, जब भी एक नई बातचीत शुरू होती है (b
) तो सुनना शुरू करेगा शांत मोड (q
) में क्योंकि हम इसमें हस्तक्षेप नहीं करना चाहते। आप *
दबाकर या विस्तार संख्या को चिह्नित करके एक बातचीत से दूसरी बातचीत में जा सकते हैं।
केवल एक विस्तार की निगरानी करने के लिए ExtenSpy
का उपयोग करना भी संभव है।
बातचीत सुनने के बजाय, उन्हें फ़ाइलों में रिकॉर्ड करना संभव है, जैसे कि:
कॉल /tmp
में सहेजे जाएंगे।
आप Asterisk को एक स्क्रिप्ट निष्पादित करने के लिए भी बना सकते हैं जो कॉल बंद होने पर लीक करेगी।
RTCPBleed सुरक्षा दोष
RTCPBleed एक प्रमुख सुरक्षा समस्या है जो Asterisk-आधारित VoIP सर्वरों को प्रभावित करती है (2017 में प्रकाशित)। यह दोष RTP (रीयल टाइम प्रोटोकॉल) ट्रैफ़िक को इंटरनेट पर किसी भी व्यक्ति द्वारा इंटरसेप्ट और रीडायरेक्ट करने की अनुमति देता है, जो VoIP बातचीत को ले जाता है। यह इसलिए होता है क्योंकि RTP ट्रैफ़िक NAT (नेटवर्क एड्रेस ट्रांसलेशन) फ़ायरवॉल के माध्यम से नेविगेट करते समय प्रमाणीकरण को बायपास करता है।
RTP प्रॉक्सी RTC सिस्टम को प्रभावित करने वाली NAT सीमाओं को संबोधित करने के लिए दो या अधिक पक्षों के बीच RTP स्ट्रीम को प्रॉक्सी करके प्रयास करती हैं। जब NAT मौजूद होता है, तो RTP प्रॉक्सी सॉफ़्टवेयर अक्सर सिग्नलिंग (जैसे SIP) के माध्यम से प्राप्त RTP IP और पोर्ट जानकारी पर भरोसा नहीं कर सकता। इसलिए, कई RTP प्रॉक्सियों ने एक तंत्र लागू किया है जहाँ ऐसा IP और पोर्ट टुपलेट स्वचालित रूप से सीखा जाता है। यह अक्सर आने वाले RTP ट्रैफ़िक का निरीक्षण करके और किसी भी आने वाले RTP ट्रैफ़िक के लिए स्रोत IP और पोर्ट को चिह्नित करके किया जाता है जिसे प्रतिक्रिया दी जानी चाहिए। इस तंत्र को "सीखने का मोड" कहा जा सकता है, यह किसी प्रकार के प्रमाणीकरण का उपयोग नहीं करता है। इसलिए हमलावर RTP ट्रैफ़िक RTP प्रॉक्सी को भेज सकते हैं और उस प्रॉक्सी किए गए RTP ट्रैफ़िक को प्राप्त कर सकते हैं जो एक चल रहे RTP स्ट्रीम के कॉलर या कली के लिए होना चाहिए। हम इस सुरक्षा दोष को RTP Bleed कहते हैं क्योंकि यह हमलावरों को वैध उपयोगकर्ताओं के लिए भेजे जाने वाले RTP मीडिया स्ट्रीम प्राप्त करने की अनुमति देता है।
RTP प्रॉक्सियों और RTP स्टैक्स का एक और दिलचस्प व्यवहार यह है कि कभी-कभी, भले ही RTP Bleed के लिए संवेदनशील न हों, वे किसी भी स्रोत से RTP पैकेट स्वीकार, अग्रेषित और/या संसाधित करेंगे। इसलिए हमलावर RTP पैकेट भेज सकते हैं जो उन्हें वैध मीडिया के बजाय अपना मीडिया इंजेक्ट करने की अनुमति दे सकते हैं। हम इस हमले को RTP इंजेक्शन कहते हैं क्योंकि यह मौजूदा RTP स्ट्रीम में अवैध RTP पैकेटों के इंजेक्शन की अनुमति देता है। यह सुरक्षा दोष RTP प्रॉक्सियों और एंडपॉइंट्स दोनों में पाया जा सकता है।
Asterisk और FreePBX ने पारंपरिक रूप से NAT=yes
सेटिंग का उपयोग किया है, जो RTP ट्रैफ़िक को प्रमाणीकरण को बायपास करने की अनुमति देता है, जिससे कॉल पर कोई ऑडियो या एकतरफा ऑडियो हो सकता है।
अधिक जानकारी के लिए देखें https://www.rtpbleed.com/
SIPPTS rtpbleed
sippts** से:** SIPPTS rtpbleed RTP स्ट्रीम भेजकर RTP Bleed सुरक्षा दोष का पता लगाता है।
SIPPTS rtcpbleed
from sippts: SIPPTS rtcpbleed RTP Bleed कमजोरियों का पता लगाता है RTCP स्ट्रीम भेजकर।
SIPPTS rtpbleedflood
from sippts: SIPPTS rtpbleedflood RTP ब्लीड कमजोरियों का फायदा उठाते हुए RTP स्ट्रीम भेजता है।
SIPPTS rtpbleedinject
from sippts: SIPPTS rtpbleedinject RTP Bleed कमजोरियों का फायदा उठाते हुए एक ऑडियो फ़ाइल (WAV प्रारूप) इंजेक्ट करता है।
RCE
Asterisk में आप किसी तरह extension नियम जोड़ने और उन्हें फिर से लोड करने में सक्षम हो जाते हैं (उदाहरण के लिए एक कमजोर वेब प्रबंधक सर्वर से समझौता करके), तो System
कमांड का उपयोग करके RCE प्राप्त करना संभव है।
There is command called Shell
that could be used instead of System
to execute system commands if necessary.
यदि सर्वर System
कमांड में कुछ विशेष वर्णों के उपयोग की अनुमति नहीं दे रहा है (जैसे Elastix में), तो जांचें कि क्या वेब सर्वर किसी तरह से सिस्टम के अंदर फ़ाइलें बनाने की अनुमति देता है (जैसे Elastix या trixbox में), और इसका उपयोग एक बैकडोर स्क्रिप्ट बनाने के लिए करें और फिर System
का उपयोग करके उस स्क्रिप्ट को निष्पादित करें।
दिलचस्प स्थानीय फ़ाइलें और अनुमतियाँ
sip.conf
-> SIP उपयोगकर्ताओं का पासवर्ड शामिल है।यदि Asterisk सर्वर रूट के रूप में चल रहा है, तो आप रूट को समझौता कर सकते हैं।
mysql रूट उपयोगकर्ता का कोई पासवर्ड नहीं हो सकता।
इसका उपयोग एक नए mysql उपयोगकर्ता को बैकडोर के रूप में बनाने के लिए किया जा सकता है।
FreePBX
amportal.conf
-> वेब पैनल प्रशासक (FreePBX) का पासवर्ड शामिल है।FreePBX.conf
-> डेटाबेस तक पहुँचने के लिए उपयोगकर्ता FreePBXuser का पासवर्ड शामिल है।इसका उपयोग एक नए mysql उपयोगकर्ता को बैकडोर के रूप में बनाने के लिए किया जा सकता है।
Elastix
Elastix.conf
-> mysql रूट पास, IMAPd पास, वेब प्रशासक पास जैसे कई पासवर्ड स्पष्ट पाठ में शामिल हैं।कई फ़ोल्डर समझौता किए गए asterisk उपयोगकर्ता के अंतर्गत आएंगे (यदि रूट के रूप में नहीं चल रहा है)। यह उपयोगकर्ता पिछले फ़ाइलों को पढ़ सकता है और साथ ही कॉन्फ़िगरेशन को नियंत्रित करता है, इसलिए वह Asterisk को निष्पादित करते समय अन्य बैकडोर बाइनरी लोड करने के लिए बना सकता है।
RTP Injection
यह .wav
को बातचीत में डालना संभव है, जैसे उपकरणों का उपयोग करके rtpinsertsound
(sudo apt install rtpinsertsound
) और rtpmixsound
(sudo apt install rtpmixsound
)।
या आप http://blog.pepelux.org/2011/09/13/inyectando-trafico-rtp-en-una-conversacion-voip/ से स्क्रिप्ट का उपयोग कर सकते हैं बातचीत को स्कैन करने के लिए (rtpscan.pl
), बातचीत में एक .wav
भेजने के लिए (rtpsend.pl
) और बातचीत में शोर डालने के लिए (rtpflood.pl
)।
DoS
VoIP सर्वरों में DoS प्राप्त करने के कई तरीके हैं।
SIPPTS flood
sippts** से: SIPPTS flood लक्ष्य को अनंत संदेश भेजता है।sippts flood -i 10.10.0.10 -m invite -v
SIPPTS ping
sippts** से: SIPPTS ping सर्वर प्रतिक्रिया समय देखने के लिए एक SIP पिंग करता है।sippts ping -i 10.10.0.10
IAXFlooder: Asterisk द्वारा उपयोग किया जाने वाला DoS IAX प्रोटोकॉल।
inviteflood: UDP/IP पर SIP/SDP INVITE संदेश बाढ़ करने के लिए एक उपकरण।
rtpflood: कई अच्छी तरह से निर्मित RTP पैकेट भेजें। RTP पोर्ट जानना आवश्यक है जो उपयोग किए जा रहे हैं (पहले स्निफ़ करें)।
SIPp: SIP ट्रैफ़िक का विश्लेषण और उत्पन्न करने की अनुमति देता है। इसलिए इसका उपयोग DoS के लिए भी किया जा सकता है।
SIPsak: SIP स्विस आर्मी चाकू। इसका उपयोग SIP हमलों को करने के लिए भी किया जा सकता है।
Fuzzers: protos-sip, voiper。
OS Vulnerabilities
Asterisk जैसे सॉफ़्टवेयर को स्थापित करने का सबसे आसान तरीका एक OS वितरण डाउनलोड करना है जिसमें यह पहले से स्थापित है, जैसे: FreePBX, Elastix, Trixbox... समस्या यह है कि एक बार यह काम करने के बाद सिस्टम प्रशासक शायद इन्हें फिर से अपडेट नहीं करें और कमजोरियाँ समय के साथ खोजी जाएँगी।
References
Last updated