You are currently browsing the monthly archive for Februarie 2009.

Cu totii sintem constienti ca unul din componentele procesului de securitate este update-ul regulat al sistemului de operare si al aplicatiilor.  Este complicat sa incepi sa iei toate aplicatiile la mina la intervale de timp regulat si sa vezi care ar mai fi de updatat.  Marea majoritate a soft-urilor au posibilitatea de a verifica, la intervale regulate daca exista update-uri.  Acum ceva timp am descoperit o solutie interesanta a firmei Secunia numita „Secunia Personal Software Inspector (PSI)„.

Pro: Ceea ce face este o identificare a softurilor existente si pentru cele pe care le cunoaste, poate determina daca este ultima versiune existenta si ofera totodata posibilitate de update. O solutie de vulnerability management care pentru personal use este utila si merita mai ales instalata in solutiile de enterprise. Este free.

Contra: Solutia functioneaza prin trimiterea inventarului de softuri instlate pe calculatorul local prin SSL catre site-ul Secunia unde este analizata si este trimis inapoi raspunsul.

In privacy statement este scris:

„The Personal Software Inspector collects unique text strings and data about executable files and installed applications on your system, including hostname and langroup, and Microsoft KB numbers. This data is analysed by the Secunia File Signature engine (psi.secunia.com) to determine the exact applications installed on your system. No other data is collected from your system.”

Dar Microsoft update-ul nu face la fel??

Daca va place…merita folosita.

P.S.  Exista si o versiune comerciala pentru enterprise.

Have fun patching.

Anunțuri

Ce inseamna asta? Sub tutela NIST (Institutul American de Standarde si Tehnologie), a inceput procesul de selectare a unui nou algoritm de hash-ing care sa inlocuiasca MD5 si SHA1. Noul algoritm va purta numele de SHA3. Au intrat in concurs pina acum 64 de propuneri, din care doar 56 erau cunoscute si accesibile publicului. Pina acum s-a desfasurat prima faza din care numai 51 au absolvit. Din acestea 10 au fost dovedita ca fiind „broken”, gresite. Detalii despre concurs aici.

Putina legenda pentru detalii.

Un algortm de hash-ing este considerat „stricat” atunci cind:

  • este suspect de second preimage: adica pornind de la mesajul m1 se determina mesajul m2 pentru care se genereaza acelasi hash: hash(M1)=hash(M2),
  • este suspect de preimage. Asta inseamna ca pornind de la hash-ul h se poate determina mesajul m1: h=hash(m1)
  • este suspect de coliziuni, adica exista 2 valori m1 si m2 ale carui hash este egal.

Diferenta intre preimage si coliziune este ca unul este indreptat mesajului iar cel de-al doilea impotriva hash-ului.

Cistigatorul nu va fii algoritmul cel mai puternic, ci si cel care va fii „avantajos economic” de implementat in diferite tipuri de configuratii hardware.

Deci sa aplaudam cistigatorul care va fi???

Metodele acceptate de un server de HTTP sint GET, HEAD, POST, PUT, DELETE, TRACE, OPTIONS si CONNECT. Pentru definitia fiecaruia va rog sa consultati RFC 2616. De ce sint metodele acceptate de un server atit de importante si care este un posibil scenariu de atac?

Incercati sa identificati un link care este accesibil numai daca userul este autentificat. In momentul in care inlocuti metoda cu HEAD, veti putea avea surpriza ca serverul sa raspunda cu HTTP/1.1 200 in loc de HTTP/1.1 302, redirect catre pagina de login. O alta posibilitate este sa incercati cu BLAMETOD / HTTP/1.1. Serverul va trebui sa raspunda cu 405 Not Allowed sau 501 Not Implemented, dar …

Deci incercati sa vedeti ce metode sint implementate folosind OPTIONS.

Daca doriti sa indentificati un server si nu puteti afla daca este Apache sau IIS atunci incercati cu OPTIONS daca este permis. Ordinea in care sint afisate metodele este specifica fiecarui tip de server.

Pentru a evita acest tip de atac este recomandar restrictionare metodelor permise. Pentru Apache, restrictionarea metodelor se face folosind directiva <Limit>.

Have fun.

Astazi a fost facut publica versiunea beta 4 a celebrei platforme de penetration testing Backtrack. Pe linga versiunea ISO este posibil si download-ul unei versiuni vmware. Un mic review o sa urmeze. Dowload-ul se poate face de aici.

Have fun.

La cafea citeam astazi o stire in Hotnews despre o noua „reusita” a hackerilor romani. Victima Kaspersky LAB. Dupa mine devine plictisitor cum chiar firmele de securitate nu reusesc sa inteleaga concepte precum Defence in Depth (citeste aici) . Ma gindesc ca daca aceasta firma care ofera produse de securitate nu intelege conceptul, cum va reusii sa ofere un produs de securitate care sa fie „sigur”?  Se pare ca nu reuseste sa inteleaga conceptul de Input Validation tinind cont ca pe data de 02.02.2009 sint anuntate in Securityfocus  Multiple Kaspersky Products ‘klim5.sys’ Local Privilege Escalation Vulnerability”.  Trist.

