IPRO - PC Magazine Romania, Decembrie 2003
SOLUŢII PENTRU PROGRAMATORII ŞI DESIGNERII WEB
Securitatea Reţelei
Alexandru Ioan Lazăr
Instrumente (2) - Tux&Co
Vorbisem data trecută despre scanere, programe care scanează o maşină-ţintă
şi întorc informaţii despre ea. Scanerele sunt indispensabile oricărui hacker
sau cracker - dar în acelaşi timp sunt necesare administratorilor. În fond,
cum ar putea un administrator să-şi prote☺eze reţeaua dacă nu ştie care îi sunt
vulnerabilităţile?
Totuşi - cum probabil ţi-ai imaginat - un hacker nu-ţi va face rău doar cu
un scanner. Ai văzut data trecută că informaţiile întoarse de ma☺oritatea scannerelor
nu dau decât informaţii restrânse - o ,,hartă" a serviciilor, cel mult
prezenţa unei vulnerabilităţi în sistemul ţintă (care uneori poate nici să nu
fie prezentă). Evident, un spărgător va avea nevoie şi de alte instrumente…
Scamatoriile lui Tux
Cei mai mulţi hackeri sau crackeri folosesc Linux. Asta e clar - şi normal,
de vreme ce Linux este gratuit, sigur din unele puncte de vedere, rapid online
şi offline, şi dispune de foarte multe compilatoare şi interpretoare. Unii folosesc
SunOS (excelent sistem, dar cam greu de procurat în România).
Am citit pe usenet despre oameni care folosesc Plan 9 (de la Bell Labs) sau
chiar Windows XP (care este mai sigur ca până acum). Când vreau să-mi ,,testez"
reţeaua, eu unul folosesc Linux Slackware, iar serverele web şi ftp rulează
Debian - alegerea e a fiecăruia. Ei bine, toate aceste sisteme (mai puţin WinXP,
care are nevoie de instrumente 3rd party) au în comun o serie de utilitare mai…
speciale ☺.
Degetul lui Tux
Sau finger (nu-i aşa că sună aiurea?). Finger poate fi folositor unui hacker,
din mai multe motive. Haideţi să vedem întâi ce a întors comanda aceasta asupra
unei maşini din reţeaua mea (este vorba de un calculator pe care rulează Red
Hat 5, domeniul test.ro este fictiv)…
# finger @rh5target.test.ro
Login name: root
Directory /
Last login Mon Oct 06 6:33
No plan
In real life:
Phone: 6536030
Email: root@mailtest.test.ro
Shell: /sbin/sh
Prima linie arată sintaxa comenzii. Aici, @ ţine locul caracterului * din cazul
expresiilor regulate. Comanda finger întoarce informaţii legate de contul de
utilizator - ultima logare, directorul home, shell-ul folosit, precum şi informaţiile
din fişierul .plan - un fişier ,,ascuns", propriu fiecărui utilizator.
Cum s-ar putea folosi un atacator de aceste date? La prima vedere, nu e nimic
interesant de văzut. Şi totuşi:
- Primele două linii dezvăluie numele utilizatorului logat şi directorul
său. Fiind vorba de root, probabil că e un administrator, deci un atacator
nesinucigaş ar amâna momentul atacului (nu întotdeauna; dacă root nu e administrator,
aceasta e o greşeală gravă de configurare pe care spărgătorul o va exploata
sigur). De asemenea, prin interogări repetate, atacatorul poate afla nume
de utilizator valide - şi apoi poata afla o parte din structura de directoare.
- Linia a treia arată atacatorului când s-a logat utilizatorul root. Folosind
mai multe interogări finger, el poate afla "agenda" acelui utilizator
- şi îşi poate da seama când sunt şanse mici să existe un administrator logat,
pentru a declanşa atacul.
- A şasea linie dovedeşte nevoia unei parole sigure. Dacă aş încerca să obţin
acces de la distanţă la acea maşină, numărul de telefon ar fi printre primele
parole pe care le-aş încerca.
Reţineţi că finger nu e disponibil în toate versiunile Linux/UNIX - din motivele
enumerate mai sus, unele distribuţii nu includ demonul finger. Unele îl includ
(Red Hat 9 de exemplu) dar trebuie să creaţi manual fişierul .plan (se găseşte
în directorul fiecărui utilizator).
Finger este folosit în special în mediile academice sau pentru a oferi mai
multe informaţii despre un server (împătimiţii FTP au văzut, desigur, mesa☺ul
finger for more info care sugerează o comandă finger pentru a afla mai multe
informaţii). Eu recomand însă dezactivarea totală a serviciului finger (chiar
dacă nu există un fişier .plan, finger va arăta unele informaţii, de exemplu
numele utilizatorului logat, deci poate dezvălui nume de utilizator valide).
Dacă finger vă este neapărat necesar, folosiţi măcar un demon special - rfingerd
sau cfinger (ultimul e recomandat).
Gazda lui Tux
Vi s-a părut că finger nu este ceva nesigur? Staţi să vedeţi utilitarul host…
Host întoarce informaţii despre un calculator-gazdă din Internet. Mi se pare
a fi cel mai periculos utilitar (deşi vor fi destui care să sară şi să-mi spună
că nu e aşa). Iată un fragment din fişierul generat de comanda host: vezi
pe CD-ROM-ul revistei, în directorul /surse/ipro01.txt.
...care demonstrează şi puterea emulatoarelor, domeniul test.ro nu este real,
face parte dintr-o reţea virtuală. La prima vedere, nu poate fi cine ştie ce
pericol acolo. Totuşi, iată la ce mă gândesc eu când văd aceste înregistrări ☺:
- Test.ro, wtarg.test.ro şi wtargii.test.ro folosesc Win95. Dacă există directoare
partajate în reţea, eu le-aş putea vedea conţinutul prin declararea mea ca
guest.
- Rh5targ.test.ro. Am făcut o greşeală când am dat numele acesta: am dezvăluit
că pe calculatorul acela rulează Red Hat 5. Iată cum am dezvăluit date despre
reţeaua mea. Rh5targ.test.ro este o ţintă potenţială - e posibil ca serviciul
de protecţie a parolelor prin shadowing să nu fie activ. Aceeaşi greşeală
şi cu slack.test.ro - există o şansă serioasă ca slack.test.ro să ruleze Linux
Slackware.
- Dacă există relaţii de încredere, aş putea lansa un atac prin imitare IP
(ca şi Kevin Mitnick). Mă îndoiesc că aceste relaţii există între vmstest.test.ro/
mactarg. test.ro şi alte staţii - dar e posibil ca ele să existe în cazul
staţiilor cu Windows 95.
- Dacă aş vrea să-mi fac de cap prin reţea, aş încerca în primul rând să
sparg una din staţiile cu Windows 95. Win95 nu are, în stare nativă, suport
pentru consemnarea logărilor - de aceea aş putea sa lucrez aproape nestingherit
pe acea staţie pentru a putea afla mai multe date despre reţea (deşi, dată
fiind puterea sistemului Windows 95 în reţea…).
Pikamere pentru Tux ...
Să presupunem că cineva a pătruns în sistemul dumneavoastră şi a reuşit să
fure fişierul /etc/passwd (Linux) sau vreun fişier .pwl (Win9x). Credeţi că
a reuşit total?
La drept vorbind, dacă a reuşit să fure acel fişier, e "tare", dar
nu e destul. Trebuie să le mai şi spargă, altfel n-a făcut nimic (reţineţi că
un fişier poate fi furat chiar fără ca atacatorul să ştie vreun nume de utilizator
şi vreo parolă). Din păcate (pentru el, din fericire pentru noi…), orice
fişier care conţine parole este criptat.
De aceea, el va trebui să folosească un spărgător de parole. Schema de criptare
nu-i va permite să spargă orice fişier. De altfel, aşa ceva e imposibil. S-a
găsit însă o soluţie: folosirea unui dicţionar de parole.
Un program care sparge parole va lua, pe rând, fiecare cuvânt dintr-un fişier-dicţionar,
şi îl va compara cu parola (tehnică numită şi brute force - forţă bruta). Dacă
un cuvânt din dicţionar corespunde cu parola, programul îi va da atacatorului
parola respectivă, şi atacul va putea fi continuat. Să vedem cât de bune au
fost parolele mele ... vezi pe CD-ROM-ul revistei, în directorul /surse/ipro02.txt.
Mai pe scurt, The Password Cracker (scris de Alec Muffet, cel mai "tare"
program de spart parole) mi-a făcut parolele de ruşine, ghicind una dintre ele.
Mai grav e faptul că parola spartă era cea a utilizatorului root (admin mai
sus), ceea ce înseamnă că oricine o are va putea să-şi facă de cap prin reţeaua
mea.
Există o multitudine de instrumente care pot face aşa ceva (eu unul am găsit
peste 200 numai pentru spart parole Linux…), dar mă voi abţine să prezint
aici link-urile - sunt puţine situri legale care le găzduiesc, chiar dacă deţinerea
şi utilizarea lor în scopuri nefrauduloase sunt perfect legale.
Celelalte scamatorii ...
OK, cam atât pentru azi. Mai multe informaţii pe această temă veţi putea găsi
pe Internet, în trei locuri: USENET, ftp şi multe situri de prin underground-ul
Internetului.
Înarmaţi-vă cu răbdare şi, pentru liniştea mea, citiţi de trei ori legislaţia
înainte să faceţi ceva ce eu am descris până acum.
Mult noroc!
|