Tunkeutumistestaus
Penetration Testing course - 2024 late autumn
Learn to hack computers to protect your own. In the course, you will break into target computers.
Excellent feedback, reached 5.0 out of 5. . Update: And latest instance just got 4.9/5 feedback, with 100% NPS.
Enroll 2024-05-15 w20 Wednesday at 08:00 in MyNet / Peppi.
Looking for the earlier Spring 2024 Tunkeutumistestaus?
Course name and code | Tunkeutumistestaus ici001as3a-3003 |
Timing | 2024 period 2 late autumn, w43-w50. |
Credits | 5 cr |
Classes | Friday 08:15 - 13: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
Perjantaisin 08:15 - 13:45 Pasila pa5001. Aloitamme 08:15, vaikka joku vierailija tulisikin mukaan myöhemmin.
Päivä | Aihe |
---|---|
2024-10-25 w43 | Tunkeutumisen yleiskuva. Järjestäytyminen. Kybertappoketju. |
2024-11-01 w44 | Aktiivinen tiedustelu. Porttiskannaus ja oheistekniikat. Valvonta snifferillä. |
2024-11-08 w45 | Valmiiden hyökkäysten käyttö. Etähallinta. Reverse shell ja bind shell. Virtuaalisen laboratorion rakentaminen. |
2024-11-15 w46 | Salasanojen murtaminen. Hashcat. Jumbo John. Käyttäjien salasanat. Tiedostojen salasanat. Sanakirjahyökkäys. |
2024-11-22 w47 | Weppipalveluihin murtautuminen. IDOR, path traversal, SSRF. Välimiesproxyt, ZAP tai mitmproxy. Harjoitusympäristöt weppiin. |
2024-11-29 w48 | Weppipalveluihin murtautuminen. SQLi. Keksit. CSRF. Oman TLS salatun liikenteen purkaminen. |
2024-12-06 w49 | (Itsenäisyyspäivä, ei oppitunteja) |
2024-12-13 w50 | 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.
- 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.