← Back to Penetration testing
H2 DORA the Explora
Tekijä: Aapo Tavio
Pohjana Tero Karvinen 2026: Tunkeutumistestaus 2026 kevät, Tunkeutumistestaus
h2 DORA the Explora
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: Standard 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
-
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. Lisää mukaan jokin oma havainto, idea tai kysymys)
-
DORA (Digital Operations Resilience Act) on EU:n säätämä asetus
-
Astui voimaan tammikuussa 2025
-
Suomessa valvontaa harjoittaa Finanssivalvonta
-
-
TIBER-EU antaa suosituksia red teamin testaukseen
- Euroopan keskuspankki julkaisijana
-
TIBER-FI on Suomen Pankin kansallinen versio
- Pohjana toimivat TIBER-EU ja DORA
(Buuri 2026. URL: DORA and TLPT testing - Lecture for Haaga-Helia on 31 March 2026)
-
DORA asetuksen artikla 26 asettaa vaatimuksen kolmen vuoden välein suoritettavasta TLPT (Threat Led Penetration Testing) prosessista rajaukseen kuuluville rahoituslaitoksille
-
Paikallinen viranomainen voi erikseen määrätä prosessin suoritettavan tiheämmin tai harvemmin
-
Kolmannen osapuolen järjestelmät, prosessit ja teknologiat voivat kuulua myös soveltuvin osin TLPT prosessiin
-
-
DORA asetuksen artikla 27 määrittää TLPT prosessiin osallistuvien testaajien vaatimuksista
- Rahoituslaitoksen käyttäessä sisäisiä testaajia, tulee heidän täyttää lisävaatimuksia verrattuna ulkoisiin testaajiin
-
Lisäksi artiklassa 27 säädetään vaatimuksesta sopimukseen ulkoisien testaajien kanssa
- Sopimuksessa tulee varmistaa, että TLPT ei aiheuta vahinkoa rahoituslaitoksille
(European Union. URL: DORA)
-
Red team testing
-
Ensimmäinen vaihe on RTTP:n (Red team test plan) luominen
-
Tämän jälkeen CT:n (Control team) ja TM:n (Test manager) on hyväksyttävä RTTP
- Hyväksynnän jälkeen alkaa varsinainen testausvaihe
-
-
Testausvaiheessa edetään kybertappoketjun mukaisessa järjestyksessä
-
Jos etenemispolkuja ei löydy kunnolla, voi laitos tai TIP (Threat Intelligence Provider) antaa lisätietoja red teamille
-
(Suomen pankki. URL: TIBER-FI)
a) Asenna Metasploitable 2 virtuaalikoneeseen.
Tein kohdan jo ennen kuin tehtävänanto tuli julkiseksi, koska aloitin a ja b kohtia jo tunnilla. Kerron näistä kohdista sen mitä muistan.
Latasin Metasploitable 2:n sourceforgen sivuilta (rapid7user. URL: Metasploitable2). Tämän jälkeen liitin sen pyörimään virtmanagerin ja qemun avulla.
b) Tee Kalin ja Metasploitablen välille virtuaaliverkko. Jos säätelet VirtualBoxista
- Kali saa yhteyden Internettiin, mutta sen voi laittaa pois päältä
- Kalin ja Metasploitablen välillä on host-only network, niin että porttiskannatessa ym. koneet on eristetty intenetistä, mutta ne saavat yhteyden toisiinsa
Tein kohdan jo ennen kuin tehtävänanto tuli julkiseksi, koska aloitin a ja b kohtia jo tunnilla. Kerron näistä kohdista sen mitä muistan.
Tein virtmanagerin kautta uuden virtuaalisen verkon, jonka määritin eristetyksi (isolated). Poistin myös DHCP:n käytöstä, koska halusin tehdä pienen verkon ja määrittää osoitteet manuaalisesti. Tein verkon verkkomaskilla/prefixillä 29, jolloin siihen mahtuu yhteensä 8 erilaista IP-osoitetta mukaanlukien mahdollinen oletusyhdyskäytävä (default gateway) sekä broadcast-osoite.

