Ușor secrete hack hacking de lucruri simple,
Colecta informații privind anteturile de e-mail
Tu faci singur poate trimite un e-mail folosind NCAT sau Telnet. Tot ceea ce este necesar - este de patru echipe: HELO, MAIL LA, RCPT DATELOR (deși există unele restricții în funcție de setările de server). De asemenea, demn de remarcat este faptul că fiecare literă are un corp antet și un mesaj. Rubricile sunt doar parțial afișată utilizatorului final (de exemplu, «Subiect:») și sunt utilizate, de exemplu, când scrieți revenirea din cauza problemelor din MTA final.
Linia de fund. Trimite o scrisoare către secretarul într-o companie, ea ne răspunde. Și noi știm deja unde vin de acolo :).
Să vedem ce putem învăța de la VTB24 spam-Ia-o listă de domenii
Vom continua să colecteze informații. Să ne imaginăm o companie pe care dorim să iasă. Una dintre primele sarcini pentru pentest prin intermediul internetului - pentru a obține o listă de nume de domenii / gazde virtuale. Metode de multe, și ele sunt la fel de vechi ca lumea: întoarcerea resolv IP, numele de enumerare guglohaking. Și nici unul dintre ei dă rezultate complete, așa că încercați să le folosească împreună, adăugând în același timp ceva nou :).
„Brand nou“ - o colecție de informații cu privire la numele utilizând SSL. Deci, să fundație. Când vă conectați prin SSL la orice server, ne returnează certificatul. Certificat - un set de domenii (inclusiv cheia publică a serverului), semnat de către o autoritate de certificare rădăcină. De asemenea, este câmpul CN (denumire comună), care conține numele serverului care a emis certificatul. Acest lucru este deja ceva.
Dar asta nu e tot. Există un alt domeniu puțin cunoscut al aceluiași certificat - SubjectAltName. Acesta vă permite să specificați numele alternative. Aceasta este de fapt o cheie poate folosi foarte diferite denumiri. A se vedea risunochki, și totul devine clar.
Punerea numele de gazdă SSLSe pare că pare a fi de „securitate“ -fishki vom extrage pepite de informații de interes pentru noi. Observ, de asemenea, din experiența personală, care devine uneori în certificate și informații cu privire la numele de gazdă interne.
Atac folosind sesiune aiuritoare art
Logica vulnerabilitate - este întotdeauna distractiv. Ele pot fi simple sau complexe, dar ele sunt unite de un singur lucru - necesitatea de a gândi corect. Există doar ei și o mică problemă: ele sunt într-un fel nu simbolizeze cu adevărat (probabil la fel, pentru că toate acestea sunt atât de diferite :)). Ei bine. Vreau să vă spun despre o tehnică interesantă (sau o vulnerabilitate, care este modul în care te uiți), care a prezentat destul de recent, un cuplu de ani în urmă. Nume ea - sesiune enigmatic sau o sesiune suprasarcini variabilă (la versiunea OWASP).
- Utilizatorul introduce site-ul.
- Utilizatorul introduce un nume de utilizator și o parolă și îl trimite la server.
- Serverul verifică datele și dacă totul este corect, lăsați în partea interioară, în timp ce trimiterea cookie-ul de utilizator în HTTP-răspuns.
- Atunci când utilizatorul trece la unele altă pagină, browser-ul adaugă pentru a solicita cookie-uri. Serverul pentru acest cookie înțelege că utilizatorul a fost deja autentificat, și funcționează în conformitate cu ideea.
Totul arata destul de bine, dar există lipsește un punct important. Acesta constă în faptul că magazinele de server la informații despre o anumită sesiune de utilizator. Aceasta este, de vine cookie de utilizator, el și arată ia (în memorie în baza de date - în funcție de software-ul), și ceea ce a „legat“. Cel mai simplu exemplu: poate stoca numele utilizatorului în cadrul sesiunii. Și de a primi un cookie din numele sesiunii și știu exact cine l-au abordat în acest moment.
În general, în sesiunea a magazinului, în general, informații „temporară“, ca ceva mai mult sau mai puțin permanentă - deja în baza de date. De exemplu, este logic să se păstreze numele utilizatorului în sesiune, dar „rolul“ lui pot fi stocate în baza de date și interogarea numai atunci când este necesar. Aici, de fapt, o mulțime depinde de aplicația particulară și dezvoltator de software.
De exemplu, stocarea unor cantități mari de date într-o sesiune poate provoca o epuizare a memoriei sau a unui server web (Tomcat), sau spațiu liber pe hard disk (PHP). Pe de altă parte, în baza de date necesita mai mult timp de tratament. Aceasta a determinat alegerea este, de obicei, performanță și securitate sunt rareori cred că (desigur, pentru că așa cum vă poate afecta ceea ce este stocat pe partea de server?).
Și aici ajungem la însăși esența acestui atac: în anumite situații, putem influența ceea ce este stocat pe server. Ce anume - de asemenea, depinde de situația. Cel mai adesea, avem nevoie de câteva puncte de intrare diferite în aplicare, pentru care datele se încadrează în aceeași variabilă de sesiune.
Eu vă voi da un exemplu clasic, și totul va fi clar. Aceeași situație ca și cea descrisă mai sus. Clientul, care poate intra într-o zonă privată de pe site-ul web prin intermediul paginii de conectare. Site-ul, care stochează numele clientului în sesiune, și accesul la pagini private ale controalelor în numele sesiunii de utilizator.
Dar, adăugați la această pagină pentru o parolă de recuperare, pe care trebuie să introduceți numele de utilizator (1), și ca răspuns, sistemul va pune o întrebare de securitate (2), la care va trebui să introduceți răspunsul corect la resetarea parolei (3). Și, după cum probabil deja realizat, în scopul de a continua această succesiune, (la 1 la 3), serverul ar trebui să utilizeze, de asemenea, sesiune și stoca nume de utilizator.
Deci, atacul ar fi că, atunci când vom merge pe pagina de recuperare și introduceți numele de utilizator administrator al serverului în sesiunea de remarcat faptul că utilizatorul - admin, administratorul și afișează pentru întrebarea secretă. Totul! Nu putem impune nimic, doar du-te la secțiunea privată a site-ului. Serverul arata sesiune va vedea că numele de utilizator admin, si ne va da acces. Aceasta este, în timpul de recuperare a parolei noi „set“ ne cere să prețuim și apoi du-te naviga pe părțile private. Bug aici și că site-ul utilizează un singur nume de variabilă și de autentificare, și de recuperare a parolei.
La început poate părea că acest tip de vulnerabilitate - o raritate. De fapt, nu este. Eu personal găsit destul de comună în astfel de produse. Doar nu știu dacă se numește.
Apropo, în plus față de by-pass de autentificare, utilizați această tehnică poate îmbunătăți privilegiul de a sari sau pas pe operațiunile de multi-pas ...
Cum să căutați pentru acest tip de bug-uri? De fapt, unele supermetodiki pentru asta. Dar, ca un început trebuie să activați în sus punctele de intrare în aplicația cu potențialul de a afecta valorile în variabilele de sesiune. Și apoi - creier, mâini și de testare, de testare, de testare.
Pentru a ataca cu gazda fals
Un alt exemplu de vulnerabilități web aproape logice. Ea se bazează pe antet fals gazdă HTTP-cerere. Mai precis, în absența site-ul său de testare în utilizarea sa ulterioară. Dar, în ordine.
În general, din punct de vedere al securității, este o situație ciudată puțin, dar inofensiv. S-ar părea atât, înlocuind numele domeniului în gazdă, putem face o resursă pentru a descărca noastre JS script-uri (ia în considerare - XSS). Dar, pentru a face browser-ul altcuiva să facă același lucru (adică, pentru a insera gazdă greșit), de fapt, imposibil. Deci, din punct de vedere al POS aici totul pare destul de normal.
Cu toate acestea, în acest atac ceva cu siguranta acolo.
Cazul în care valoarea gazdă este returnat ca calea către pagina de resursepauză UPnP
Universal Plug and Play (UPnP) - un set de protocoale de rețea care au fost create pentru a facilita constatare alt dispozitiv reciproc, precum și interacțiunea lor. Dispozitiv în acest caz, poate fi aproape orice: un router, o imprimantă, SmartTV, unele servicii de Windows ... Deși, probabil, UPnP, termenul pare a fi un străin pentru tine, de fapt, este foarte, foarte frecvente.
Din punct de vedere al unui exemplu de interacțiune poate fi văzută în direcția de Skype sau BitTorrent, și Wi-Fi routere. În primul rând prin UPnP pot găsi router-ul și să-l trimită un set de comenzi pentru transmiterea portului extern în interior. Foarte convenabil pentru a obține: probleme cu forwarding'a de port reglabil manual.
UPnP se bazează pe mai multe protocoale, dar, de asemenea, mai important, la o anumită secvență logică:
SSDP NOTIFY meu WiFi-routerÎn afară de interceptarea convorbirilor telefonice 239.255.255.250, noi „forța“ poate trimite cererea M-Pentru a consulta același pe portul 1900. UPnP-servere va trebui să răspundă la această solicitare. Faceți cunoștință cu toate de același pachet Notify.
Deci, prima sarcină - este, de fapt, pentru a primi o listă de UPnP-servere si URL-uri la XML'ek, cu o explicație completă a caracteristicilor fiecăruia dintre serviciul Server. Acest lucru este important deoarece, în port, și URL-uri pot fi diferite de la diferiți producători.
Identificarea oportunităților. Deci, din SSDP obținem o listă de servicii cu referire la descrierea lor în format XML. Pentru a avea acces la ele este deja utilizat de către un HTTP obișnuit. Acest fișier este o descriere a fiecărui serviciu, precum și link-uri către XML-fișiere cu o listă de posibile acțiuni pentru fiecare dintre ele. Aceasta este, în acest caz XML'ki - este doar o descriere statică a tuturor capacităților serviciului, precum și lista punctelor de acces la serviciile și datele necesare pentru a efectua o acțiune.
Controlul. Primirea XML'ki de date, putem crea deja SOAP-pachetele și le trimite pe un server HTTP, astfel încât o acțiune pe server.
Autentificare, cum am spus mai înainte, lipsește, iar serverul va efectua toate acțiunile pe care le va veni în SOAP-cerere.
Și aici este portul SOAP-comandă de expediereDin păcate, această metodă nu funcționează mai: deoarece Sandbox înăsprit de Flash și nu putem trimite arbitrare post-cereri (cel mai important, avem nevoie pentru a adăuga un alt SOAPAction antet) pe orice altă gazdă (pentru că prima cerere va permite normele crossdomain.xml).
Deci, acum, cred că putem vedea cum funcționează. Să vedem ce putem face.
În primul rând, a abordat posibilitatea SOAP'a. În plus față de transmiterea exemplu porturi, există cazuri în care putem schimba setările routerului și DNS-demască server. Și aceasta este o Hoo! Totul depinde de hardware-ul dvs. specifice, servicii, și imaginația noastră.
În al treilea rând, putem rupe-te de servicii. Un an în urmă, a făcut Rapid7 Funny cercetare UPnP. Ei proskanili Internet pe SSDP si SOAP (pe porturile standard), le pofingerprintili. Sa dovedit că cele mai multe dintre UPnP-servere construit pe patru SDK. Stand out MiniUPnP și portabil UPnP (libupnp), care "deține" mai mult de jumătate. Dar, mai important, aproape toate serverele folosesc versiunea mai veche a bibliotecilor, fiecare dintre care are o grămadă de vulnerabilități, inclusiv a celor care conduc la BRM. Și în SOAP'e și SSDP.
In plus, acest studiu arată modul în care, în realitate, multe astfel de dispozitive ieșită, chiar dacă SSDP. Adică, chiar dacă același SOAP este închis, putem apuca de control de la distanță a dispozitivului prin intermediul SSDP.
Desigur, trebuie remarcat faptul că aceasta nu poate fi foarte ușor cu sploitingom la distanță, deoarece aceste dispozitive sunt adesea construite pe orice MIPS, ARM, care complică doar totul. În plus, necesitatea de a lupta înapoi și pentru a proteja mecanismele de memorie de sistem de operare (același ASLR). Dar încă posibil.
Ceea ce avem nevoie pentru a rupe totul?
Instrumente în realitate, un pic. În metasploite un modul pentru a căuta UPnP (CVE și detectivul pe ele). În plus, există două „harvester“ care efectuează SOAP-echipa. Aceasta este Miranda și UMAP. Ambele sunt scrise în Python, chiar sub * nix și nu funcționează foarte bine.
Sper că ai citit a fost umplut cu entuziasm și pofta de viață, așa că, dacă doriți să poreserchit - scrie pe cutie. Întotdeauna fericit :). Și cunoștințe de succes nou!
Arată acest articol unui prieten: