← Back to Penetration testing
H7 Toukokuu2026!
Tekijä: Aapo Tavio
Pohjana Tero Karvinen 2026: Tunkeutumistestaus 2026 kevät, Tunkeutumistestaus
h7 Toukokuu2026!
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-23-generic
-
-
Virtual Machine
-
OS: Kali GNU/Linux Rolling
-
Release: 2026.1
-
Kernel Version: Linux 6.19.14+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
-
vCPUs: 6
-
Memory: 4000 MiB
-
Storage: 80.09 GiB
-
x) Lue/katso ja tiivistä. (Tässä x-alakohdassa ei tarvitse tehdä testejä tietokoneella, vain lukeminen tai kuunteleminen ja tiivistelmä riittää. Tiivistämiseen riittää muutama ranskalainen viiva kustakin artikkelista. Kannattaa lisätä myös jokin oma ajatus, idea, huomio tai kysymys.)
Karvinen 2022: Cracking Passwords with Hashcat
-
Järjestelmät tallentavat salasanat tiivisteinä
-
Tiivistäminen on yksisuuntainen funktio
-
Komennolla hashid -m [tiiviste] saadaan todennäköisyyksiä tiivisteen algoritmistä
-
Hashcatillä tiiviste kannattaa laittaa hipsuihin
- Voidaan välttää erikoismerkkien ongelmat
Karvinen 2023: Crack File Password With John
- John the Ripper on salasanojen murtamiseen tarkoitettu ohjelma
- Voidaan murtaa tiedostojen salasanojakin
- Ajettavat ohjelmat ja skriptit löytyvät hakemistopolusta $HOME/john/run/
Santos, Sternstein, Taylor & McCoy 2017: Security Penetration Testing The Art of Hacking Series LiveLessons: Lesson 6: Hacking User Credentials (8 videota, n. 30min)
- Ensisijaisesti kannattaa urkkia salasanat MiTM (Man in the middle) tekniikalla
- Jos kaikki muut tavat epäonnistuvat suoritetaan brute force hyökkäys
- Tiivisteet
- eivät ole salausta (encryption)
- voivat suojata salasanoja
- ovat yhdensuuntaisia
- lasketaan nopeasti
- kuuluu käytettäväksi suolan kanssa
- voivat olla osana eheyden varmistamisessa
-
Näytönohjaimen laskentatehoa voidaan myös käyttää hyväksi salasanoja murrettaessa hashcatilla
- Salasanojen vahvistaminen
- Tiivisteiden lisäksi suojausmekanismeja
- Suolan käyttäminen tiivisteissä
- Vahvojen ja pitkien salasanojen käyttäminen
- Kaksivaiheinen tunnistautuminen
- Sertifikaattiperusteinen tunnistautuminen
a) Asenna Hashcat ja testaa sen toiminta murtamalla esimerkkisalasana.
8.5.2026 12:32
Aloitin tekemällä tiivisteen tiedostoon. Tein sen komennolla
$ echo "iloveu" -n | md5sum > password-a.txt #Valinta -n poistaa rivinvaihdon lopusta, pystyviiva putkittaa tulosteen komennolle md5sum joka luo merkkijonosta tiivisteen md5-muodossa, > merkki ylikirjoittaa tiedoston tulosteella
(Valinnan -n lähteenä echon ohje kalin terminaalissa. Komento: man echo)

Kuva 1. Tiiviste tiedostossa password-a.txt
Tässä tapauksessa tiedän jo salasanan ennalta, mutta se ei haittaa demonstroidessa hashcatin toimintaa. Seuraavaksi katsoin millaiseksi hashid luokitteli tiivisteen.
$ hashid -m 71316e57022d03c70dc35effb4e78e0a #Hashid ohjelmalla voi selvittää tiivisteen algoritmin, valinnalla -m vastaus sisältää tiivisteen yhteydessä hashcat-ohjelmassa käytettävän muodon
(Komennon selitysten lähteenä hashid:n ohje kalin terminaalissa. Komento: man hashid)