Kuva 1. Uuden virtuaaliverkon asetuksia
Vaihdoin metasploitable 2:n ja Kalin verkkokortit luomaani uuteen verkkoon. Kokeilin pingata erilaisia kohteita sisäverkossa sekä ulkoverkossa. Huomasin, että nykyisillä konfiguraatioilla sain yhteyden host koneesta virtuaalikoneisiin, mutta virtuaalikoneista ei saanut yhteyttä host koneeseen. Tämä olisi varmaan ollut ihan sopiva konfiguraatio, mutta halusin vielä eristää enemmän virtuaalikoneet ja evätä yhteyden host koneesta virtuaalikoneisiin.
Poistin ip-osion host koneeni tiedostosta, joka määrittelee xml-muodossa virtuaalisen verkon ominaisuudet. Tiedoston tiedostopolku oli /etc/libvirt/qemu/networks/metasploitable2-lab.xml. Tällöin sain poistettua IP-osoitteen host koneeni virtuaalisesta bridge verkkokortista, joka toimi ikään kuin reitittimenä.

Kuva 2. Virtuaalisesta bri/assets/images/penetration-testing/d/assets/images/penetration-testing/gestä löytyi vain MAC-osoitteet
Määritin vielä manuaalisesti IP-osoitteet Kalille ja metasploitable 2 koneille. Lisäksi tein uuden verkkokortin virtmanagerin kautta Kalille, jonka liitin normaaliin “default” NAT verkkoon, jotta saan internet yhteyden Kaliin halutessani.

Kuva 3. Kalin kaksi verkkokorttia network managerin GUI:n valikossa
c) Harjoittelemme omassa virtuaaliverkossa, jossa on Kali ja Metaspoitable. Osoita testein, että 1) koneet eivät saa yhteyttä Internetiin 2) Koneet saavat yhteyden toisiinsa.
2.4.2026 14:36
Kokeilin pingata googlen dns-palvelinta Kalilla, jossa minulla oli vain metasploitablen verkkokortti ylhäällä.

Kuva 4. NAT-verkkokortti oli alhaalla
Googlen nimipalvelimen IPv4-osoite oli 8.8.8.8.

Kuva 5. Vastaus pingin ajamiseen
Googlen nimipalvelimelle ei saanut yhteyttä, kuten ylläolevasta kuvasta ilmenee.
Seuraavaksi oli metasploitablen vuoro yrittää pingata googlen nimipalvelinta.

Kuva 6. Vastaus pingin ajamiseen
Metasploitable ei saanut yhteyttä myöskään googlen nimipalvelimelle, joka oli toivottavaa.
Pingasin seuraavaksi metasploitablesta Kaliin.

Kuva 7. Vastauksessa 0 prosenttia pakettien katoamista
Yhteys toimi metasploitablesta Kaliin, joten tein vielä pingin toisin päin Kalista metasploitableen.

Kuva 8. Pakettien katoamisia jälleen 0 prosenttia
Yhteys onnistui jälleen TCP/IP pinon fyysisen, link ja verkon tasoissa ping komennolla.
d) Etsi Metasploitable porttiskannaamalla (nmap -sn). Tarkista selaimella, että löysit oikean IP:n - Metasploitablen weppipalvelimen etusivulla lukee Metasploitable.
3.4.2026 11:36
Skannasin nmapilla metasploitablen komennolla
$ nmap -sn 192.168.100.251 #-sn valinta ei suorita porttiskannausta vaan ainoastaan host discoveryn
(Valinnan lähteenä Nmap virallinen manuaali Kali Linuxin terminaalissa. Komento: man nmap)
Löysin skannauksella metasploitablen.

Kuva 9. Nmap skannauksen vastaus
Vastauksessa näkyy “host is up”, joten nmap sai vastauksen metasploitablelta. Seuraavaksi katsoin web-palvelimen etusivun firefox-selaimella.

