Metasploit

From EIK wiki

Metasploit on avatud/vaba lähtekoodiga turvaprojekt, mis pakub informatsiooni turva probleemides ja abistab penetratsioon testimistes ning IDS signatuuride arenduses. Selle tuntuim alamprojekt on Metasploit Framework, tööriist millega saab arendada ja käivitada koodi, mis suudab ärakasutada mõnda kindlat arvuti turvaauku. Metasploit on samuti hästi tuntud ka anti-kriminalistika tööriistana. Metasploit on loojaks on HD Moore aastal 2003. Esialgu oli see niiöelda kaasaskantav võrgu tööriist kasutades Perl skriptimiskeelt. Hiljem Metasploit Framework oli ümberkirjutatud Ruby programmeerimiskeeles. Lisaks on tegu tööriistaga kolmanda osapoole turvaekspertide jaoks uurimaks potentsiaalseid süsteemi nõrkusi. 21.oktoobril 2009 Metasploit Project teavitas, et on kolinud turvafirma Rapid7 alla, mis on pühendunud turvaprobleemide haldusele ja lahenduste leidmisele. Metasploit Project’il on mitu erinevat tarkvara väljalaset – üks on tasuta ja teised on tasulised ning üks on prooviajaga. Ennem väike sissejuhatus, mis on exploit ja payload ning muud terminid.

Nõrkused ja turvaaugud

Nõrkus/haavatavus on turvauk mõnes tarkvaras, riistvaras või operatsioonisüsteemis, mis pakub potentsiaalse võimaluse rünnakuks mõnele arvutisüsteemile. Turvaauguks võib olla kas või lihtne nõrk parool või keeruline puhvi ülevooluvus (buffer overflow) või SQL süstmise võimalikkus. Testimaks, et kas on süsteemis haavatavusi, kasutatakse harilikult mõnda nõrkuste haldamise lahendust, näiteks nõrkuste/turvaaugu skänner. Üks tasuta skänner on näiteks NeXpose Community Edition, mis on üks Metasploit’i üks kõrvalprojekte.

Mis on Exploit?

Nõrkuse ära kasutamiseks on vajalik ekspluateerimine. Selleks on väike aga kõrgelt spetsialiseeritud programm ehk exploit, mille ainus eesmärk on kindla nõrkuse ära kasutamine ja anda ligipääs arvutile. Metasploit Project’il on maailma suurim avalik andmebaas kvaliteetsetest exploitidest, mida pidevalt uuendatakse ja täiendatakse. Isegi nimi Metasploit tuleneb sõnast „exploit”. Metasploit oli esimene tarkvara pakkumaks ühist baasi suure valikuga exploitide jaoks.

Mis on Payload?

Payload on tükike tarkvara, mis lubab ründajal arvutit kontrollida, pärast kui arvuti nõrkus on ekspluateeritud. Payload on tavaliselt seotud ja kohaleviidud exploit’i poolt. Visuaalselt on asi sarnane mõttele, et exploit kannab seljakotti payload’idega, murrab süsteemi sisse ja jätab selle seljakoti sinna sisse. Metasploiti kõige popluaarsem payload on Meterpreter, mis lubab igasuguseid põnevaid asju teha rünnataval arvutil. Näiteks, saab üles- ja allalaadida faile süsteemis, võtta ekraani kuvatõmmiseid ja koguda paroolide räsisid. Saad isegi ülevõtta arvuti ekraani, hiire ja klaviatuuri. Võimalusel saab isegii näiteks sülearvuti veebikaamera käivitada ja vaadata arvutitaga toimuvat.

Turvaeksperdid ja –uuringud

Nõrkused tavailselt leitakse turvaekspertide poolt. Nemad on sellised targad inimesed, kellele meeldib leida vigu süsteemides ja siis neid süsteeme läbi selle maha murda või enda jaoks ära kasutada. Firmas Rapid7 on rühm turvaeksperte, kes ei tee midagi muud terve päeva jooksui kui vigu välja otsida. See tegevus on väga lõbus, kes oskavad seda hinnata. Nagu penetratsioon testimine, turvauuringuid annab ära kasutada nii heas kui ka halvas. Mõned riigid ei tee nendel üldse vahet ja keelustavad ära kõik turvauuringud, seega tasub alati riigi seadusi uurida, ennem kui alustad oma uuringutega ja eriti ennem kui avalikustad oma uuringu tulemused.

Metasploit Framework