Kuva 2. Tuloste hashid:n ajamisesta
Vastauksessa kolme ensimmäistä vaihtoehtoa ovat MD2, MD5 ja MD4. Kolmesta ensimmäisestä vaihtoehdosta yksi on usein oikein, kuten opettajankin ohjeessa oli mainittu (Karvinen 2022. URL: Cracking Passwords with Hashcat: Identify Hash Type).
10.5.2026
Tiesin tiivisteen olevan MD5, joten lähdin ajamaan hashcatia MD5 algoritmillä.
$ hashcat -m 0 '71316e57022d03c70dc35effb4e78e0a' /usr/share/wordlists/rockyou.txt -o h7-a-md5-hashcat-solved #Valinnalla -m määritetään käytettävä tiivistealgoritmi, 0 on MD5, tiivisteen jälkeen käytettävä sanakirja, valinta -o määrittää tiedoston johon tulos tallennetaan
(Valintojen lähteenä hashcatin ohje kalin terminaalissa. Komento: man hashcat)

Kuva 3. Osa tulosteesta komennon antamisen jälkeen
Vaikutti onnistuneen, koska komennon ajamisen jälkeen ei tullut virheilmoituksia. Menin katsomaan tiedostoa, jonka määritin komennossa vastauksen tallentamiseen. En kuitenkaan löytänyt tiedostoa ollenkaan, joten ajoin komennon valinnalla –show, jotta näkisin tuloksen. Kuitenkin tuli vain tyhjää.

Kuva 4. Valinnalla –show näkee helposti murretut salasanat
Ei löytynyt vastausta ollenkaan. Luin opettajan materiaaleista, että status-kohdassa pitäisi lukea “cracked”, jotta hashcat olisi löytänyt jonkun yhteneväisyyden. Minulla luki vain “Exhausted”, joten hashcat ei löytänyt vastaavaisuuksia. (Karvinen 2022. URL: Cracking Passwords with Hashcat: What Did Hashcat Say?)

Kuva 5. Tilana Exhausted
10.5.2026 14:00
Tajusin tässä vaiheessa, että sanalista ei ehkä sisältänyt merkkijonoa “iloveu”, joten kopioin rockyou.txt tiedoston nykyiseen hakemistopolkuuni ja lisäsin rivin tiedostoon. Olin hakemistopolussa /home/kali/pentesting-h7-cracking.
$ cp /usr/share/wordlists/rockyou.txt . #Kopioi tiedoston rockyou.txt nykyiseen hakemistoon

Kuva 6. Merkkijono iloveu löytyi nyt varmasti tiedostosta
Ajoin uudestaan hashcatin.
$ hashcat -m 0 '71316e57022d03c70dc35effb4e78e0a' rockyou.txt -o hashchat-solved #Yrittää murtaa tiivisteen MD5-algoritmillä ja sanakirjalla rockyou.txt
Silti minulle tuli “Exhausted”.

Kuva 7. Samankaltainen epäonnistunut vastaus kuin aikaisemminkin
10.5.2026 17:00
Kopioin opettajan materiaaleista tiivisteen, jolla sain hashcatin toimimaan (Karvinen 2022. URL: Cracking Passwords with Hashcat: Crack the Hash).
Komentona käytin seuraavanlaista.
$ hashcat -m 0 '6b1628b016dff46e6fa35684be6acc96' rockyou.txt -o hashchat-solved #Yrittää ratkaista tiivisteen md5-algoritmillä
Vastauksessa luki “Cracked”.

Kuva 8. Vaikutti onnistuneen koska vastauksessa oli Cracked
Kävin katsomassa vastauksena tulevan tiedoston.

Kuva 9. Komennossa määritetty tiedosto avattuna jossa vastaus
Tiedostosta löytyi hashcatin löytäneen tiivisteelle salasanan “summer”. En tiedä mikä ongelma minulla oli aikaisemmin itse luodun tiivisteen kanssa. Tiivistettä ei oltu ehkä oikeaoppisesti luotu tai jotain senkaltaista.
c) Asenna John the Ripper ja testaa sen toiminta murtamalla jonkin esimerkkitiedoston salasana.
10.5.2026 17:14
Latasin esimerkkitiedoston Karvisen sivulta (Huom! Linkillä ei pysty lataamaan tiedostoa vaan se vie vain sivustolle, jossa latauslinkki on!) Crack File Password With John: Password Protected ZIP.
Yritin purkaa tiedoston ja painoin vain enter-näppäintä, kun salasanaa kysyttiin.

Kuva 10. Tiedoston avaaminen ilman salasanaa
Secretfiles-hakemistokin oli tyhjä.

Kuva 11. Hakemistossa secretFiles ei ollut edes salaisia tiedostoja
Katsoin ohjeita opettajan sivuilta Crack File Password With John, jonka mukaisesti ajoin komennon.
$ zip2john tero.zip > tero.zip.hash #zip2john valmistelee datan käytettäväksi John the Ripperissä, > merkki lisää oikealla puolella merkkiä olevaan tiedostoon tuloksen, jos tiedostoa ei ole valmiiksi olemassa, se luodaan
Kävin katsomassa uuden tiedoston sisällön.

Kuva 12. Tiedoston data valmiina johnille
Tämän jälkeen ajoin johnin zipistä muodostettua hash-tiedostoa vasten.
$ john tero.zip.hash #John the Ripper yrittää ajaa ensimmäiseksi single-tilassa jonka jälkeen yrittää sanakirjatilaa ja lopuksi yrittää incremental-tilassa ilman valintoja
(Komennon lähteenä Johnin ohje kalin terminaalissa. Komento: man john)
Sain vastaukseksi salasanan olevan “butterfly”.

Kuva 13. Komennon tulosteesta löytyi heti salasana
Kuvasta näkee ensimmäiseltä riviltä, että tapauksessani john käytti sanalistaa hakemistopolusta /usr/share/john/password.lst. Purin tero.zip tiedoston salasanalla butterfly, jonka jälkeen sain salatun tiedoston esille.

Kuva 14. Salattu tiedosto avattuna
e) Tiedosto. Tee itse tai etsi verkosta jokin salakirjoitettu tiedosto, jonka saat auki. Murra sen salaus. (Jokin muu formaatti kuin aiemmissa alakohdissa kokeilemasi).
10.5.2026 19:05
Tarkoituksena oli tehdä 7zip tiedosto salattuna salasanalla. Tein kaksi tiedostoa aluksi.
$ echo "testi 7z" > test1.txt #Laittaa tekstin testi 7z tiedostoon test1.txt
$ echo "testi 7z" > test2.txt #Laittaa tekstin testi 7z tiedostoon test2.txt
Sain hyvää tietoa muutamalta sivulta 7zipin käytöstä. Sourceforgen sivuilla oli vieläpä todennäköisesti kommentoimassa itse työkalun kehittäjä Igor Pavlov.
(Slashdot Media 2024. Sourceforge. URL: What is “header encryption” exactly?)
(E2Encrypted 2024. URL: How to Safely Encrypt Both File Names and Contents Using 7zip through the Command Line)
Tein 7zip tiedoston.
$ 7z a -mhe -pJlkj23 h7-e.7z test1.txt test2.txt #Komento a lisää tiedostot arkistoon eli pakkaa useamman tiedoston yhteen tiedostoon, valinta -mhe salaa myös tiedostojen nimet sisällön lisäksi, valinnalla -p määritetään salasana luotavalle tiedostolle, tämän jälkeen tulee luotavan tiedoston nimi ja pakattavat tiedostot
(Valinnan -mhe lähteenä Slashdot Media 2024. Sourceforge. URL: What is “header encryption” exactly?)
(Muiden komennon kommenttien lähteenä 7z ohje kalin terminaalissa. Komento: man 7z)

Kuva 15. Vastaus komennon ajamiseen
Taisi onnistua, koska vastauksessa luki “Everything is ok”.
Yritin avata tiedostoa painamalla enter-näppäintä salasanaa kysyttäessä.
$ 7z x h7-e.7z #Komento purkaa tiedoston h7-e.7z, komento x eristää tiedostot poluilla
(Komennon lähteenä 7z ohje kalin terminaalissa. Komento: man 7z)

Kuva 16. Tiedostoa ei voinut avata
Tiedoston avaaminen ei onnistunut kuten olettaa saattoi. Epäonnistumisen huomasi tekstistä “Cannot open encrypted archive. Wrong password?”. Seuraavaksi käytin johnin skriptiä 7z2john.pl, jolla ajattelin saavani tehtyä tiedoston johnille sopivaan muotoon.
$ 7z2john h7-e.7z > h7-e-hash #Muuttaa 7zip tiedoston johnille sopivaan muotoon ja tekee uuden tiedoston h7-e-hash
En saanut ainakaan virheilmoitusta. Sain vain varoituksen tiivisteiden sisältävän mahdollisesti arkaluonteista tietoa.

