Seminar
Penetracijsko ispitivanje sigurnosti računalnog sustava
Ivan Tomić 0036399500 | FER | ZEMRIS | HOME |

7.3 Penetracija

Za penetraciju u sustav koristi se MSF. Koristi se komandno-linijsko sučelje. Iskorištavaju se neki od pronađenih propusta u prethodnom koraku. Propusti se iskorištavaju kako bi se dobile sistemske privilegije, a i da bi se pokazalo da je rezultat skeniranja pronađenog propusta bio točan.

Prvi propust koji se iskorištava je sigurnosni propust u RPC servisu na računalu na kojem je instaliran Windows 2003 Server. Iskorištavanje ovog sigurnosnog propusta omogućava izvođenje proizvoljnog koda na kompromitiranom računalu. Pronađeni propust i informacije o njemu prikazane su na slici 7.13.

Slika7_13
Slika 7.13: Pronađeni propust u RPC servisu

Drugi propust koji se iskorištava je greška u Microsoft IIS 5.0 Web poslužitelju na računalu na kojem je instaliran Windows 2000 Professional. Isto kao i prethodni propust, omogućava izvođenje proizvoljnog koda na kompromitiranom računalu. Pronađeni propust i informacije o njemu prikazani su na slici 7.14.

Slika7_14
Slika 7.14: Pronađeni propust u IIS 5.0 Web poslužitelju

Penetracija u sustav prikazana je kroz tri primjera. Prvi primjer je dolazak do komandne ljuske kompromitiranog računala. Drugi primjer je dobivanje potpune kontrole nad grafičkim sučeljem kompromitiranog računala. Treći primjer je korištenje Meterpretera za potpunu kontrolu kompromitiranog računala.

7.3.1 Primjer 1

U ovom primjeru iskorištava se propust u IIS 5.0 Web poslužitelju na računalu na kojem je instaliran operacijski sustav Windows 2000. Cilj je iskoristiti propust kako bi se dobila komandna ljuska kompromitiranog računala i s time potpuna kontrola nad tim računalom.

U MSF-u se postavljaju sljedeći parametri: (Slika 7.15)

  • exploit: windows/iis/ms01_023_printer
  • payload: windows/shell/bind_tcp
  • IP adresa udaljenog računala: 192.168.1.111
  • podržana meta napada: 0

Za sve ostale parametre koriste se standardne opcije.

Slika7_15
Slika 7.15: Postavljanje potrebnih parametara

Nakon što su postavljeni svi parametri exploit se pokreće naredbom exploit. Nakon što se exploit uspješno izvrši dobije se komandna ljuska računala na kojem je instaliran operacijski sustav Windows 2000. (Slika 7.16)

Slika7_16
Slika 7.16: Rezultat izvođenja exploita

Kao dokaz da je dobivena komandna ljuska baš komandna ljuska računala s IP adresom 192.168.1.111 izvodi se naredba ipconfig /all. Rezultat izvođenja ove naredbe u dobivenoj komandnoj ljusci prikazan je na slici 7.17.

Prema slici se vidi da je dobivena komanda ljuska stvarno komanda ljuska računala s IP adresom 192.168.1.111. S ovime je dokazano da je exploit uspješno izvršen, te da je pronađeni propust stvarna prijetnja za ovo računalo.

Slika7_17
Slika 7.17: Rezultat izvođenja naredbe ipconfig /all

7.3.2 Primjer 2

U ovom primjeru iskorištava se pronađeni propust u RPC servisu na Windows 2003 poslužitelju. Propust se iskorištava kako bi se dobila potpuna kontrola nad računalom preko grafičkog sučelja.

U MSF-u se postavljaju sljedeći parametri: (Slika 7.18)

  • exploit: windows/dcerpc/ms03_026_dcom
  • payload: windows/vncinject/bind_tcp
  • IP adresa udaljenog računala: 192.168.1.110
  • podržana meta napada: 0

Za sve ostale parametre koriste se standardne opcije. Odabrani payload omogućuje ubacivanje VNC DLL poslužitelja u memoriju iskorištenog procesa.

Slika7_18
Slika 7.18: Postavljanje potrebnih parametara