Põhilised sammud süsteemi ekspluateerimiseks ehk ründamiseks kasutades Frameworki – 1) Valides ja seadistades ’’nõrkust’’ ehk exploit’i (kood, mis siseneb sihtmärksüsteemi kasutades ära mõnda selle vigadest. Umbes 300 erinevat nõrkust on Windowsil, Unix’il ja Mac OS X’il kokku). 2) Kontrollida, et kas kindel süsteem on kaitstud antud nõrkuse eest. 3) Valides ja seadistades ’’payload’’ ehk koodi, mis käivitatakse süsteemis, kui sinna on edukalt suudetud siseneda peale nõrkuse ära kasutamist. 4) Valides ja seadistades kodeerimise viisi kodeerimaks ’’payload’i’’, et rünnaku vastased süsteemid ei takistaks kodeeritud ’’payload’’ koodi. 5) Käivitada nõrkus ehk ’’exploit’’. Selline modulaarsus võimaldab kobineerida erinevaid nõrkusi erinevate ’’payload’’-dega, mis on suur eelis Framework’il. See hoiustab ründajate, exploit’ide ja payload’ide kirjutate tegevusi. Kõik Metasploit Framework versioonid alates 3.0 kirjutatakse Ruby programmeerimiskeeles. Eelnevad versioonid on kirjutatud kasutades Perl’i. Framework töötab kõigil Unix’i versioonidel (kaasaarvatud Linux ja Mac OS X) ja samuti Windows’is. See sisaldab kahte käsurea tööriista, veebi põhist kasutajaliidest ja ka eraldi graafilist kasutajaliidest. Veebipõhine kasutajaliides on mõeldud käivitamiseks from ründaja arvutist. Kasutamaks mõnda exploit’i ja payload’i, peab olema kogutud informatsiooni rünnatavast süsteemist, näiteks millise operatsioonisüsteemiga on tegu ja millised võrguteenused on paigaldatud. Sellist informatsiooni saab harilikult hankida pordi skänneerimisega ja OS tuvastussüsteemidega näiteks „nmap”. Nõrkuste skännerid näiteks „NeXpose” või „Nessus” saavad tuvastada rünnatava masina nõrkusi. Metasploit Framework’is saab importida nõrkuste skäneeringu informatsiooni ja võrrelda seda teadaolevate nõrkustega ja exploit’idega, et panna kokku korralik nõrkuste ära kasutamine ja ründamine.

Metasploit Community Edition

Oktoober 2011 Rapid7 lasi välja Metasploit Community Edition’i, mis on tasuta, veebipõhine kasutajaliides Metasploit’ile. See versioon põhineb tasuliste versioonide koodil kuid vähendatud funktsionaalsusega, kaasaarvatud võrgu skänneerimine, moodulite uurimine ja käsitsi nõrkuste ära kasutamine.

Metasploit Express

Aprill 2010 Rapid7 lasi välja Metasploit Express’i, avatud-tuumaga tasulise versiooni turvarühmadele, kes vajavad kinnitusi nõrkuste olemasoludele. Ehitatud Metasploit Framework põhjal, pakub graafilist kasutajaliidest, sisaldab „nmap”’i võrgu avastamsieks, tarka jõuvõtete kasutamist ehk „smart bruteforcing” ja samas ka automaatsed tõendite kollektsioneerimist.

Metasploit Pro

Oktoober 2010 Rapid7 lasi välja Metasploit Pro, avatud-tuumaga tasuline versioon penetratsiooni testijatele. See sisaldab endas kõiki võimalusi, mis Metasploit Express ja lisab veebi applikatsiooni skänneerimiseks ja ekspluateerimiseks ning veel palju muid pisemaid tööriistu. Metasploit Pro on saadaval ka 7 päevase prooviversioonina.

Opcode Database

Opcode Database on oluline ressurss uute exploit’ide kirjutajatele. Buffer overflow nõrkused Windows’il tihti peale vajavad täpseid teadmisi, kus asuvad programmide nõrkused ja samuti DLL failid rünnatavas masinas. Kõik selliseid informatsioonid on olemas Opcode andmebaasis, mis siis aitab exploit’ide kirjutajal ära kasutada buffer overflow nõrkusi erinevatel operatsioonisüsteemidel.

Shellcode Database

Shellcode andmebas sisaldab payloade (samuti tuntud kui käsurea koodid) mida kasutatakse Metasploit Framework’is. Need on kirjutatud assembler programmeerimis keeles ja täielik lähtekood on avalik.

Kasutatud materjal

Autor

Urmo Lihten A21 2011