Kuva 10. Metasploitablen web-palvelimen etusivu
Etusivukin löytyi selaimella IP-osoitteesta 192.168.100.251.
e) Porttiskannaa Metasploitable huolellisesti ja kaikki portit (nmap -A -T4 -p-). Poimi 2-3 hyökkääjälle kiinnostavinta porttia. Analysoi ja selitä tulokset näiden porttien osalta. Voit hakea analyysin tueksi tietoa verkosta, muista merkitä lähteet.
3.4.2026 12:17
Porttiskannasin metasploitablen kaikki portit komennolla
$ sudo nmap -A -T4 -p- 192.168.100.251 #-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), valinta -p- skannaa kaikki portit
(Valintojen lähteenä Nmap virallinen manuaali Kali Linuxin terminaalissa. Komento: man nmap)
SSH demoni
Kohdekoneessa oli todella paljon aukinaisia portteja ja demoneita pyörimässä, iso osa myös sellaisia, joista en juurikaan mitään vielä tiennyt. Portti 22 oli kuitenkin auki, jossa nmapin mukaan pyöri ssh-demoni. Mielestäni ssh on hyökkääjän kannalta olennainen demoni, koska sillä voi saada shellin käyttöön kohdekoneelta. Tällöin voi päästä käsiksi kaikkiin resursseihin koneella yhtä yhteyttä käyttäen. Lisäksi tiedonsiirto tapahtuu salattuna, joten IDS/IPS ratkaisut voivat jättää helpommin haitallisen toiminnan havaitsematta.

Kuva 11. Metasploitablen ssh-demoni havaittu nmap-työkalulla
Kuvassa:
-
22/tcp
- Portin numero ja käytettävä OSI-pinon siirtoprotokolla
-
open
- Portin tila on avoinna
-
ssh
- Palvelu/demoni portissa
-
OpenSSH 4.7p1 Debian 8ubuntu1 (protocol 2.0)
- Ssh:n versio
-
ssh-hostkey 1024 60:0f:cf:e1:c0:5f:6a:74:d6:90:24:fa:c4:d5:6c:cd (DSA)
-
Ssh:n julkisen avaimen pituus bitteinä (1024)
-
Julkisen avaimen sormenjälki (fingerprint) heksatavuina
-
Käytettävä avaimen muodostus algoritmi (DSA = Digital Signature Algorithm)
-
-
2048 56:56:24:0f:21:1d:de:a7:2b:ae:61:b1:24:3d:e8:f3 (RSA)
-
Toinen avain jonka pituus on 2048 bittiä
-
Julkisen avaimen sormenjälki (fingerprint) heksatavuina
-
Avaimen muodostus algoritminä RSA (Rivest-Shamir-Adleman)
-
(Ssh-hostkey formaatin lähteenä Stack Exchange Inc. URL: What is a SSH key fingerprint and how is it generated?)
FTP demoni
Päätin ottaa tarkasteluun toiseksi demoniksi FTP (File Transfer Protocol) palvelun. Päädyin ratkaisuun, koska huomasin porttiskannauksen sisältävän jo tiedon anonyymin kirjautumisen mahdollisuudesta.

Kuva 12. Nmap skannauksen vastaus ftp demonista
Kuvassa:
-
21/tcp
-
Porttinumero oli 21
-
OSI-pinon siirtoprotokollana toimi tcp
-
-
open ftp
- portin tila (auki) ja demonin nimi (ftp)
-
ftp-syst ja STAT
- Nmap on lähettänyt FTP SYST ja STAT komennot jotka voivat tarjota lisää tietoa järjestelmästä
(Nmap. URL: ftp-syst NSE script Nmap Scripting Engine documentation)
-
Logged in as ftp
- Nmap oli saanut yhteyden demoniin käyttäjänä ftp
-
No session bandwith limit
- Käyttäjän istunnolla ei ole tiedonsiirtorajaa
-
Session timeout in seconds is 300
- Aika sekunteina, jonka jälkeen palvelu kirjaa automaattisesti käyttäjän ulos (Oletan uloskirjautumisen perustuvan passiivisuuteen)
-
Control connection is plain text
- Komennot ja tiedonvaihto hallintakanavaa hyödyntäen ovat salaamatonta tekstiä (Salattuun versioon tarvitsisi SFTP tai FTPS palvelun)
-
Data connections will be plain text
- Varsinainen datan siirto datakanavaa hyödyntäen tapahtuu myöskin salaamattomana (Salattuun versioon tarvitsisi SFTP tai FTPS palvelun)
-
vsFTPd 2.3.4 - secure, fast, stable
- FTP demonin versio
-
ftp-anon: Anonymous FTP login allowed (FTP code 230)
-
Käyttäjänä “anonymous” kirjautuminen on sallittu
-
Nmap on onnistunut kirjautumaan käyttäjänä “anonymous” koska FTP koodi on 230, joka tarkoittaa hyväksyttyä kirjautumista
-
(Wikipedia. URL: List of FTP server return codes - Wikipedia)
SMB demonit
Valitsin kolmanneksi demoniksi smb:t, koska nmap oli löytänyt niistäkin käyttäjätietoja. Kohteessa pyöri siis kaksi erillistä smb demonia.