Nakon što su postavljeni svi parametri exploit se pokreće naredbom exploit. Rezultat uspješnog izvođenja exploita je dobiveno grafičko sučelje računala nad kojim je pokrenut exploit. (Slika 7.19)

Slika7_19
Slika 7.19: Dobiveno grafičko sučelje uspješnim izvršavanjem exploita

Osim grafičkog sučelja dobivena je i potpuno funkcionalna komandna ljuska. Pomoću komandne ljuske moguće je npr. dodati novog korisnika. Tog novog korisnika moguće je dodati u lokalne sistemske administratore i s novostvorenim korisnikom prijaviti se na sustav preko dobivenog grafičkog sučelja.

Kao primjer dodaje se novi korisnik pod imenom PENtest. Novi korisnik se dodaje naredbom net user PENtest /add, a naredbom net localgroup administrators PENtest /add korisniku se daju prava lokalnog administratora sustava. (Slika 7.20)

Slika7_20
Slika 7.20: Dodavanje novog korisnika

Nakon što je novi korisnik uspješno dodan moguće se je prijaviti na sustav koristeći podatke od korisnika koji je upravo stvoren. Kao korisničko ime unosi se PENtest, a korisnička lozinka ostaje prazna. (Slika 7.21)

Slika7_21
Slika 7.21: Prozor za prijavu na kompromitirano računalo

Nakon prijave dobivena je potpuna kontrola nad grafičkim sučeljem sustava, s administratorskim pravima. S ovime je dokazano da pronađeni propust predstavlja stvarnu sigurnosnu prijetnju.

7.3.3 Primjer 3

I u ovom primjeru iskorištava se pronađeni propust u RPC servisu na Windows 2003 poslužitelju. Kao payload koristi se meterpreter kako bi se dobila potpuna kontrola nad sustavom.

U MSF-u se postavljaju sljedeći parametri: (Slika 7.22)

  • exploit: windows/dcerpc/ms03_026_dcom
  • payload: windows/meterpreter/bind_tcp
  • IP adresa udaljenog računala: 192.168.1.110
  • podržana meta napada: 0

Za sve ostale parametre koriste se standardne opcije.

Slika7_22
Slika 7.22: Postavljanje potrebnih parametara

Nakon postavljenih parametara exploit se pokreće naredbom exploit. Kao rezultat dobije se meterpreter komandna ljuska. (Slika 7.23)

Slika7_23
Slika 7.23: Rezultat izvođenja exploita

Nakon što se uspješno dobije komandna ljuska meterpretera ostvarena je potpuna kontrola nad kompromitiranim sustavom. Meterpreter ljuska pruža veliki izbor akcija koje je moguće provesti na kompromitiranom računalu.

Pomoću meterpretera moguće je pokrenuti bilo koji program koji se nalazi na disku kompromitiranog računala. Jedina mana ovoga je da se pokrenuti program ne može sakriti od liste procesa na sustavu. Proizvoljni program moguće je pokrenuti pomoću naredbe execute s odgovarajućim parametrima. Komandnu liniju moguće je pokrenuti na sljedeći način: execute –f cmd.exe –i. (Slika 7.24)

Slika7_24
Slika 7.24: Komandna ljuska na kompromitiranom računalu

Da se dobije popis trenutno aktivnih procesa na kompromitiranom sustavu potrebno je izvršiti naredbu ps. (Slika 7.25)

Slika7_25
Slika 7.25: Ispis svih aktivnih procesa

Moguće je i terminirati pokrenuti proces. Naredbom kill 1376 terminira se pokrenuta komandna ljuska, gdje je 1376 dobiveni procesni identifikator za pokrenuti program. (Slika 7.26)

Slika7_26
Slika 7.26: Terminiranje procesa

Jedna od zanimljivih mogućnosti meterpretera je mogućnost migriranja samog meterpretera s iskorištenog procesa na neki drugi aktivni proces. To se jednostavno obavlja naredbom migrate. Npr. moguće je migrirati meterpreter na lssas.exe izvođenjem naredbe migrate 520 (520 je identifikator za lssas.exe). Migriranjem na lssas.exe osigurava se da se meterpreter može terminirati jedino ako se resetira kompromitirano računalo. (Slika 7.27)

Slika7_27
Slika 7.27: Migracija meterpretera
Prethodna
Gore
Sljedeca
© 2008 Ivan Tomić