Kuva 17. Vastaus komennon ajamiseen ja tehtävän hakemiston listaus
Komento ls näytti, että uusi tiedosto oli ainakin luotu. Seuraavaksi olikin aika yrittää murtaa salasana.
$ john h7-e-hash #Ajaa johnin tiedostoa h7-e-hash vasten
Tässä vaiheessa huomasi heti salasanan vahvuuden vaikuttavan sen murtamiseen. Käyttämäni salasana 7zip tiedoston salaamiseen ei ollut mikään tietty sana vaan kirjaimia sekä numeroita. Tällöin on vaikeampi murtaa salasanoja, koska sanakirjat sisältävät useimmiten yleisesti käytettyjä salasanoja. Johnin ajaminen samalla komennolla, kuin aikaisemmin kesti nyt todella paljon pidempään. Salasana oli muutenkin melko vahvalla SHA256 tiivistealgoritmillä suojattu.

Kuva 18. Salasanan tiiviste näkyi ajettaessa johnia
Minulla meni kolmanteen incremental vaiheeseen asti murtautumisyrityksessä, kuten arvata saattoi, koska oletus sanakirjassa tuskin olisi salasanaani vastaavaa riviä. Minun oli pakko lopettaa, koska ajaminen oli kestänyt jo yli 30min ja tehtävän deadline lähestyi kovaa tahtia.
Yritin ajaa maskilla johnia, jolloin määrittelin paikat kaikille isoille ja pienille kirjaimille sekä numeroille. Lähteenä käytin Cyberlyn verkkosivuja How To Use John The Ripper For Brute-Force Attacks.
Tämäkin olisi kestänyt niin kauan, joten päätin tehdä uuden tiedoston salasanalla “root”.
Uusi tiedosto
10.5.2026 20:49
Aloitin komennoilla
$ 7z a -mhe -proot h7-e2222.7z test1.txt test2.txt #Luo 7zip tiedoston salasanalla root
$ 7z2john h7-e2222.7z > h7-e-hash-22222 #Luo 7zip tiedostosta yhteensopivan johnille
$ john h7-e-hash-22222 #Ajaa johnin tiedostoa h7-e-hash-22222 vasten
Huomasin grepin kanssa, että johnin oletus sanakirja ei sisällä ollenkaan sanaa root, joka oli mielestäni todella omituista. Yritin rockyou.txt sanakirjaakin käyttää, mutta sekin olisi kestänyt lähemmäs kaksi vuorokautta. Tein oman yhden sanan sanalistan, joka sisälsi sanan root, koska minun oli päästävä eteenpäin.
$ john --wordlist=wordlist-root.txt h7-e-hash-22222 #Ajaa johnin sanakirjalla wordlist-root.txt
Tämän jälkeen sainkin luonnollisesti oikean vastauksen.

Kuva 18. Salasana ilmestyi komennon ajamisen jälkeen
Koitin vielä ensiksi ettei uudempi 7zip tiedosto aukea ilman salasanaa.

Kuva 19. Tiedosto ei auennut ilman salasanaa kuten tarkoitus olikin
Tiedosto ei auennut, jonka näki tekstistä “Cannot open encrypted archive” ja hakemistossa ei ollut uusia alihakemistoja tai tiedostoja. Annoin salasanan root, jonka jälkeen aukesi.

Kuva 20. Tiedoston purkaminen salasanalla root
Kesken avaamisen tuli prompti, johon kirjoitin “u” jonka johdosta purettavat tiedostot nimettiin automaattisesti uudelleen. Prompti tuli, koska hakemistossa oli jo aikaisemmin saman nimiset tiedostot. Komennolla ls näki hakemiston sisältävän uudetkin tiedostot.
Avasin vielä catilla toisen tiedostoista ja varmistin sisällön täsmäävän.