Kuva 13. Ensimmäiset tiedot smb demoneista
Kuvassa:
-
139/tcp open ja 445/tcp
-
Porttien numerot ja OSI-pinon siirtokerroksen protokollat
-
Avoinna joka näkyy “open”
-
-
netbios-ssn Samba
-
netbios (network basic input output system) on sovelluskerroksen protokolla LAN tiedonsiirtoon
-
Samba on SMB (Server Message Blocks) toteutus, joka tarjoaa Linux/Unix käyttöjärjestelmille smb:n käytön
-
(HackTricks. Kappaleet: Port 139, Port 445 ja SMB. URL: 139,445 - Pentesting SMB - HackTricks)
-
smbd [numerosarja]
- Smb demonin versio
-
(workgroup: WORKGROUP)
- Ryhmä jolla voidaan hallita resurssien pääsynhallintaa
(SambaWiki 2026. URL: Setting up Samba as a Standalone Server)
Lisäksi porttiskannauksen vastauksen lopussa oli tietoa, jotka Host script oli kerännyt.

Kuva 14. Tulokset Host script osiosta
Host scriptit ajetaan nmap:n normaalin skannausprosessin jälkeen.
(Nmap. URL: Usage and Examples | Nmap Network Scanning)
Kuvassa:
-
smb2-time: Protocol negotiation failed
-
smb2-time script, joka yrittää saada demonin nykyisen ajan ja käynnistys ajan
-
Tapauksessa nmap epäonnistui ja ei löytänyt aikoja
-
(nnposter. Github. URL: nmap/scripts/smb2-time.nse at master · nmap/nmap · GitHub)
-
smb-os-discovery
- Käyttöjärjestelmän tietoja jonka päällä samba pyörii
-
smb-security-mode
- Script joka hakee tietoa smb:n turvallisuus tasosta
-
account_used: guest
- Nmap onnistui käyttämään käyttäjää “guest”
-
authentication_level: user
- Jokaisella käyttäjällä on omat käyttäjänimet ja salasanat
-
challenge_response: supported
-
Demoni vastaanottaa kaikkia salasanojen muotoja (plaintext, LM, NTLM, LMv2 ja NTLMv2)
-
Jos ei olisi “supported”, vain plaintext olisi tuettu
-
-
message_signing: disabled
-
“disabled” muodossa jokaista client-server viestiä ei tarvitse allekirjoittaa jaetulla avaimella (jaettu avain = salasanasta ja server challenge tiedosta johdettu)
-
“enable” asennossa taas kaikki viestit tulee allekirjoittaa client-server viesteissä jaetulla avaimella.
-
(Smb-security-mode script tiedot: Nmap. URL: smb-security-mode NSE script — Nmap Scripting Engine documentation)
-
nbstat: [tietoja]
- Nmap:n script joka pyrkii selvittämään kohteen netbios nimet ja MAC-osoitteen
(Nmap. URL: nbstat NSE script Nmap Scripting Engine documentation)
-
clock-skew: [tietoja]
- Yrittää etsiä skannerin ja kohteen välillä eroavaisuuksia asetetuista kellonajoista
(Nmap. URL: clock-skew NSE script Nmap Scripting Engine documentation)
f) Vapaaehtoinen bonus: Sisään vaan. Pääsetkö murtautumaan Metasploitableen?
4.4.2026 10:08
Ajattelin ensimmäiseksi koittaa ftp:n kautta ottaa yhteyden, jos löytäisin sitä kautta tietoja, joilla voisin ottaa telnet tai ssh-yhteyden. Komentona oli
$ ftp 192.168.100.251 #Ottaa ftp-client sovelluksella yhteyden ftp-demoniin
Laitoin nimeksi “ftp”, jonka sain jo nmap:n skannauksesta tietoon. Salasanaksi en laittanut mitään vaan painoin suoraan enter-näppäintä, jolloin pääsin sisään palvelimelle.