Dar altceva doream sa va supun atentiei. Un articol de pe site-ul Darkreadings semnaleaza ca mai multe firme de securitate printre care Immunity, Milw0rm  si Packetstorm au fost supuse unui atat DDOS de mare amploare. Printre target-uri se afla si proiectul Metasploit. H.D. Moore scrie pe blogul proiectului ca aceste tipuri de atacuri cu toate ca sint necomplicate sint enervante, nevazind nici un rost in aceste atacuri deoarece atacurile impotriva unui proiect Open Source nu produc pierderi in domeniul vinzarilor. :-))  . Eu speculez mai departe si ma gindesc ca aceste atacuri nu sint decit un parte a unui proiect mai mare. Site-urile respective ofera exploit-uri. Parerea mea este ca atacatorii au incercat sa opreasca accesul oamenilor la site-urile cu exploit-uri pentru a-si mari acea „Window of opportunity”,  sau intervalul in care un exploit poate fi folosit de cei ce l-au descoperit pina devine public. Articolul poate fi citit aici. Voi ce parere aveti?

In primul rind ce este CWE. CWE vine de la Common Weakness Enumeration, si este o colectie a greselilor de programare ce se pot transforma in erori de securitate.

Ce este CWE-20? „Improper Input Validation” este prima intr-un top-ul 25 al organizatiei SANS referitoar la erorile facute in programarea aplicatiilor web. CWE ar trebui sa devina o referinta pentru toti programatorii mai ales ca organizatia MITRE ofera si exemple de programare, cit si considerente de implementare si arhitectura.

De weekend. Niste studenti din Austin au avut o idee geniala de a construi un dispozitiv cu care sa poata modifica textul afisat pe panourile de control al traficului anuntind un nou atac zombi. :-))

Am avut sansa intr-un audit, in care s-au intamplat multe si despre care poate o sa mai povestesc, sa fac un test de securitate pentru un domeniu Windows securizat foarte bine, unde Domain Controller-ele nu foloseau sau stocau parole in format LM Hash. Am reusit sa gasesc o statie care nu facea parte din procesul de patch regulat care era aplicat intregului domeniu. Pe aceasta statie am devenit administrator local si cu ajutorul hashdump-ului din meterpreter am reusit sa obtin parolele salvate pentru utilizatorii care s-au logat pe aceasta statie. Problema era ca politica de domeniu forta complexitatea si lungimea parolei. John the Ripper, dupa 62 de zile, nu a reusit sa obtina nici o parola.

62:04:57:04 – Expanding tables for length 8 to character count 38

62:04:57:04 – Trying length 8, fixed @7, character count 38

Solutia: Ce este un token de access al unui proces in windows?  Este un obiect care descrie contextul de securitate al unui proces. Mai multe despre token-uri aici . Ce se poate face cu aceste token-uri?  In momentul in care esti logat pe o statie si ai drepturi de SYSTEM poti sa impersonezi temporar unul din token-urile create de logarea unui administrator de domeniu si sa reusesti sa executi comenzi in contextul lui. Prezentarea de la Defcon 15 aici . Pentru asta exista suita de utilitare numita incognito . Ea este acum prezenta si in framework-ul 3.2 de la Metasploit. Optiunea find_token permite listarea token-urilor existente si optiunea execute permite lansarea unui executabil in contextul dorit.

Have fun next time. 😉

M-am hotarit din mai multe motive sa ofer celor de la ejobs o consultatie pro bono pentru a intelege care este cauza si sa arat si ce ar trebui sa faca ca sa poata evita o noua problema de securitate.

Ceea ce s-a intimplat este un caz standard de SQL Code Injection. Parametrul http://www.ejobs.ro/arhiva/2007/august/PARAMETRU%20union%20select … nu este verificat. Atunci cind este interogata baza de date ceva de genul „select asta, siasta from mydatabase where zi = PARAMETRU”,  este modificat acest select si completat cu „union all select 1, concat (nume coloana,:,altnume coloana) from companies limit by nr” .  In construirea acestui statement este foarte important sa se cunoasca numele coloanelor, si numele tabelei. Modul in care se poate obtine este ori daca aplicatia intoarce erori sql, sau prin metoda de brute force.

Ce s-ar fi putut face?

1). La nivel de limbaj de programare este datoria programatorului sa scrie statementul SQL in asa fel incit sa nu permita continuarea lui. Recomand tuturor o documentatie mai veche dar buna si acum.

2) Defence in depht . Ceea ce inseamna un application firewall de genul mod_security pentru Apache care sa filtreze stringurile de genul „union all select”.

3) Design Flow. Nici o aplicatie nu ar trebui sa stocheze parolele in clar. Se pot stoca in format hash (SHA1) si verificat hash-ul parolei user-ului cind acesta o introduce.

4) Awareness. Compania ar fi trebuit sa implice pe cineva specializat in securitate pentru a testa aplicatia. Oricum se pare ca ejobs nu are nici o procedura de incident management, pentru ca lucrul pe care il face acum este sa treaca totul sub tacere.

Pentu cei care dau peste asemenea erori de securitate: exista conceptul de responsible disclosure.

O zi minunata

Monster.com a patit-o big time in august 2007. cu toate astea, acum o saptamana au recidivat (SANS Internet Storm Center a  postat o nota despre frauda de la Monster.com) si prin urmare Monster a cerut utilizatorilor sa-si schimbe parola.

Concluzii:
– nimeni nu e …impenetrabil? 😀
– sper ca cei de la ejobs vor fi la fel de profesionisti ca si monster si vor informa utilizatorii (dar cum nici eu, nici nimeni din cei pe care ii stiu nu avem cont acolo, asta va fi greu de verificat)

Flash-back cauzat de postul lui Ionut Oprea via zoso.

Februarie 2009
L M M M V S D
« Ian   Mar »
 1
2345678
9101112131415
16171819202122
232425262728