Metasploit on avoimen lähdekoodin murtotestaustyökalu (tai työkalun sijasta pitäisi oikeastaan puhua kehyksestä eli frameworkista), jota käytetään tietoturvatarkastuksiin, murtotestauksiin ja hyökkäysten simuloimiseen. Metasploit sisältää erilaisia moduuleja, joita voidaan käyttää hyökkäysten toteuttamiseen ja haavoittuvuuksien löytämiseen.
Varoitus
Metasploitin käyttöön tarvitaan teknistä osaamista ja sen käyttö edellyttää vastuullisuutta ja eettistä harkintaa. Metasploitin avulla voi helposti aiheuttaa vahinkoa, jos sitä käytetään väärin. Vastuullisissa käsissä Metasploit on kuitenkin arvokas työkalu tietoturvan parantamiseen ja tietojärjestelmien suojaamiseen mahdollisilta hyökkäyksiltä.
Mikä ihmeen kehys?
Kehys tässä yhteydessä tarkoittaa koodipohjaa. Tarkkaan ottaen se tarkoittaa läjää uudelleenkäytettävää Ruby-koodia jonka avulla on näppärä tehdä lisää Ruby-koodia joka tekee kyberjuttuja. Erityisesti kehys on suunniteltu murtotestausta (penetration testing) varten.
Ei tarvitse osata Rubya!
Sinun ei tarvitse osata koodata Rubya käyttääksesi Metasploittia. Tutustumme kurssilla myös tällaiseen kustomointiin ja omien moduulien rakentamiseen, mutta Metasploitissa on jo valmiina tuhansia tällaisia moduuleja joilla pääset hyvin alkuun. Sitä paitsi, Metasploit tukee nykyään myös Python-laajennuksia.
Metasploitin arkkitehtuuri
Metasploit koostuu pääasiallisesti seitsemän tyyppisistä moduuleista: Exploitit, Payloadit, Auxiliaryt, Encoderit, Nopsit, Evasionit ja Post-exploitation moduulit.


Mikä on moduuli?
Moduuli on Ruby-tiedosto Metasploitin hakemistossa joka palvelee jotain tiettyä tarkoitusta.

Exploit moduulit
Metasploit Frameworkin yksi tärkeimmistä komponenteista ovat exploit-moduulit. Exploit-moduulit ovat ohjelmakomponentteja, joita käytetään haavoittuvuuksien hyödyntämiseen. Eli kun meillä in tietojärjestelmä jossa on haavoittuvuus, exploit-moduuli sisältää koodin joka osaa hyödyntää haavoittuvuutta ja tehdä jotain ei-toivottua palvelussa, kuten tyypillisesti ajaa mielivaltaista koodia palvelimella.
Tärkeä osa exploit-moduulia on payload eli hyötykuorma, toisin sanoen se "mielivaltainen koodi" joka äsken mainittiin.
Payload moduulit
Payload moduulit voivat olla erilaisia ja niillä voi olla eri tarkoituksia, vaikkakin ylivoimaisesti yleisin tarkoitus on vain ottaa palvelin haltuun etäyhteyden avulla ja jatkaa hyökkäystä siitä eteenpäin.
Kun ajat exploit-moduulia, valitset tyypillisesti aina payload-moduulin sen kaveriksi. Metasploit on modulaarinen kehys jonka eri "palikat" toimivat yhteen.
Auxiliary moduulit
Auxiliary moduulit tekevät vähän kaikennäköistä. Ne ovat erilaisia pieniä työkaluja jotka sopivat erilaisiin tilanteisiin. Voit esimerkiksi käyttää yhtä auxiliary moduulia kuuntelevien SSH-palveluiden etsimiseen verkosta, ja toista auxiliary moduulia salasanojen arvailuun kun SSH-palvelu löytyy. Näitä moduuleita on aika paljon.
Encoder moduulit
Encoder-moduuleihin palataan exploit-kehitys -kurssilla, et tarvitse niitä tällä kurssilla.
Post-exploitation moduulit
Post exploitation-moduulit ovat työkaluja joita käytät sen jälkeen kun olet saanut palvelimen haltuusi. Niillä voit esimerkiksi korottaa oikeuksiasi, edetä syvemmälle verkkoon tai kerätä tietoja palvelimelta.
Evasion -moduulit
Evasion-moduuleita käytetään suojaamaan (tyypillisesti) Metasploitin generoimaa koodia tulemasta havaituksi erilaisten virustorjuntajärjestelmien toimesta.
Nops -moduulit
Nops-moduuleihin palataan exploit-kehitys -kurssilla, et tarvitse niitä tällä kurssilla.
Metasploitin työkalut
Metasploit tarjoaa useita erilaisia työkaluja, joiden avulla käyttäjät voivat hallita ja käyttää Metasploit Frameworkin eri ominaisuuksia ja toiminnallisuuksia.
msfconsole
Msfconsole on Metasploit Frameworkin komentorivikäyttöliittymä (CLI), jonka avulla voit käyttää Metasploit Frameworkin toiminnallisuuksia ja ominaisuuksia komentoriviltä. Msfconsole on erittäin tehokas työkalu, ja vietät valtaosan kurssista tämän konsolin sisällä.
msfvenom
Msfvenom on Metasploit Frameworkin komentorivikäyttöliittymän (CLI) moduuli, joka mahdollistaa käyttäjien luoda mukautettuja hyötykuormia (payloads) erilaisiin käyttöjärjestelmiin ja sovelluksiin.
Msfvenom tarjoaa monia eri parametreja, joiden avulla voit määrittää hyötykuorman ominaisuudet, kuten kohdelaitteen käyttöjärjestelmän, hyötykuorman tyypin ja ohjelmointikielen. Msfvenom tukee useita eri ohjelmointikieliä, kuten C, C++, Python ja Ruby.
Tulet kurssin myötä tutuksi myös tämän työkalun kanssa.


Valmis ryhtymään eettiseksi hakkeriksi?
Aloita jo tänään.
Hakatemian jäsenenä saat rajoittamattoman pääsyn Hakatemian moduuleihin, harjoituksiin ja työkaluihin, sekä pääset discord-kanavalle jossa voit pyytää apua sekä ohjaajilta että muilta Hakatemian jäseniltä.