Kuva 21. Toinen puretuista tiedostoista avattuna näytölle
f) Tiiviste. Tee itse tai etsi verkosta salasanan tiiviste, jonka saat auki. Murra sen salaus. (Jokin muu formaatti kuin aiemmissa alakohdissa kokeilemasi. Voit esim. tehdä käyttäjän Linuxiin ja murtaa sen salasanan.)
10.5.2026 21:21
Halusin kokeilla uudestaan luoda sanalla “iloveu” tiivisteen, tällä kertaa valitsin tiivistealgoritmiksi SHA1:n. Generoin sen osoitteessa Hash Generator (MD5, SHA1, SHA256, SHA512, NTLM).
Ajoin hashid:n tiivisteeseen, joka antoikin ensimmäiseksi vastaukseksi SHA1.

Kuva 22. Hashid tunnisti oikein ensimmäisenä algoritmin SHA1
Sitten ajoin hashcatin.
$ hashcat -m 100 'b78034aacf3559fffbfcb545d9a9122efb93181f' /usr/share/wordlists/rockyou.txt -o solved-f #Ajaa hashcatin sanakirjaa rockyou.txt vasten, koodi 100 valinnan -m jälkeen on algoritmille SHA1
Taisi onnistua, koska status kohtaan tuli “Cracked”.

Kuva 23. Osa hashcat komennon vastauksesta
Tiedostosta solved-f löytyikin tiiviste salasanan kera.

Kuva 24. Tiedosto solved-f avattuna näytölle
Samalla tuli testattua, että rockyou.txt sisälsi sanan iloveu, jonka olisi kyllä voinut helposti tarkastaa grepilläkin.
g) Sanakirja. Oman sanakirjan teko parantaa onnistumismahdollisuuksia. Demonstroi, kuinka teet oman sanakirjan hashcat:n tai john:iin.
10.5.2026 21:38
Olen tehnytkin jo aikaisemmissa tehtävissä yhden sanan sanakirjoja. Ne luodaan vain laittamalla sanoja tekstitiedostoon eri riveille. Ajattelin kokeilla vielä cewl-menetelmällä sanakirjan luomisen. Suoritin sen metasploitablen web-palvelinta hyödyntäen.
Cewl on työkalu, jolla voidaan luoda sanakirjoja web-sivuista (Mahto 2021. GeeksforGeeks. URL: Cewl Tool - Creating Custom Wordlists Tool in Kali Linux).
Ymmärtääkseni syvyydellä (depth) voidaan määritellä, kuinka monta linkkiä seurataan kohde URLista? (digininja. Github. URL: CeWL is a Custom Word List Generator)
Ajoin komennon syvyydellä 5, koska ajattelin ottaa kaikki metasploitablen web-palvelimen sivut huomioon.

Kuva 25. Metasploitablen web-palvelimen etusivulla 5 linkkiä
Tämä osoittautui kuitenkin todella hitaaksi, joten keskeytin prosessin, mutta sanakirjaan ehti tulla jo hyvin sanoja.

Kuva 26. Rivimäärät ja sanat laskettuna sekä 10 ensimmäistä sanaa tiedostosta
Kuten komennolla wc näkyi, tiedostossa oli 4580 riviä tekstiä ja 4580 sanaa. Valinnalla -l saa rivien määrän ja valinnalla -w saa sanojen määrän. Lisäksi head-komennolla sai 10 ensimmäistä riviä näkyviin, josta näki millaisia sanoja tiedostossa esimerkiksi oli.
h) Hash rules. Näytä esimerkki HashCatin sääntöjen käytöstä (rules).
10.5.2026 22:15
Aloitin selvittämällä, mikä on hashcat rule? Löysin cyberlyn sivuilta julkaisun, jossa kerrottiin hashcatin sääntöjen mahdollistavan ennalta määritettyjä sääntöjä, joita sovelletaan käytettävän sanakirjan sanoihin (URL: How To Use Hashcat For Rule-Based Cracking).
Cyberlyn sivuilla olikin suoraan ohje, miten käytetään best64 sääntöä. Lähdin sen mukaan kokeilemaan sääntöä. Tein ensiksi samalla sivulla kuin aiemmin tiivisteen SHA512-algoritmillä. Huomasin kuitenkin, että minulla ei ollut best64 sääntöä valmiina kalissa, mutta käytin best66 sääntöä, joka todennäköisesti vastaa melko lailla best64 sääntöä.

