Leer & oefen AWS Hacking:<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">\
Leer & oefen GCP Hacking: <imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">](https://training.hacktricks.xyz/courses/grte)
* Kyk na die [**subskripsie planne**](https://github.com/sponsors/carlospolop)!
* **Sluit aan by die** 💬 [**Discord groep**](https://discord.gg/hRep4RUj7f) of die [**telegram groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Deel hacking truuks deur PRs in te dien na die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
Een van die eerste stappe wat 'n Rooi Span kan doen, is om beskikbare telefoonnommers te soek om met die maatskappy te kontak deur OSINT-gereedskap, Google-soektogte of deur webbladsye te scrape.
Om te weet of die operateur VoIP-dienste bied, kan jy identifiseer of die maatskappy VoIP gebruik... Boonop is dit moontlik dat die maatskappy nie VoIP-dienste gehuur het nie, maar PSTN-kaarte gebruik om sy eie VoIP PBX aan die tradisionele telekommunikasienetwerk te koppel.
* **`nmap`** is in staat om UDP-dienste te skandeer, maar as gevolg van die aantal UDP-dienste wat geskandeer word, is dit baie stadig en mag nie baie akkuraat wees met hierdie soort dienste nie.
* **`svmap`** van SIPVicious (`sudo apt install sipvicious`): Sal SIP-dienste in die aangeduide netwerk lokaliseer.
*`svmap` is **maklik om te blokkeer** omdat dit die User-Agent `friendly-scanner` gebruik, maar jy kan die kode van `/usr/share/sipvicious/sipvicious` aanpas en dit verander.
* **`SIPPTS scan`** from [**sippts**](https://github.com/Pepelux/sippts)**:** SIPPTS scan is 'n baie vinnige skandeerder vir SIP-dienste oor UDP, TCP of TLS. Dit gebruik multithreading en kan groot reekse van netwerke skandeer. Dit laat jou toe om maklik 'n poortreeks aan te dui, beide TCP en UDP te skandeer, 'n ander metode te gebruik (standaard sal dit OPTIONS gebruik) en 'n ander User-Agent te spesifiseer (en meer).
Dit is moontlik om **watter metodes beskikbaar is** om in die PBX te gebruik deur `SIPPTS enumerate` van [**sippts**](https://github.com/Pepelux/sippts) te gebruik.
Dit is baie belangrik om die koptekste wat 'n bediener aan ons terugstuur, te analiseer, afhangende van die tipe boodskap en koptekste wat ons stuur. Met `SIPPTS send` van [**sippts**](https://github.com/Pepelux/sippts) kan ons persoonlike boodskappe stuur, alle koptekste manipuleer, en die antwoord analiseer.
Dit is ook moontlik om data te verkry as die bediener websockets gebruik. Met `SIPPTS wssend` van [**sippts**](https://github.com/Pepelux/sippts) kan ons persoonlike WS-boodskappe stuur.
Extensions in a PBX (Private Branch Exchange) system verwys na die **unieke interne identifiseerders wat aan individuele** telefoonlyne, toestelle, of gebruikers binne 'n organisasie of besigheid toegeken word. Extensions maak dit moontlik om **oproepen binne die organisasie doeltreffend te roete**, sonder die behoefte aan individuele eksterne telefoonnommers vir elke gebruiker of toestel.
* **`svwar`** van SIPVicious (`sudo apt install sipvicious`): `svwar` is 'n gratis SIP PBX extensie lyn skandeerder. In konsep werk dit soortgelyk aan tradisionele wardialers deur **'n reeks extensies of 'n gegewe lys van extensies te raai**.
* **`SIPPTS exten`** van [**sippts**](https://github.com/Pepelux/sippts)**:** SIPPTS exten identifiseer uitbreidings op 'n SIP-bediener. Sipexten kan groot netwerke en poortreekse nagaan.
* **`enumiax` (`apt install enumiax`): enumIAX** is 'n Inter Asterisk Exchange-protokol **gebruikersnaam brute-force enumerator**. enumIAX kan in twee verskillende modi werk; Volgorde Gebruikersnaam Raai of Woordeboekaanval.
Nadat die **PBX** en sommige **uitbreidings/gebruikersname** ontdek is, kan 'n Rooi Span probeer om te **authentiseer via die `REGISTER` metode** na 'n uitbreiding deur 'n woordelys van algemene wagwoorde te gebruik om die authentisering te brute-force.
Let daarop dat 'n **gebruikersnaam** dieselfde kan wees as die uitbreiding, maar hierdie praktyk kan verskil, afhangende van die PBX-stelsel, sy konfigurasie, en die organisasie se voorkeure...
* **`svcrack`** van SIPVicious (`sudo apt install sipvicious`): SVCrack laat jou toe om die wagwoord vir 'n spesifieke gebruikersnaam/uitbreiding op 'n PBX te kraak.
* **`SIPPTS rcrack`** from [**sippts**](https://github.com/Pepelux/sippts)**:** SIPPTS rcrack is 'n afstand wagwoord kraker vir SIP dienste. Rcrack kan wagwoorde toets vir verskeie gebruikers in verskillende IP's en poortreekse.
As jy VoIP-toerusting binne 'n **Open Wifi-netwerk** vind, kan jy **alle inligting snuffel**. Boonop, as jy binne 'n meer geslote netwerk is (verbonden via Ethernet of beskermde Wifi) kan jy **MitM-aanvalle soos** [**ARPspoofing**](../../generic-methodologies-and-resources/pentesting-network/#arp-spoofing) tussen die **PBX en die gateway** uitvoer om die inligting te snuffel.
Tussen die netwerk-inligting kan jy **web geloofsbriewe** vind om die toerusting te bestuur, gebruiker **uitbreidings**, **gebruikersnaam**, **IP** adresse, selfs **gehashede wagwoorde** en **RTP-pakkette** wat jy kan herproduseer om **die gesprek te hoor**, en meer.
Om hierdie inligting te verkry kan jy gereedskap soos Wireshark, tcpdump... gebruik, maar 'n **spesiaal geskepte gereedskap om VoIP-gesprekke te snuffel is** [**ucsniff**](https://github.com/Seabreg/ucsniff).
[Kontroleer hierdie voorbeeld om beter te verstaan hoe 'n **SIP REGISTER kommunikasie** werk](basic-voip-protocols/sip-session-initiation-protocol.md#sip-register-example) om te leer hoe **geloofsbriewe gestuur word**.
* **`sipdump`** &**`sipcrack`,** deel van **sipcrack** (`apt-get install sipcrack`): Hierdie gereedskap kan **uittrek** uit 'n **pcap** die **digest-authentikasies** binne die SIP-protokol en **bruteforce** hulle.
* **`SIPPTS dcrack`** from [**sippts**](https://github.com/Pepelux/sippts)**:** SIPPTS dcrack is 'n hulpmiddel om die digest-outentifikasies wat met SIPPTS dump verkry is, te kraak.
**Nie net SIP geloofsbriewe** kan in die netwerkverkeer gevind word nie, dit is ook moontlik om DTMF kodes te vind wat gebruik word om byvoorbeeld toegang tot die **stempos** te verkry.\
Dit is moontlik om hierdie kodes in **INFO SIP boodskappe**, in **klank** of binne **RTP pakkette** te stuur. As die kodes binne RTP pakkette is, kan jy daardie deel van die gesprek sny en die hulpmiddel multimo gebruik om hulle te onttrek:
As 'n IP-adres gespesifiseer word, sal die host **nie REGISTER** versoeke elke nou en dan hoef te stuur nie (in die REGISTER-pakket word die tyd om te lewe gestuur, gewoonlik 30min, wat beteken dat die telefoon in 'n ander scenario elke 30min moet REGISTER). Dit sal egter oop poorte moet hê wat verbindings van die VoIP-bediener toelaat om oproepe te ontvang.
Wanneer **`type=friend`** gebruik word, sal die **waarde** van die **host** veranderlike **nie gebruik word** nie, so as 'n admin **'n SIP-trunk verkeerd konfigureer** met daardie waarde, **sal enige iemand in staat wees om daartoe te verbind**.
In Asterisk is 'n **konteks** 'n benoemde houer of afdeling in die kiesplan wat **verwante uitbreidings, aksies en reëls groepeer**. Die kiesplan is die kernkomponent van 'n Asterisk-stelsel, aangesien dit definieer **hoe inkomende en uitgaande oproepe hanteer en gerouteer word**. Konteks word gebruik om die kiesplan te organiseer, toegangbeheer te bestuur, en skeiding tussen verskillende dele van die stelsel te bied.
Elke konteks word in die konfigurasie-lêer gedefinieer, tipies in die **`extensions.conf`** lêer. Konteks word aangedui deur vierkantige hakies, met die konteksnaam binne-in. Byvoorbeeld:
Binnen die konteks definieer jy uitbreidings (patrone van gedialde nommers) en assosieer dit met 'n reeks aksies of toepassings. Hierdie aksies bepaal hoe die oproep verwerk word. Byvoorbeeld:
Hierdie voorbeeld demonstreer 'n eenvoudige konteks genoem "my\_context" met 'n uitbreiding "100". Wanneer iemand 100 kies, sal die oproep beantwoord word, 'n welkomstekst sal gespeel word, en dan sal die oproep beëindig word.
Enige iemand sal in staat wees om die **bediener te gebruik om na enige ander nommer te bel** (en die admin van die bediener sal vir die oproep betaal).
Boonop bevat die **`sip.conf`** lêer standaard **`allowguest=true`**, dan sal **enige** aanvaller met **geen outentisering** in staat wees om na enige ander nommer te bel.
***`SIPPTS invite`** van [**sippts**](https://github.com/Pepelux/sippts)**:** SIPPTS invite kontroleer of 'n **PBX bediener ons toelaat om oproepe te maak sonder outentisering**. As die SIP bediener 'n onakkurate konfigurasie het, sal dit ons toelaat om oproepe na eksterne nommers te maak. Dit kan ook toelaat dat ons die oproep na 'n tweede eksterne nommer oorplaas.
Byvoorbeeld, as jou Asterisk bediener 'n slegte kontekskonfigurasie het, kan jy INVITE versoek aanvaar sonder outorisasie. In hierdie geval kan 'n aanvaller oproepe maak sonder om enige gebruiker/wagwoord te ken.
IVRS staan vir **Interaktiewe Stem Respons Stelsel**, 'n telekommunikasietegnologie wat gebruikers toelaat om met 'n gekompliseerde stelsel te kommunikeer deur middel van stem of toetsingangs. IVRS word gebruik om **geoutomatiseerde oproep hantering** stelsels te bou wat 'n reeks funksies bied, soos om inligting te verskaf, oproepe te roete, en gebruikersinvoer te vang.
2.**DTMF** (Dubbele Toon Multi-Frekwensie) sein: Toetsingangs wat gegenereer word deur sleutels op die telefoon te druk, wat gebruik word om deur die IVR-menu's te navigeer en invoer te verskaf.
3.**Oproep roetering**: Oproepe na die toepaslike bestemming lei, soos spesifieke departemente, agente, of uitbreidings gebaseer op gebruikersinvoer.
4.**Gebruikersinvoer vang**: Inligting van belers versamel, soos rekeningnommers, saak-ID's, of enige ander relevante data.
5.**Integrasie met eksterne stelsels**: Die IVR-stelsel aan databasisse of ander sagteware stelsels koppel om toegang tot of inligting op te dateer, aksies uit te voer, of gebeurtenisse te aktiveer.
In 'n Asterisk VoIP-stelsel kan jy 'n IVR skep met die kiesplan (**`extensions.conf`** lêer) en verskeie toepassings soos `Background()`, `Playback()`, `Read()`, en meer. Hierdie toepassings help jou om stem aanwysings te speel, gebruikersinvoer te vang, en die oproepvloei te beheer.
Die vorige is 'n voorbeeld waar die gebruiker gevra word om **1 te druk om** 'n departement te bel, **2 om** 'n ander te bel, of **die volledige uitbreiding** as hy dit weet.\
Die kwesbaarheid is die feit dat die aangeduide **uitbreiding lengte nie nagegaan word nie, so 'n gebruiker kan die 5 sekondes tydsduur 'n volledige nommer invoer en dit sal gebel word.**
However, if **`${EXTEN}`** allows to introduce **more than numbers** (like in older Asterisk versions), an attacker could introduce **`101&SIP123123123`** to call the phone number 123123123. And this would be the result:
Daarom sal 'n oproep na die uitbreiding **`101`** en **`123123123`** gestuur word en slegs die eerste een wat die oproep ontvang, sal gevestig word... maar as 'n aanvaller 'n **uitbreiding gebruik wat enige ooreenkoms omseil** wat uitgevoer word maar nie bestaan nie, kan hy **slegs 'n oproep na die gewenste nommer inspuit**.
Die SIP Digest Leak is 'n kwesbaarheid wat 'n groot aantal SIP Telefone beïnvloed, insluitend beide hardeware en sagteware IP Telefone sowel as telefoonadapters (VoIP na analoog). Die kwesbaarheid laat **lek van die Digest-authentikasie antwoord** toe, wat bereken word vanaf die wagwoord. 'n **Aflyn wagwoordaanval is dan moontlik** en kan die meeste wagwoorde op grond van die uitdaging antwoord herstel.
1. 'n IP Telefoon (slagoffer) luister op enige poort (byvoorbeeld: 5060), wat telefoonoproepe aanvaar
2. Die aanvaller stuur 'n INVITE na die IP Telefoon
3. Die slagoffer telefoon begin lui en iemand neem op en hang op (omdat niemand die telefoon aan die ander kant antwoord nie)
4. Wanneer die telefoon opgehang word, **stuur die slagoffer telefoon 'n BYE na die aanvaller**
5. Die **aanvaller gee 'n 407 antwoord** wat **om authentikasie vra** en 'n authentikasie uitdaging uitreik
6. Die **slagoffer telefoon bied 'n antwoord op die authentikasie uitdaging** in 'n tweede BYE
7. Die **aanvaller kan dan 'n brute-force aanval uitvoer** op die uitdaging antwoord op sy plaaslike masjien (of verspreide netwerk ens.) en die wagwoord raai
* **SIPPTS lek** van [**sippts**](https://github.com/Pepelux/sippts)**:** SIPPTS lek benut die SIP Digest Leak kwesbaarheid wat 'n groot aantal SIP Telefone beïnvloed. Die uitvoer kan in SipCrack-formaat gestoor word om dit te bruteforce met SIPPTS dcrack of die SipCrack hulpmiddel.
Click2Call laat 'n **webgebruiker** (wat byvoorbeeld dalk in 'n produk belangstel) toe om sy **telefoonnommer** in te voer om gebel te word. Dan sal 'n kommersiële oproep gemaak word, en wanneer hy **die telefoon opneem** sal die gebruiker **gebel en met die agent verbind** word.
In Asterisk is dit moontlik om die opdrag **`ChanSpy`** te gebruik wat die **verlenging(e) om te monitor** (of al die verlengings) aandui om gesprekke te hoor wat plaasvind. Hierdie opdrag moet aan 'n verlenging toegeken word.
Byvoorbeeld, **`exten => 333,1,ChanSpy('all',qb)`** dui aan dat as jy die **verlenging 333****bel**, dit **alle** verlengings sal **monitor**, **begin luister** wanneer 'n nuwe gesprek begin (**`b`**) in stilmodus (**`q`**) aangesien ons nie wil interaksie hê nie. Jy kan van een gesprek na 'n ander beweeg deur **`*`** te druk, of deur die verlenging nommer te merk.
**RTCPBleed** is 'n groot sekuriteitskwessie wat Asterisk-gebaseerde VoIP-bedieners raak (gepubliseer in 2017). Die kwesbaarheid laat **RTP (Real Time Protocol) verkeer**, wat VoIP-gesprekke dra, toe om **deur enige iemand op die Internet geïntercepteer en hergerig te word**. Dit gebeur omdat RTP-verkeer outentisering omseil wanneer dit deur NAT (Network Address Translation) vuurmure navigeer.
RTP-proxies probeer om **NAT-beperkings** wat RTC-stelsels beïnvloed, aan te spreek deur RTP-strome tussen twee of meer partye te proxy. Wanneer NAT in plek is, kan die RTP-proxy sagteware dikwels nie staatmaak op die RTP IP- en poortinligting wat deur signalering (bv. SIP) verkry is nie. Daarom het 'n aantal RTP-proxies 'n mekanisme geïmplementeer waar sulke **IP- en poortkombinasies outomaties geleer word**. Dit word dikwels gedoen deur inkomende RTP-verkeer te inspekteer en die bron-IP en poort vir enige inkomende RTP-verkeer te merk as die een wat op geantwoord moet word. Hierdie mekanisme, wat "leer-modus" genoem kan word, **maak nie gebruik van enige vorm van outentisering nie**. Daarom kan **aanvallers****RTP-verkeer na die RTP-proxy stuur** en die geproksiede RTP-verkeer ontvang wat bedoel is vir die beler of ontvanger van 'n aanhoudende RTP-stroom. Ons noem hierdie kwesbaarheid RTP Bleed omdat dit aanvallers toelaat om RTP-media strome te ontvang wat bedoel is om aan wettige gebruikers gestuur te word.
'n Ander interessante gedrag van RTP-proxies en RTP-stakke is dat hulle soms, **selfs al is hulle nie kwesbaar vir RTP Bleed nie**, **RTP-pakkette van enige bron sal aanvaar, deurstuur en/of verwerk**. Daarom kan aanvallers RTP-pakkette stuur wat hulle mag toelaat om hul media in plaas van die wettige een in te spuit. Ons noem hierdie aanval RTP-inspuiting omdat dit die inspuiting van onwettige RTP-pakkette in bestaande RTP-strome toelaat. Hierdie kwesbaarheid kan in beide RTP-proxies en eindpunte gevind word.
Asterisk en FreePBX het tradisioneel die **`NAT=yes` instelling** gebruik, wat RTP-verkeer toelaat om outentisering te omseil, wat moontlik lei tot geen klank of eenrigting-klank op oproepe nie.
* **`SIPPTS rtpbleed`** van [**sippts**](https://github.com/Pepelux/sippts)**:** SIPPTS rtpbleed detecteer die RTP Bleed kwesbaarheid deur RTP-strome te stuur.
* **`SIPPTS rtcpbleed`** from [**sippts**](https://github.com/Pepelux/sippts)**:** SIPPTS rtcpbleed detecteer die RTP Bleed kwesbaarheid deur RTCP-strome te stuur.
* **`SIPPTS rtpbleedflood`** from [**sippts**](https://github.com/Pepelux/sippts)**:** SIPPTS rtpbleedflood benut die RTP Bleed kwesbaarheid deur RTP strome te stuur.
* **`SIPPTS rtpbleedinject`** from [**sippts**](https://github.com/Pepelux/sippts)**:** SIPPTS rtpbleedinject benut die RTP Bleed kwesbaarheid deur 'n klanklêer (WAV-formaat) in te spuit.
In Asterisk slaag jy op een of ander manier daarin om **uitbreidingsreëls by te voeg en dit te herlaai** (byvoorbeeld deur 'n kwesbare webbestuurder bediener te kompromitteer), dit is moontlik om RCE te verkry met behulp van die **`System`** opdrag.
As die bediener **die gebruik van sekere karakters** in die **`System`** opdrag (soos in Elastix) **verbied**, kyk of die webbediener toelaat om **lêers op een of ander manier binne die stelsel te skep** (soos in Elastix of trixbox), en gebruik dit om **'n backdoor-skrip te skep** en gebruik dan **`System`** om daardie **skrip** te **voer**.
* **`Elastix.conf`** -> Bevat verskeie wagwoorde in duidelike teks soos mysql root wagwoord, IMAPd wagwoord, web admin wagwoord.
* **Verskeie vouers** sal aan die gecompromitteerde asterisk gebruiker behoort (as dit nie as root loop nie). Hierdie gebruiker kan die vorige lêers lees en beheer ook die konfigurasie, so hy kan Asterisk laat laai ander backdoored binaries wanneer dit uitgevoer word.
Dit is moontlik om 'n **`.wav`** in gesprekke in te voeg met behulp van gereedskap soos **`rtpinsertsound`** (`sudo apt install rtpinsertsound`) en **`rtpmixsound`** (`sudo apt install rtpmixsound`).
Of jy kan die skripte van [http://blog.pepelux.org/2011/09/13/inyectando-trafico-rtp-en-una-conversacion-voip/](http://blog.pepelux.org/2011/09/13/inyectando-trafico-rtp-en-una-conversacion-voip/) gebruik om **gesprekke te skandeer** (**`rtpscan.pl`**), 'n `.wav` na 'n gesprek te stuur (**`rtpsend.pl`**) en **ruis** in 'n gesprek in te voeg (**`rtpflood.pl`**).
* [**IAXFlooder**](https://www.kali.org/tools/iaxflood/): DoS IAX protokol wat deur Asterisk gebruik word.
* [**inviteflood**](https://github.com/foreni-packages/inviteflood/blob/master/inviteflood/Readme.txt): 'n Gereedskap om SIP/SDP INVITE boodskap flooding oor UDP/IP uit te voer.
* [**rtpflood**](https://www.kali.org/tools/rtpflood/): Stuur verskeie goed gevormde RTP-pakkette. Dit is nodig om die RTP-poorte wat gebruik word te ken (sniff eers).
* [**SIPp**](https://github.com/SIPp/sipp): Laat jou toe om SIP-verkeer te analiseer en te genereer, so dit kan ook gebruik word om DoS te doen.
* [**SIPsak**](https://github.com/nils-ohlmeier/sipsak): SIP switserse lewensreddingsboei. Kan ook gebruik word om SIP-aanvalle uit te voer.
Die maklikste manier om 'n sagteware soos Asterisk te installeer, is om 'n **OS verspreiding** af te laai wat dit reeds geïnstalleer het, soos: **FreePBX, Elastix, Trixbox**... Die probleem met hierdie is dat sodra dit werk, mag stelselsadministrateurs **dit nie weer opdateer nie** en **kw vulnerabilities** sal met tyd ontdek word.
Learn & practice AWS Hacking:<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">\
Learn & practice GCP Hacking: <imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">](https://training.hacktricks.xyz/courses/grte)
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.