WebRTC DoS
Reading time: 3 minutes
tip
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
Ovaj problem je pronađen u ovom blog postu: https://www.rtcsec.com/article/novel-dos-vulnerability-affecting-webrtc-media-servers/
Opisana ranjivost u WebRTC medijskim serverima proizašla je iz trke uslova tokom inicijalizacije medijskih sesija, posebno između ICE verifikacije medijskog pristanka i DTLS inicijacije saobraćaja. Evo detaljnog pregleda:
Poreklo Ranjivosti
- Dodela UDP Portova: Kada korisnik inicira WebRTC poziv, medijski server dodeljuje UDP portove za upravljanje medijskim tokovima, pri čemu se IP i port komuniciraju putem signalizacije.
- ICE i STUN Procesi: Korisnikov pretraživač koristi ICE za verifikaciju medijskog pristanka, koristeći STUN za određivanje putanje veze do medijskog servera.
- DTLS Sesija: Nakon uspešne STUN verifikacije, započinje DTLS sesija za uspostavljanje SRTP glavnih ključeva, prelazeći na SRTP za medijski tok.
Mehanizam Eksploatacije
- Eksploatacija Trke Uslova: Napadač može iskoristiti trku uslova slanjem DTLS ClientHello poruke pre legitimnog korisnika, potencijalno koristeći nevažeći šifarski skup kao što je
TLS_NULL_WITH_NULL_NULL
. Ovo uzrokuje DTLS grešku na serveru, sprečavajući uspostavljanje SRTP sesije.
Proces Napada
- Skener Portova: Napadač treba da pogodi koji UDP portovi upravljaju dolaznim medijskim sesijama, šaljući ClientHello poruke sa null šifarskim skupom na te portove kako bi aktivirao ranjivost.
- Dijagram Napada: Sekvenca uključuje više ClientHello poruka koje napadač šalje serveru, isprepletenih sa legitimnom signalizacijom i DTLS porukama, što dovodi do neuspeha rukovanja zbog pogrešnog šifarskog skupa.
Testiranje i Ublažavanje
- Sigurno Testiranje: Koristeći alate kao što je Scapy, napadači ponovo šalju DTLS ClientHello poruke usmerene na specifične medijske portove. Za etičko testiranje, modifikacije u Chromiumu (npr.
JsepTransport::AddRemoteCandidates
) korišćene su za bezbedno oponašanje ponašanja žrtve. - Mere Ublažavanja: Rešenja uključuju odbacivanje paketa sa neproverenih adresa, kao što je implementirano u novijim verzijama biblioteka poput libnice. Primarno rešenje naglašava poverenje u ICE verifikacijski proces i obradu paketa samo sa validiranih IP i port kombinacija.
Scenariji Bez Ranjivosti
- DTLS Server Konfiguracije: Situacije u kojima pretraživač deluje kao DTLS server ili kada medijski server ne koristi ephemerne portove za medijske sesije nisu podložne ovoj ranjivosti.
Zaključak
Ova ranjivost ističe delikatnu ravnotežu u procesima inicijalizacije medijskih sesija i potrebu za preciznim vremenom i verifikacionim mehanizmima kako bi se sprečila eksploatacija. Programerima se savetuje da implementiraju preporučene bezbednosne ispravke i osiguraju robusne verifikacione procese kako bi ublažili takve ranjivosti.
tip
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.