Neat, joten voin lähettää POST-pyynnön osoitteeseen VulnWebSite.com:8008/apps/Youtube JSON-rungon kanssa, joka sisältää datan {’v’:’VIDEO_ID_HERE’}. Periaatteessa haavoittuvuus on siis se, että kuka tahansa, joka lähettää post-pyynnön chromcast-laitteellesi, voi saada televisiosi toistamaan youtube-videon. Tämä kaikki on autentikoimatonta.
Seuraavaksi yritin etsiä API-dokumentaatiota, mutta en voinut mitä halusin. Sitten törmäsin jonkun toisen lähettämään epäviralliseen API-dokumentaatioon (API documentation). Löysin myös muuta alla lueteltua dokumentaatiota.
- chromecast python script
- chromecast urls list
Luettuani dokumentaation minulla oli paljon parempi käsitys siitä, miten laite toimi, ja tiesin melko hyvin, miten hakkeri oli tehnyt hyökkäyksen.
Hyökkäys
Aluksi meidän on siis luotava jonkinlainen sormenjälki, jolla tunnistamme chromecast-laitteet, joilla on tämä API-päätepiste näkyvissä. Tämä voidaan tehdä helposti lähettämällä GET-pyyntö /setup/eureka_info-päätepisteeseen, joka on dokumentoitu täällä(device-info API documentation). Tämä palauttaa json-olion, joka sisältää build-version, laitetiedot, julkisen avaimen ja paljon muuta. Tämä on sama api-päätepiste, jota shodan.io käyttää chromcast-laitteiden sormenjälkien ottamiseen.
Nyt kun voimme tunnistaa chromcast-laitteet, meidän on vain lähetettävä youtube-hyötykuorma aiemmin löytämäämme ”/apps/YouTube”-päätepisteeseen. Tämän jälkeen käyttäjän television on pakko toistaa mitä tahansa videota, jonka haluat sen toistavan. Voit tehdä myös muita asioita, kuten luetella ympäröivät tukiasemat ja bluetooth-laitteet tai mitä tahansa API-dokumentaatiossa lueteltua. Tämä kaikki voidaan tietysti tehdä myös autentikoimattomasti.
Universal Plug and Play
Tämä hyökkäys on yksinkertainen ja melkein kuka tahansa voi tehdä sen tämän tietämyksellä varustettuna. Asiaa pahentaa se, että chromecast käyttää Universal Plug and Playta (UPnP). Jos et tiedä mitä UPnP tekee, se periaatteessa lyö koko palomuurin läpi. Tämä tarkoittaa, että chromecast-laite käyttää UPnP:tä avatakseen reitittimesi portin 8008 ja välittää kaiken liikenteen chromecast-laitteeseen. Jos reitittimessäsi on UPnP käytössä, kuten useimmissa oletusarvoisesti on, chromecast-laitteesi avaa itsensä internetiin. Tämä tarkoittaa, että kuka tahansa voi ohjata chromecast-laitettasi ja televisiota, johon se on kytketty, internetistä ilman tunnistautumista.
Johtopäätökset
Olen vahvasti sitä mieltä, että google on todella hieno yritys. He tekevät paljon suojellakseen meitä joka päivä ja he suojaavat myös muita yrityksiä ja laitteita Project Zeron ansiosta. Ei ole väliä kuinka hyvä olet, jotakin vain lipsahtaa läpi. Sitä tapahtuu koko ajan. Google on jo maininnut, että se julkaisee päivityksen lähiviikkoina. On luultavasti parasta estää UPnP kokonaan, koska monet muut IOT-laitteet voivat olla haavoittuvia. Ajattele sitä, jos Googlen laite on haavoittuvainen auktorisoimattomalle API-hyökkäykselle, kuinka moni muu laite on?
Leave a Reply