Kuva 27. Hakemistosta /usr/share/hashcat/rules löytyi käytettävä sääntö
Sitten vain kädet saveen.
$ hashcat -m 1700 -r /usr/share/hashcat/rules/best66.rule '99adc231b045331e514a516b4b7680f588e3823213abe901738bc3ad67b2f6fcb3c64efb93d18002588d3ccc1a49efbae1ce20cb43df36b38651f11fa75678e8' /usr/share/wordlists/rockyou.txt -o solved-h #Ajaa hashcatilla rockyou.txt sanakirjan tiivistettä vasten, valinnalla -r määritetään tiedostopolku sääntöön, valinnan -m arvo 1700 on algoritmille SHA512
(Valinnan -r lähteenä Cyberlyn nettisivut. URL: How To Use Hashcat For Rule-Based Cracking)
Taas tuli ilmoitus “Cracked”.

Kuva 28. Osa vastauksesta komennon ajamisen jälkeen
Tiedostosta solved-h löytyi oikea vastaus.

Kuva 29. Tiedosto solved-h avattuna näytölle
i) Lippuvalmistelu. Valmistele kone ensi viikon lipunryöstöön. Tästä kohdasta ei tarvita kattavaa raporttia, riittää pelkkä luettelo siitä, miten ratkaisit allaolevat kysymykset. Jos sinulla on esimerkiksi valmis, toimiva Kali VM tavallisella PC:llä, tässä ei tarvitse tehdä juuri mitään.
Tein uuden kali virtuaalikoneen virtmanageriin. Laitoin NAT-verkkokortin koneeseen, jonka voi tarvittaessa laittaa pois päältä. Minulla on amd64-kone ja en käytä ennalta kirjoitettuja muistiinpanoja enkä tekoälyä. Käytän vain tunnettuja ja vapaita ohjelmia lipunryöstössä.
Lähteet
7z ohje kalin terminaalissa. Komento: man 7z. Luettu: 10.5.2026.
Cyberly. How To Use Hashcat For Rule-Based Cracking. Luettavissa: How To Use Hashcat For Rule-Based Cracking. Luettu: 10.5.2026.
Cyberly. How To Use John The Ripper For Brute-Force Attacks. Luettavissa: How To Use John The Ripper For Brute-Force Attacks. Luettu: 10.5.2026.
digininja. Github. CeWL is a Custom Word List Generator. Luettavissa: CeWL is a Custom Word List Generator. Luettu: 10.5.2026.
E2Encrypted 2024. How to Safely Encrypt Both File Names and Contents Using 7zip through the Command Line. Luettavissa: How to Safely Encrypt Both File Names and Contents Using 7zip through the Command Line. Luettu: 10.5.2026.
Echon ohje kalin terminaalissa. Komento: man echo. Luettu: 8.5.2026.
Hashcatin ohje kalin terminaalissa. Komento: man hashcat. Luettu: 10.5.2026.
Hashid:n ohje kalin terminaalissa. Komento: man hashid. Luettu: 8.5.2026.
Johnin ohje kalin terminaalissa. Komento: man john. Luettu: 10.5.2026.
Karvinen, T. 6.4.2022. Cracking Passwords with Hashcat. Luettavissa: Cracking Passwords with Hashcat. Luettu: 6.5.2026.
Karvinen, T. 9.2.2023. Crack File Password With John. Luettavissa: Crack File Password With John. Luettu: 7.5.2026.
Mahto, L. 28.7.2021. GeeksforGeeks. Cewl Tool - Creating Custom Wordlists Tool in Kali Linux. Luettavissa: Cewl Tool - Creating Custom Wordlists Tool in Kali Linux. Luettu: 10.5.2026.
Omar, S., Sternstein, J., Taylor, R. & McCoy, C. 2017. Security Penetration Testing The Art of Hacking Series LiveLessons. Cisco Press. Katsottavissa: Lesson 6: Hacking User Credentials. Katsottu: 7.5.2026.
Pentesterworld. Hash Generator (MD5, SHA1, SHA256, SHA512, NTLM). Luettavissa: Hash Generator (MD5, SHA1, SHA256, SHA512, NTLM). Luettu: 10.5.2026.
Slashdot Media 2024. Sourceforge. What is “header encryption” exactly?. Luettavissa: What is “header encryption” exactly?. Luettu: 10.5.2026.
Tätä dokumenttia saa kopioida ja muokata GNU General Public License (versio 3 tai uudempi) mukaisesti. http://www.gnu.org/licenses/gpl.html