Hacking router TP-LINK
De fapt, suntem în acest articol nu va numai vulnerabilități în routere TP-LINK, dar, de asemenea, despre modul în care puteți face la distanță aceste routere hack stație și apoi o puteți realiza cu acest lucru. Și doar un pic despre modul în care a fost folosit pentru a accesa pagina VKontakte. Este un fel de o rupere poveste mare, care include toate cele de mai sus.
Singurul lucru pe care îl știu - asta e ceea ce ISP-ul victimei. Ei bine, am început cu faptul că scanarea întreaga gamă a orașului notorii ISP-N (pentru că nu va apela la furnizorul de motive lesne de înțeles), și a găsit un lucru minunat: pe cele mai multe gazde port deschis 8080. devenit imediat clar că această interfață bazată pe web router. Am fost bazat pe admin-ul implicit admin (dacă ar fi fost un colaps complet al furnizorului), dar nu, aleg parola și nu a putut, dar nu a găsit încă o duzină de routere, în cazul în care a existat o parolă implicită. Sa dovedit că 90% din toate routerele alcătuiesc TP-Link TL-WR741ND și mai puțin 740N, 841N, 941ND.
Am decis imediat pentru a verifica această vulnerabilitate. Fișierul este descărcat la router, dar nu le acceptă, și apoi am început să mă gândesc, și că, în general, reprezintă nart.out. Acest binar sub MIPS, care, în esență, poate fi orice aplicație, trebuie doar să-l colecteze. Pentru a începe, am început să caute o opțiune gata, adică. A. Înainte de aproape niciodată nu a trebuit să se ocupe de eco-compilare. Spre surprinderea mea, chiar în acel moment, problema a fost interesat de un alt bărbat: Specx2 (Vă recomandăm, de altfel, la citirea articolul său cu privire la modul de a construi o stație de hack router, care, de fapt, în cele din urmă am făcut-o, doar de la distanță). El a reușit la unul dintre forumuri pentru a găsi chineză de Netcat, compilate sub MIPS, de altfel, tocmai în această secțiune în cazul în care a fost discutată această vulnerabilitate. Acest binar este rulat cu succes de QEMU, cu succes turnat în router printr-un backdoor găsit, dar, din anumite motive, pentru a se conecta la router nu a reușit: pur și simplu nu au avut o legătură și toate. Tovarășul Specx2 a sugerat. că este posibil ca portul 2222 poate fi pur și simplu închise, și trebuie să ajungem cumva Netcat pentru a rula pe un port diferit.
Am încercat să facem pentru a compila Netcat pentru MIPS, dar setați opțiunea la portul implicit și nu a putut. În continuare, am folosit disassembler, dar, de asemenea, fără nici un rezultat. Și apoi m-am decis să deschid acest Notepad ++ de obicei binar, și spre surprinderea sa găsit un pretuita 2222. Acest număr poate fi schimbat fără probleme pe orice alta, principalul lucru - la numărul de caractere din fișierul a fost modificat. Port într-adevăr schimbat, a fost testat pe QEMU, numai eu nu am reușit să-l pentru a lucra pe router pentru noi.
Se pare a fi o fundătură, o lungă perioadă de timp am avut nici o idee, dar ceva mi-a spus că vulnerabilitatea este încă acolo. Și apoi am aflat că router-ul nu filtrează solicitările GET. Aceasta este, în mod implicit, atunci când pagina parola incorectă se deschide / ajutor, dar dacă, de exemplu, pentru a face o astfel de cerere:
GET IP: port / help /../../
Apoi vom ajunge la rădăcina sistemului de fișiere al router-ului. Deci, putem descărca practic orice fișier din sistemul de fișiere al router-ului fără a cunoaște parola. Acesta a fost primul care operează cu succes vulnerabilitatea tuturor mi-a găsit. Dar ne dă, dacă putem descărca numai fișiere și nu știu unde este stocat parola?
În ciuda faptului că toate Gaseste subiecte Gaseste subiecte au fost reale de IP extern (deși dinamic), am decis să iau pe câteva routere ASUS'ovskih, în cazul în care a existat o parolă implicită, VPN-server. Beneficiul unei astfel de posibilitate a fost cusut în firmware-ul implicit. Astfel, am avut acces la furnizorul de rețea internă.
Dar pentru a rupe VC era încă departe. Nici măcar nu știu de IP a victimei. Fie externe sau interne. Există mai multe moduri de a învăța IP externă, și am făcut-o. Ei bine, vom începe să exploreze. În primul rând, el a răspuns la comanda ping-cereri, ceea ce este bun. În al doilea rând, am știut că victima, de asemenea, este un router (acesta poate fi, de asemenea, înțeles de TTL, t. Pentru a. Marea majoritate a utilizatorilor folosesc Microsoft Windows, și implicit pentru Windows TTL 128), în timp ce unele din același model. Dar, spre regretul profund meu, toate porturile victimei au fost închise, și nu a existat nici un acces la vebmorde exterior. Dar am știut că, în orice caz, el este, prin LAN, dar pentru aceasta trebuie să se conecteze la router printr-o interfață fără fir, precum și pentru a ridica parola din zona de administrare, ar fi foarte dificil, pentru că nu am fost în stare la acel moment pentru a găsi în cazul în care acesta este stocat. Deși acum știu deja că este stocat în / dev / mtdblock3. dar această unitate nu este instalat, așa că citiți vulnerabilitatea nu poate fi.
De asemenea, am aflat că de conectare de la conexiunea VPN pentru a accesa internetul sunt inițialele și numele juzverej sau o parte a acestuia, iar parola este aceeași. Am început să cred, cum pot găsi utilizatorul mă vrei? Pot totuși a făcut o greșeală la acel moment cu definiția IP, și-a schimbat deja, până când am încercat să zakonnektitsya vebmorde? Primul lucru care a venit în minte - o simplă căutare a tuturor routere. Dar numărul de abonați la furnizorul este destul de mult. Scanarea întreaga gamă, am găsit aproximativ 3000 de routere cu acces de la distanță la interfață bazată pe web. Și era necesar să se găsească într-un fel între ele necesare, în cazul în care, la toate acolo.
La început am încercat să scrie un scenariu care ar folosi vulnerabilitățile găsite recunosc parola, și apoi descărcate la pagina de configurare a rețelei și îl stochează. Dar, în acest eu sunt slab, și, aruncând deoparte ceva timp această idee, am decis să utilizeze un clicker regulat. Cu durere în jumătate I (sau mai degrabă clicker) manipulate întreaga gamă. Apoi, am făcut o căutare pe fișiere cu setări (în speranța de a găsi victima după nume, în datele de conectare de la VPN-conexiune), dar am nevoie de ceva, nu am putut găsi.
Am început să sape în continuare și a constatat că orice router poate fi piratat prin intermediul interfeței web pentru a scana punctele de acces din jur. Astfel, am avut o idee nebună: pentru a sparge un vecin al victimei acestei vulnerabilități impune ca atunci router-ul său pentru a încerca să sparge parola de acces Wi-Fi a victimei și du-te la interfață web în rețeaua locală, astfel încât să își croi drum spre 1,600 km cu nici o certitudine de succes a fost .. nerezonabile, și pur și simplu nu a fost posibil. Dar, de asemenea, pentru a realiza planurile noastre la acel moment era de neconceput. Cum de a găsi un vecin?
Excelent! Router-ul găsit, precum și vecini, cheltuielile, cu toate acestea, acest lucru este foarte consumatoare de timp. Ce urmează? Trebuie să ajungem cumva parola de la rețeaua fără fir, dar pentru aceasta trebuie să fie de captură strângere de mână și ridica pe ea o parolă (protecție există WPA2-PSK), sau ridicați WPS PIN-ul, t. Pentru a. WPS implicit activat, dar cele mai multe routere-l blocat după 10 încercări greșite. Așa cum facem cu toții cel puțin ceva din asta? La urma urmei, ruterele vecine nu au software-ul specializat. Și apoi a venit gândul să clipească routerele lor OpenWRT, deoarece acest firmware-ul este cel mai aproape de real Linux cat si sub ea au pachete aircrack-ng, Reaver si multe altele. Tovarășul Specx2 chiar Bully pentru el colectate. A existat o singură problemă: cum să clipească router la distanță și nu pierde accesul la ea? De fapt, după intermitent toate setările sunt resetate la valorile implicite.
Am suferit mult timp cu această întrebare, consider că trebuie să colecteze toate firmware-ul de la zero și de la sursă este într-un fel de pre-drive pentru a configura, dar a fost mult mai ușor. Nici măcar nu știu despre existența OpenWRT Image Builder. Cu el, m-am dat seama destul de repede, dar era necesar să se aleagă dreptul set de pachete, adică. A. Valoarea firmware-ului nu poate depăși 4MB, iar acest lucru nu este suficient, având în vedere faptul că mulți sunt trăgând pentru o listă de dependență bolnăvicios. Următoarea problemă a fost faptul că accesul la internet de juzverej primește numai după stabilirea unei conexiuni VPN la serverul furnizorului, dar apoi tot traficul de ieșirea din tunel, și am pierdut conexiunea cu routerul. Deci, iartă-mă, vecin, am lăsat-o fără Internet. Flash a router-l (după ce a părăsit câteva zeci de persoane sunt în continuare fără un Internet în timpul experimentelor eșuate), m-am întors imediat placa de rețea router-ul în modul monitor
ifconfig wlan0 jos
IW reg set BO
iwconfig wlan0 txpower 27
airmon-ng începe să wlan0
Și a alerga airodump-ng.
airodump-ng mon0 -c CHANNELNUMBER -bssid MAC_routera_zhertvy -w / tmp / 123
Pentru a intercepta strângere de mână nu au fost de lucru. Am descarcat imediat groapa cu router-ul folosind SCP
scp -P port de utilizator @ gazdă: /tmp/123-01.cap
Primul lucru pe care am încercat să dau seama exact modul în care serverul stabilește că intrarea se face cu noul dispozitiv. Totul a fost destul de simplu: în browser-ul adaugă un nou Cookie (dacă îmi amintesc corect, ceva numit remixttpid), care este transmis numai printr-o conexiune criptată. Și are serverul detectează browser-ul de la care este permisă intrarea. Dacă nu mă înșel, User-agent ar trebui să fie, de asemenea, la fel. Astfel, este suficient pentru a intercepta un cookie pentru a conecta cu succes cu o parolă cunoscută, dar este destul de dificil de făcut: este necesar să se treacă traficul utilizatorului prin mitmproxy, atât de mult, astfel încât el este, de asemenea, conectat la acel moment. În plus, utilizatorul va observa un browser de avertizare despre o nepotrivire de certificat. De ce atât de pervertit, m-am gândit, dacă poți profita de doar o sesiune existentă? După toate browser-ul de verificare se efectuează numai în momentul de conectare, dar nu au fost făcute pentru interogări la o sesiune existente! Prin urmare, avem nevoie doar de a intercepta remixsid. care, de altfel, este transmis printr-o conexiune nesigură, adică. k. juzverej utilizează HTTPS.
Problema a fost doar că remixsid se potrivesc la IP a utilizatorului, și în cazul în care se schimbă, folosit, de asemenea, cookie-uri pentru login.vk.com, sunt transmise numai printr-o conexiune criptată, iar acestea sunt mai dificil de a intercepta. Dar am avut noroc. Până în momentul în care prestatorul a început să ofere acces la Internet fără a fi nevoie de o conexiune VPN, și apoi am putea alege doar în sus setările PPTP-server și router juzverej configura conexiunea de la ea. Așa că am făcut-o, tot traficul a trecut prin mine, și juzverej, fără să știe, de a crea o sesiune care este obligat să-mi IP, care a fost interceptat fără probleme. Apoi, pur și simplu m-am întors setările anterioare și de a folosi sesiunea primita (mulțumită IP-ul meu statice). SMS-protection rupt cu succes!
În legătură cu transferul tuturor utilizatorilor de pe IPoE în ultimul timp și respingerea VPN, toate acestea au fost pentru NAT, inclusiv routere, în care am fost ridicate de VPN pentru a avea acces la furnizorul de rețea internă. În plus față de cele de servicii în prezent podklyuchid „Static IP», desigur. Dar aici problema: cei care doresc să trăiască IP, încă mai trebuie să utilizați un VPN pentru a avea acces la Internet. A trebuit să sufere și să colecteze OpenWRT cusute, iar clientul configurat-PPTP (și funcționează pentru un motiv foarte strâmbă), precum și serverul OpenVPN cusute și personalizate. Multe routere au murit în timpul experimentelor, dar rezultatul a fost atins în cele din urmă. Golful mai multe routere (cu puținele reale IP) acest firmware-ul, am un acces stabil la rețeaua internă folosind OpenVPN.
Problema cu conexiunea PPTP VPN a fost faptul că serverul furnizorului nu acceptă criptarea. Ar putea pofiksit adăugarea de linii în /ppp/options.pptp.
nomppe
Restul procesului de PPTP VPN client OpenVPN configurare și server nu este diferit de manual pe OpenWRT.