Kuva 15. Kirjautuminen onnistui ja 230 koodi palautettiin palvelimelta
4.4.2026 15:26
Jatkoin tehtävää myöhemmin, joten otin uudestaan samalla tavalla yhteyden ftp palvelimeen. Yritin listata ls-komennolla tiedostoja, mutta ei tullut mitään erikoista. Lisäsin debug tiedot, joista sai hieman lisätietoa.

Kuva 16. Tiedostopalvelimen käsittelyä debug toiminnon päällä ollessa
Selvitin mikä on EPSV? Ftp demoni on saanut hallinta yhteyden kautta viestin, jossa komentona oli “EPSV”. Demoni avasi uuden portin ja odottaa, että asiakas aloittaa data yhteyden. Demonin avaama portti on suluissa, pystyviivojen välissä (tapauksessani 20472).
(IBM 2021. URL: IBM Documentation)
Brute force yrityksiä
4.4.2026 16:20
Selvitin netistä, että hydralla voisi koittaa brute force hyökkäystä ftp-palvelimelle, jotta voidaan kokeilla erilaisia yhdistelmiä käyttäjänimeksi ja salasanaksi. Valinta -L määrittää tiedoston, jonka sisältöä käytetään käyttäjänimen kohtaan ja valinta -P määrittää puolestaan tiedoston käytettäviin salasanoihin.
(Parker. Cyberly. URL: How To Use Hydra’s Brute Force Capabilities On An FTP Service - Cyberly)
Suoritin sanakirjahyökkäyksen (brute force).

Kuva 17. Hydra antaa ajaessaan jo löydetyt oikeat kombinaatiot
Otin käyttäjänimi listan danielmiesslerin SecLists github repositoriosta.
(danielmiessler. URL: Top-usernames)
Salasanat otin samasta repositoriosta.
(danielmiessler. URL: Top-passwords)
Seuraavaksi kokeilin kirjautua käyttäjänimellä “root” ja salasanalla “root”.

Kuva 18. Kirjautumisyrityksessä tuli vastauksena koodi 530
En päässyt sisään tunnuksilla, mutta katsoin aiemmin viittaamastani wikipedian sivuilta, että käyttäjänimen syöttämisen jälkeen tuli koodi 331. Tämä tarkoittaa käyttäjänimen olevan oikein, mutta salasana tarvitaan vielä. Tästä pystyi päättelemään, että root käyttäjä oli olemassa kuitenkin.
Seuraavaksi koitin vielä pelkällä “root” käyttäjätunnuksella ja laajemmalla salasanojen sanakirjalla mennä sisään. Tein tiedoston root.txt, joka sisälsi vain “root” tekstin. Sain myöhemmin tietää, että siihen olisi voinut laittaa eri valinnan, jolloin voisi kirjoittaa vain suoraan komentoon käyttäjätunnuksen. Otin salasanojen sanakirjan jälleen samasta repositoriosta.
(Salasanat: danielmiessler. SecLists. URL: Top-10000-passwords)
Laitoin lisäksi valinnalla -t lisää nopeutta. Valinta lisää samanaikaisesti suoritettavia yrityksiä kohteeseen.

Kuva 19. Root sanakirjahyökkäys yritys
Tällä kertaa ei löytynyt yhtään mitään, joten lähdin seikkailemaan selaimella weppipalvelimelle.
SQL-injektio
4.4.2026 17:15
En tehnyt enää kovin tarkkaa kirjanpitoa toimista, koska kyseessä oli vapaaehtoinen tehtäväkin. Joka tapauksessa sain tehtyä SQL-injektion. Laitoin ensin sivuston käyttöliittymästä “security level” kohdan “low” asentoon, jolloin pitäisi ilmeisesti sivustolla olevien haasteiden olla helpompia.

Kuva 20. Onnistunut SQL-injektio
Sain SQL-injektiosta vastauksena käyttäjien nimiä. Ajattelin seuraavaksi koittaa jotain muuta kautta päästä sisään kuin web-palvelinta hyödyntäen.
Telnet
4.4.2026 17:29
Onnistuin lopulta pääsemään sisään kohdekoneelle telnetin avulla.

