Wubi Posted July 31, 2012 Report Posted July 31, 2012 (edited) MySQL este una dintre cele mai folosite baze de date, folosita de foarte multe aplicatii in zilele noastre. In pentesting, este aproape imposibil sa nu gasesti un sistem ce ruleaza un server MySQL. In topicul asta vom vedea cum sa atacam o baza de date MySQL cu ajutorul framework-ului Metasploit.Sa presupunem ca scopul nostru este sa testam serverul MySQL. Primul pas este sa edscoperim versiunea bazei de date. Framework-ul Metasploit are un modul ce ne permite sa gasim versiunea unei baze de date. Cunoscand versiunea, ne va ajuta sa descoperim posibilele vulnerabilitati.Singurul lucru pe care il avem de facut este sa punem adresa IP si sa folosim commanda run.Acum putem folosi modulul mysql_login in combinatie cu wordlist-ul nostru pentru a descoperi cel putin un cont valid ce ne va permite sa ne conectam la baza de date MySQL. Mereu ca pentester este bine sa verifici baza de date de conturi sau parole slabe.Scannerul a dat rezultate, dupa cum putem vedea din rezultate, avem un cont valid, (root)Inainte sa folosim acest cont, in scopul de a ne conecta si interactiona direct cu baza de date, putem folosi alte doua module metasploit, ce ne pot ajuta sa enumeram conturile din baza de date si sa extragem contul si parola criptata din serverul MySQL. Desigur, asta se poate face manual, insa Metasploit ne ajuta sa facem asta. Deci prima data, vom configura modulul numit msql_enum in scopul de a gasi informatii despre conturile bazei de date.Urmatorul pas este sa configuram si sa rulam modulul mysql_hashdump in scopul extragerii hash-urilor parolelor de la toate conturile din database.Acum ne putem conecta la serverul mysql. Backtrack are deja un client deci putem folosi comanda, mysql -h IP -u username -ppassword. In cazul nostru IP-ul tintei este chiar IP-ul meu. Acesta apare cu blur in imagini, la fel si parola mysql.Acum ca suntem conectati la baza de date putem folosi comanda show databases; in scopul descoperirii bazelor de date stocate in serverul MySQL.Urmatorul pas este sa alegem o baza de date si apoi sa incercam sa vedem tabelele din care va urma sa incepem sa extragem date. Putem face asta folosind comanda use <dbname>; si comanda show tables;Putem vedea ca acolo este un tabel numit 'user'. Vom vrea sa extragem datele ce contin conturi si parole din ystem. Putem face asta folosind comanda select User, Password from user;Dupa cum putem vedea acolo sunt 5 conturi cu parole criptate. Deci acum avem toate conturile bazei de date MySQL. Putem acum descoperi tabele aditionale din alte baze de date cu comanda show tables from <dbname>;Astfel de metode se folosesc pentru a extrage tot felul de baze de date.ConcluzieIn acest topic am aratat cum sa obti acces intr`un server MySQL obtinand acces folosindune de username si parole slabe sau default. Multe companii au astfel de probleme de securitate. Orice pentester trebuie sa verifice inainte de a evalua un sistem de baze de date, daca acesta nu foloseste parole slabe sau implicite. Asta este cea mai usoara cale de a obtine acces.ReferintePenetration Testing LabMetasploit Penetration Testing Software | Metasploit Framework | Metasploit ProjectBackTrack Linux - Penetration Testing Distribution Edited August 1, 2012 by Wubi 1 Quote
vip22 Posted July 31, 2012 Report Posted July 31, 2012 (edited) Chiar de mare ajutor acest tutorial ...o sal incerc cand voi achizitiona un hard extern pentru backtrack 5 poate pe viitor sparg site-ul xat chat. Free chat rooms. Make your own chat group. Edited July 31, 2012 by vip22 Quote
GraphLog Posted July 31, 2012 Report Posted July 31, 2012 Excelent explicat, mai astept tutoriale din partea ta!P.S: Ce skin folosesti la BT ? Quote
Flubber Posted July 31, 2012 Report Posted July 31, 2012 (edited) Ma amuza toate aceste post-uri precum "Gj & gt" sau "Excelent explicat, mai astept tutoriale din partea ta!" etc. Trebuie sa pricepi ca in oricare companie ce se respecta nu poti sa te duci sa faci bruteforce alandala sau sa pornesti cine stie ce serviciu de identificare si mapare a vulnerabilitatilor de securitate ce creaza tone de trafic si logging.Nu poti lansa autopwn asupra unui server decat daca situatia permite si chiar si atunci, exista un risc numai reflectand la tot traficul creat in urma acestui atac. Atac bruteforce asupra unui server MySQL cu Metasploit cred ca ar fi fost mai corect, insa ce-i drept, orice munca e de apreciat.Pe viitor ar fi bine daca ai face tutoriale despre inspectie la nivel de layere OSI folosind scannere precum nmap, care este excelent in "inspectia" raspunsurilor target-urilor. In special folosirea de script-uri precum mysql-audit s.a.m.d.Sau un alt exemplu bun, exploit-ul recent ce face bypass de login.Apropo, Urmatorul pas este sa configuram si sa rulam modulul mysql_hashdump in scopul extragerii hash-urilor parolelor de la toate conturile din database.http://img687.imageshack.us/img687/5779/screenshot6ki.pngImaginea nu este afisata, corecteaza la inceput. Edited July 31, 2012 by Flubber clarificare Quote
Wubi Posted July 31, 2012 Author Report Posted July 31, 2012 Ma amuza toate aceste post-uri. Trebuie sa pricepi ca in oricare companie ce se respecta nu poti sa te duci sa faci bruteforce alandala sau sa pornesti cine stie ce serviciu de identificare si mapare a vulnerabilitatilor de securitate ce creaza tone de trafic si logging.Nu poti lansa autopwn asupra unui server decat daca situatia permite si chiar si atunci, exista un risc numai reflectand la tot traficul creat in urma acestui atac. Atac bruteforce asupra unui server MySQL cu Metasploit cred ca ar fi fost mai corect, insa ce-i drept, orice munca e de apreciat.Pe viitor ar fi bine daca ai face tutoriale despre inspectie la nivel de layere OSI folosind scannere precum nmap, care este excelent in "inspectia" raspunsurilor target-urilor. In special folosirea de script-uri precum mysql-audit s.a.m.d.Sau un alt exemplu bun, exploit-ul recent ce face bypass de login.Apropo, Imaginea nu este afisata, corecteaza la inceput.Ai dreptate in mare parte, dar nu poti tu ca pentester sa lasi de`o parte lucruri banale ca asta sa`ti scape, chiar daca serviciile prestate sunt pentru o companie ce se respecta sau nu.Scopul tutorialului a fost sa arate cea mai simpla metoda de a obtine acces intr`un server MySQL. Poate nu este foarte tehnic, si nu am detaliat prea mult, dar nu asta a fost scopul. Multumesc pentru sugestie, voi face tutoriale mult mai detaliate, in care sa explic pe larg, ce, cum, si de ce am facut asa.Multumesc si pentru acea atentionare cu imaginea. Quote
me.mello Posted August 1, 2012 Report Posted August 1, 2012 (edited) Sursa: Attacking MySQL With Metasploit Edited August 1, 2012 by me.mello Quote
Wubi Posted August 1, 2012 Author Report Posted August 1, 2012 .Sursa: Attacking MySQL With MetasploitReferintePenetration Testing Lab Quote
rudarualin Posted April 9, 2013 Report Posted April 9, 2013 Salut , dupa ce am scris run si ip-ul imi arata MsfValidateErorr[-] Auxiliary failed: Msf::OptionValidateError The following options failed to validate: RHOSTS . Ce nu am procedat corect ? Quote
Aripipevant Posted April 13, 2013 Report Posted April 13, 2013 Ai dreptate in mare parte, dar nu poti tu ca pentester sa lasi de`o parte lucruri banale ca asta sa`ti scape, chiar daca serviciile prestate sunt pentru o companie ce se respecta sau nu.Scopul tutorialului a fost sa arate cea mai simpla metoda de a obtine acces intr`un server MySQL. Poate nu este foarte tehnic, si nu am detaliat prea mult, dar nu asta a fost scopul. Multumesc pentru sugestie, voi face tutoriale mult mai detaliate, in care sa explic pe larg, ce, cum, si de ce am facut asa.Multumesc si pentru acea atentionare cu imaginea."voi face tutoriale mult mai detaliate, in care sa explic pe larg, ce, cum, si de ce am facut asa." vei fi un mare caracter dac? vei face asta eu în sine, apreciez. Quote
shadowxsc Posted July 19, 2013 Report Posted July 19, 2013 nu prea am priceput .. la faza cu command run .. pozele nu mai sunt valide.. Quote
yoyois Posted July 19, 2013 Report Posted July 19, 2013 Nice. M-am uitat pe tutorialu' in engleza.Util si interesant dar sa fim realisti:Sa faci bruteforce la username si parola... nu prea ai sanse. E foarte "zgomotos" si ai sanse sa fii blocat dupa prea multe incercari. in + la majoritatea server-provider de MySQL password-policy e foarte strict: username cu prefix random (u5qffa_ ) parola minim 7 char alfa-numerica si UpperChase.Si user remote .. nu prea e perimisPoate merge sa spargi un servel local cu username: root si fara pass. Dar cu un webserver serios... Good Luck! Quote
adrianez Posted July 27, 2013 Report Posted July 27, 2013 Cine ma poate ajuta?Sa imi alfe si mie user si password mysql de la acest servar de metin2 ( metin2magic.ro)Am aflat ip 193.84.64.186 si am incercat cu metasploit dar na mers.Sa mi le trimiteti prin PM datele,daca se paote va rog !!!Multumesc Anticipat!!! Quote