Kuva 21. Telnet oli todella haavoittuvainen
Telnetillä ei tarvinnut muuta kuin yhdistää ja heti kerrottiinkin käyttäjätunnus ja salasana, jotka olivat msfadmin. Tästä opin, että voi olla hyvä kokeilla ensin kepillä jäätä vähän joka puolelta, koska voi olla todella helppokin tapa korkata kone. Tulee toki aina ottaa huomioon puolustuksen asetelma, koska jotkut palvelut saattaa paljastaa helpommin penetraatiotestaajan/red teamer jäsenen.
g) Vapaaehtoinen bonus: jos haluat, voit jo kokeilla metasploit-hyökkäysohjelmaa omaan harjoitusmaaliisi. Tätä katsotaan myöhemmin yhdessäkin. (Muista irrottaa kone Internetistä kokeilujen ajaksi. ‘sudo msfdb init’, ‘sudo msfconsole’).
En tehnyt tehtävää, koska minulla oli mennyt jo aikaisemmissa tehtävissä melko paljon aikaa.
Lähteet
Buuri, M. 2026. DORA and TLPT testing - Lecture for Haaga-Helia on 31 March 2026. Luettavissa: DORA and TLPT testing - Lecture for Haaga-Helia on 31 March 2026. Luettu: 2.4.2026.
danielmiessler. SecLists. Github. Pwdb_top-10000.txt. Luettavissa: Top-10000-passwords. Luettu: 4.4.2026.
danielmiessler. SecLists. Github. top-passwords-shortlist.txt. Luettavissa: Top-passwords. Luettu: 4.4.2026.
danielmiessler. SecLists. Github. top-usernames-shortlist.txt. Luettavissa: Top-usernames. Luettu: 4.4.2026.
European Union. 27.12.2022. REGULATION (EU) 2022/2554 OF THE EUROPEAN PARLIAMENT AND OF THE COUNCIL. Luettavissa: DORA. Luettu: 2.4.2026.
HackTricks. 139,445 - Pentesting SMB. Luettavissa: 139,445 - Pentesting SMB - HackTricks. Luettu: 3.4.2026.
IBM. 22.3.2021. 229: Entering Extended Passive Mode (|||port_number|). Luettavissa: IBM Documentation. Luettu: 4.4.2026.
nnposter. smb2-time.nse. Github. Luettavissa: nmap/scripts/smb2-time.nse at master · nmap/nmap · GitHub. Luettu: 3.4.2026.
Nmap. Script clock-skew. Luettavissa: clock-skew NSE script Nmap Scripting Engine documentation. Luettu: 3.4.2026.
Nmap. Script ftp-syst. Luettavissa: ftp-syst NSE script Nmap Scripting Engine documentation. Luettu: 3.4.2026.
Nmap. Script nbstat. Luettavissa: nbstat NSE script Nmap Scripting Engine documentation. Luettu: 3.4.2026.
Nmap. Script smb-security-mode. Luettavissa: smb-security-mode NSE script Nmap Scripting Engine documentation. Luettu: 3.4.2026.
Nmap. Usage and Examples. Luettavissa: Usage and Examples | Nmap Network Scanning. Luettu: 3.4.2026.
Nmap virallinen manuaali Kali Linuxin terminaalissa. Komento: man nmap. Luettu: 3.4.2026.
Parker, J. How To Use Hydra’s Brute Force Capabilities On An FTP Service. Luettavissa: How To Use Hydra’s Brute Force Capabilities On An FTP Service - Cyberly. Luettu: 4.4.2026.
rapid7user. Slashdot Media. Sourceforge. Luettavissa: Metasploitable2. Luettu: 31.3.2026.
SambaWiki. 7.12.2026. Setting up Samba as a Standalone Server. Luettavissa: Setting up Samba as a Standalone Server. Luettu: 3.4.2026.
Stack Exchange Inc. What is a SSH key fingerprint and how is it generated?. Luettavissa: What is a SSH key fingerprint and how is it generated?. Luettu: 3.4.2026.
Suomen Pankki. 12.3.2025. TIBER-FI Procedures and Guidelines. Luettavissa: TIBER-FI. Luettu: 2.4.2026.
Wikipedia. 3.12.2025. List of FTP server return codes. Luettavissa: List of FTP server return codes - Wikipedia. Luettu: 3.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