Tunkeutumistestaus 2024
Tunkeutumistestaus ici005as3a-3001 loppukevät pa2004
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: Check out our visitors!
Course name and code | Tunkeutumistestaus ici005as3a-3001 |
Timing | 2024 period 4 late spring, w13-w20 |
Credits | 5 cr |
Classes | Mon 08:15 - 13:45, Pasila pa2004 |
Max students | 30 |
Language | Finnish (+reading material in English) |
Remote | No, fully contact in Pasila classroom pa2004 |
Feedback | 5.0 / 5 Excellent feedback* |
Services | Moodle: Tunkeutumistestaus, Laksu. Voluntary extra: Tero's list. |
First class | 2024-03-25 w13 Mon 08:15, pa2004 |
* 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
Maanantaisin 08:15 Pasilassa luokassa pa2004. Aloitamme aina 08:15, vaikka joku vierailija tulisikin mukaan myöhemmin.
Päivä | Aihe |
---|---|
2024-03-25 w13 ma | Tunkeutumisen yleiskuva. Järjestäytyminen. Kybertappoketju. |
(2024-04-01 w14 ma) | (Toinen pääsiäispäivä, ei opetusta.) |
2024-04-08 w15 ma | Aktiivinen tiedustelu. Porttiskannaus ja oheistekniikat. Valvonta snifferillä. |
2024-04-15 w16 ma | Joona "joohoi" Hoikkala, Visma: 9 Web fuzzing with ffuf. Salasanojen murtaminen. Valmiiden hyökkäysten käyttö. Etähallinta. |
2024-04-22 w17 ma | Nikita Ponomarev, WithSecure: 9-13:45 Attacking Windows and Active Directory *. |
2024-04-29 w18 ma | Otto Ebeling, Critical Section: 10-11:30 Cracking Cryptocurrency. Weppipalveluihin murtautuminen. |
2024-05-06 w19 ma | Riku Juurikko, Elisa: 9-11 Social Engineering (en). Mika Rautio, Nexi: 12-13 Incident of/in the Cloud. |
2024-05-13 w20 ma | Lipunryöstö, arvioitava laboratorioharjoitus. |
Tämä on edistynyt kurssi, joten tuntien aiheisiin voi tulla muutoksia kurssin edetessä.
* Prerequisites you should have for Nikita's presentation
- Breaking passwords
- Controlling a computer with RDP, the remote desktop protocol
- Generate reverse shell with msfvenom
- Receiving a reverse shell using meterpreter or ncat
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ä): 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")
Anna palautetta
Palaute on todella tärkeä tapa kehittää kurssia – kiitos kommenteista jo etukäteen. Palaute kahteen kanavaan
1) Vapaamuotoinen palaute kommenttina tämän kurssisivun perään
Vapaamuotoinen palaute kommenttina tämän kurssisivun perään
Vapaamuotoiseen palautteeseen saa kirjoittaa mitä vain, eikä kysymyksiä tarvitse toistaa. Mutta tässä vinkiksi:
- Opitko jotakin – eli osaatko nyt sellaista, mitä et osannut ennen kurssia?
- Teitkö jotain ensimmäistä kertaa? Hyökkäsit weppiin, käytit jotain työkalua, skannasit kokonaisen verkon; käytit jotain kieltä, tekniikkaa tai työkalua?
- Oliko opittu hyödyllistä? Luuletko, että sille on käyttöä esim. tulevaisuudessa töissä tai kotona?
- Mitä mieltä olit läksyistä? Luku/video/podcast/tiede -materiaalista? Hands-on tehtävistä?
- Mitä pidit vierailijoista? Mitä vierailijoista jäi mieleen?
- Mitä mieltä ajatuksesta pitää lipunryöstö kokeen tilalta?
- Miten voisin parantaa kurssia?
- Viihdyitkö kurssilla?
- Suosittelisitko kurssia? Kenelle kurssi sopisi? Koulutoverille tai kollegalle?
2) Numeerinen palaute Haaga-Helian palautejärjestelmään MyNetissa
Numeerinen palaute Haaga-Helian palautejärjestelmään MyNetissa
Numeerisen palautteen avulla mm. verrataan Haaga-Helian kursseja toisiinsa. On tärkeää saada jokaiselta palaute, jotta tulos on tilastollisesti merkitsevä.
Numeeriset: Asteikko 1-välttävä (huonoin) ... 5-kiitettävä (paras)
- Oma aktiivisuutesi opiskelussa 1-5
- Osaamistavoitteiden saavuttaminen 1-5
- Työskentelytavat tukivat oppimista 1-5
- Opiskeluympäristö tuki oppimista 1-5
- Hyödyllisyys työelämään 1-5
Avoimet kysymykset (näihin voi myös kopioida samat vastaukset jotka kirjoitit aiemmin)
- Mitkä asiat edistivät oppimistasi?
- Miten kehittäisit toteutusta / toteutuskokonaisuutta, jotta osaamistavoitteet saavutettaisiin paremmin?
Kokonaisarviosi toteutuksesta / toteutuskokonaisuudesta 1-5
Suosittelisitko 1 - 10 (1 en varmasti, 10 aion varmasti suositella tai olen jo suositellut)
Kiitos palautteesta ja jännittävästä kurssista! Seuraavilla kursseilla nähdään.
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.
h0 Sieppari ruispellossa
Sieppaa ja analysoi verkkoliikennettä. Palauta Laksuun (10:05 mennessä) ja arvioi sitten kaksi. Nähdään taas 10:15.
Vinkkejä
- Mitä teit / minkä komennon annoit
- Mitä tapahtui / mitä tuli vastaukseksi
- Analyysi edellyttää analyysia. Selitä omin sanoin, mistä on kyse ja mitä komentojen tulosteet / lokit / siepatun liikenteen osat tarkoittavat.
- Sieppaa vain omaa liikennettäsi
- Tehtäviä saa aloittaa vasta, kun on hyväksynyt kurssin säännöt.
h1 Hacker Warmup
Tehtävät saa aloittaa vasta, kun on hyväksynyt kurssin säännöt. Mitään ulkopuolisia koneita ei saa porttiskannata ilman lupaa. Irrota tarvittaessa virtuaalikone Internetistä kokeilujen ajaksi. Tässä kotitehtävässä porttiskannaukset tehdään ensisijaisesti localhost-osoitteella.
Tehtävän määräaika on 24 h ennen seuraavaa oppituntia, eli pääsiäisen takia vasta 2024-04-07 w14 su 08:15. Kannattaa aloittaa tehtävien teko saman tien, jotta saa hakkeroida rauhassa.
Tässä harjoituksessa on tiedustelua ja lämmittelyä. Pääset lukemaan sen kuuluisan paperin kybertappoketjusta. Tutustut O'Reilly Learning -alustan videokursseihin. Kokeilet montaa harjoitusympäristöä. Jos hakkerointi sujuu jo, näillä samoilla alustoilla voit harjoitella myös kurssin ulkopuolella.
- 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.)
- € 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.
- 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.
- a) Ratkaise Over The Wire: Bandit kolme ensimmäistä tasoa (0-2).
- b) Asenna WebGoat ja kokeile, että pääset kirjautumaan sisään.
- c) Ratkaise WebGoatista tehtävät "HTTP Basics" ja "Developer tools". Katso vinkit alta.
- d) Ratkaise ja selitä PortSwigger Labs: Lab: SQL injection vulnerability in WHERE clause allowing retrieval of hidden data. (Edellyttää ilmaista rekisteröitymistä. Tehtävän voi ratkaista pelkästään selaimen osoitekenttää muokkaamalla.) Selitä, mitä tekniikoita kokeilit, ja mitä hyökkäyksesi eri osat tekevät.
- e) Asenna Linux virtuaalikoneeseen. Suosittelen joko Kali (viimeisin versio) tai Debian 12-Bookworm.
- f) Porttiskannaa 1000 tavallisinta tcp-porttia omasta koneestasi (localhost). Analysoi tulokset.
- g) Porttiskannaa kaikki koneesi (localhost) tcp-portit. Analysoi tulokset. (Edellisissä kohdissa mainittuja analyyseja ei tarvitse toistaa, voit vain viitata niihin ja keskittyä eroihin).
- h) Tee laaja porttiskanaus (nmap -A) omalle koneellesi (localhost), kaikki portit. Selitä, mitä -A tekee. Analysoi tulokset. (Edellisissä kohdissa mainittuja analyyseja ei tarvitse toistaa, voit vain viitata niihin ja keskittyä eroihin.).
- i) Asenna demoni tai pari (esim Apache ja SSH). Vertaile, miten localhost:n laajan porttiskannauksen tulos eroaa.
- j) Kokeile ja esittele jokin avointen lähteiden tiedusteluun sopiva weppisivu tai työkalu. Hyviä esimerkkejä löytyy Bazzel: IntelTechniques: Tools ja Bellingcat: Resources, voit myös käyttää muuta itse valitsemaasi työkalua. Työkalua pitää siis myös kokeilla, pelkkä nimen mainitseminen ei riitä. Pidä esimerkit harmittomina, älä julkaise kenenkään henkilökohtaisia salaisuuksia raportissasi.
- k) Vapaaehtoinen: Tee lisää harjoituksia alustoilta, joihin tässä on tutustuttu: PortSwigger Academy, Over the Wire, WebGoat. Hakkeroimaan oppii hakkeroimalla.
Vinkit
- Over the Wire voi olla välillä alhaalla, connection refused. Kannattaa silloin koittaa vähän ajan päästä uudelleen.
- Unohtuiko injektio?
- PortSwigger Academy: SQL injection.
- Mutta mainitsitte tunnilla, että SQL-injektioita oli kokeiltu aiemmilla kursseilla.
- PortSwigger Academyn omat läpikävelyohjeet suosittavat moneen kohtaan firman omaa, maksullista välimiesproxya. Mutta tässäkin läksynä oleva injektiotehtävä ratkeaa ihan weppiselaimella, ilman sen kummempia hakkerointityökaluja.
- Kannattaa asentaa harjoitteluun Linux virtuaalikoneeseen, vaikka host OS on valmiiksi Linux. Näin kaikki pentest-viritykset eivät turhaan sotke varsinaista käyttöjärjestelmääsi.
- nmap-komentoja on lueteltu tuossa alla, tehtävässä on tärkeä selittää ja analysoida annetut komennot, tulokset ja johtopäätökset.
- € Maksulliset aineistot saattavat näkyä ilmaiseksi Haaga-Helian tunnuksilla kirjaston kautta. Haaga-Helialla on käyttöoikeus O'Reilly Learning -kirjoihin (ent. Safari).
- Onko tosi vaikeaa? No, hakkerointi kyllä yleensä on sitä muillekin.
- Tee kaikki mitä osaat. Tehtävät eivät ole vaikeusjärjestyksessä, koska haastavuus riippuu siitä, mitä osaat ennestään. Kokeile siis kaikkia kohtia, vaikka jokin jäisi välistä.
- Tee vaikea tehtävä niin pitkälle kuin osaat.
- Raportoi vaikea kohta erityisen tarkasti.
- Listaa mahdolliset lähestymistavat.
- Etsi materiaalia verkosta. Vanhoja esimerkkiratkaisuja löytyy, kun laitat hakusanaksi asia+"karvinen". Jos joudut katsomaan läpikävelyohjetta (eli askel askeleelta ratkaisua tähän nimenomaiseen kysymykseen), merkitse se selkeästi. Samantapaisten tehtävien ohjeet (esim jonkun toisen palvelun SQL-injektio) eivät ole läpikävelyohjeita, niitä tarvitaan lähes aina.
- Muista viitata kaikkiin lähteisiin
- Onko tosi helppoa? No, me muut voimme keskittyä ihailemaan. Saat lisähaastetta tekemällä vapaaehtoisia lisätehtäviä, laatimalla nerokkaita ja helppotajuisia analyysejä tehtäviin sekä antamalla hyviä vinkkejä rinnakkaisarvioinnissa.
- Viittaa jokaisessa raportissa kaikkiin lähteisiin. Ainakin tämä tehtäväsivu on lähteenä. Muita ovat usein man-sivut, toisten kotitehtäväraportit, ohjeet, weppisivut....
Nmap (ulkomuistista, joten komennot saattavat vaatia hieman hienosäätöä)
$ man nmap
$ sudo nmap localhost
$ sudo nmap -p- localhost
$ sudo nmap -A localhost
$ sudo nmap -Pn localhost
h2 Scanning Cyberspace
Seuraa työkalujen toimintaa toisella työkalulla. Esim. seuraa porttiskanneria snifferillä. Irrota tarvittaessa tietokoneet Internetistä kokeilujen ajaksi.
- 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.)
- Lyon 2009: Nmap Network Scanning: Chapter 15. Nmap Reference Guide:
- Port Scanning Basics (opettele, mitä tarkoittavat: open, closed, filtered; muuten vain silmäily)
- Port Scanning Techniques (opettele, mitä ovat: -sS -sT -sU; muuten vain silmäily)
- KKO 2003:36. Alaikäinen tuomittiin Osuuspankkikeskuksen porttiskannaamisesta, korkeimman oikeuden ratkaisu.
- Vapaavalintainen läpikävely 0xdf tai ippsec (Kannattaa valita helppo; esim "Base Points: Easy")
- Lyon 2009: Nmap Network Scanning: Chapter 15. Nmap Reference Guide:
- a) Asenna Kali virtuaalikoneeseen
- b) Asenna Metasploitable 2 virtuaalikoneeseen
- c) Tee koneille virtuaaliverkko, jossa
- Kalin ja Metasploitablen välillä on host-only network, niin että porttiskannatessa ym. koneet on eristetty intenetistä, mutta ne saavat yhteyden toisiinsa
- Osoita eri komennoilla, että Internet-yhteys katkeaa: 'ping 1.1.1.1', 'ping www.google.com', 'curl www.google.com'
- Vapaaehtoisena lisänä: Kali saa yhteyden Internettiin, mutta sen voi laittaa pois päältä.
- d) Etsi Metasploitable porttiskannaamalla (db_nmap -sn). Tarkista selaimella, että löysit oikean IP:n - Metasploitablen weppipalvelimen etusivulla lukee Metasploitable. Katso, ettei skannauspaketteja vuoda Internetiin - kannattaa irrottaa koneet netistä skannatessa. Seuraa liikennettä snifferillä.
- e) Porttiskannaa Metasploitable huolellisesti (db_nmap -A -p0-). Analysoi tulos. Kerro myös ammatillinen mielipiteesi (uusi, vanha, tavallinen, erikoinen), jos jokin herättää ajatuksia. Seuraa liikennettä snifferillä.
- f) Tallenna portiskannauksen tulos tiedostoon käyttäen nmap:n omaa tallennusta (nmap -oA foo).
- g) Tallenna shell-sessio tekstitiedostoon script-työkalulla (script -fa log001.txt)
- h) Etsi kaikki maininnat jostain osoitteesta, palvelusta tai vastaavasta kaikista tallennetuista tuloksista ja lokeista (grep -ir tero).
- i) Anna esimerkit nmap ajonaikaisista toiminnosta. (man nmap: runtime interaction)
- j) Vapaaehtoinen: tee joka viikonpäivä jokin tunkeutumisharjoitus. Kurssilla olet tutustunut moniin alustoihin: OverTheWire, WebGoat, PortSwigger Academy, Metasploitable.
Vinkit
- Virtuaalikoneiden asennuksesta samaan virtuaaliverkkoon löytyy vanhoja raportteja hakukoneista
- Virtuaalikoneet voi asentaa käsin ja säätää verkon VirtualBoxin graafisesta käyttöliittymästä; tai käyttää Vagrantia.
- Metasploitable2 asentaminen käsin VirtualBoxiin: tee ensin uusi tavallinen amd64 virtuaalikone. Kun asennus pyytää valitsemaan levyn tyypin, valitse valmis levykuva ja käytä Metasploitable2 zip-paketista purkamaasi levykuvaa.
- Vagrantilla Karvinen 2021: Two Machine Virtual Network With Debian 11 Bullseye and Vagrant
- Koneina saattaisivat toimia
- kalilinux/rolling
- Sliim/metasploitable2 tai daniele2010/Metasploitable2
- Jos koneilla on eri kuva (box), niin kummankin koneen määrittelyn sisällä mainitaan kone, suunnilleen ja ulkomuistista: t001.vm.box = "kalilinux/rolling"
- Koneina saattaisivat toimia
- 'script -fa log001.txt'
- Nmap runtime interaction: verbosity v/V, help ?, packet tracing p/P, status s (ja moni muu nappi)
h3 Fuff faster
- 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 2023: Find Hidden Web Directories - Fuzz URLs with ffuf
- Karvinen 2022: Cracking Passwords with Hashcat
- Karvinen 2023: Crack File Password With John
- a) Asenna Hashcat ja testaa sen toiminta murtamalla esimerkkisalasana.
- b) Salainen, mutta ei multa. Ratkaise dirfuzt-1 artikkelista Karvinen 2023: Find Hidden Web Directories - Fuzz URLs with ffuf
- c) Asenna John the Ripper ja testaa sen toiminta murtamalla jonkin esimerkkitiedoston salasana.
- d) Fuffme. Asenna Ffufme harjoitusmaali paikallisesti omalle koneellesi. Ratkaise tehtävät (kaikki paitsi ei "Content Discovery - Pipes")
- Basic Content Discovery
- Content Discovery With Recursion
- Content Discovery With File Extensions
- No 404 Status
- Param Mining
- Rate Limited
- Subdomains - Virtual Host Enumeration
- e) 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 tunnilla opetelluilla 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 haitakkeen tekemiseen, 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ä binääriä ei tule ajaa oikeilla koneilla. Salasanan voit halutessasi kertoa varoitusten yhteydessä.
- f) Asenna Windows virtuaalikoneeseen. Voi olla esimerkiksi Metasploitable 3 tai Microsoftin sivuilta saatava ilmainen kokeiluversio.
- g) Ota Windowsiin graafinen etähallintayhteys Linuxista. Käytä RDP:tä eli Remote Desktop Protocol.
Vinkit
- 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
h4 Hactive Directory
- 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.)
- Valitsemasi Windows tai Active Directory -aiheinen artikkeli Nikitan kalvojen linkeistä, "Tooling and Resources"
- a) Ratkaise Nikitan / WithSecuren Windows-haaste. Älä julkaise läpikävelyohjetta, myöskään itse kirjoittamaasi. (Update: Tämä on nyt siis kerrankin sellainen tehtävä, johon voi vastata vain "tehty").
- b) Vaihtoehtotehtävä: jos sinulla ei ole tunnuksia a-kohdan haasteesen, tai sen käyttö osoittautuu muuten mahdottomaksi, asenna itse Windows-harjoitusmaaleja ja demonstroi niihin tunnilla opeteltuja tekniikoita.
Vinkit
- Kun jäät jumiin, kokeile eri vaihtoehdot. Ja sitten kun olet kokeillut, katso läpikävelystä ohjeet.
- Läpikävelystä kannattaa aluksi katsoa vain yksittäinen rivi lisää ja sitten kokeilla taas itse.
- Kuinka paljon läpikävelyä kannattaa katsoa? Mieti ainakin seuraavia:
- Aika - koko tehtävä tulee ratkoa ennen ennenkuin tunnukset sulkeutuvat joko lauantaina tai sunnuntaina.
- Hiekkalaatikossani lukee, että se sulkeutuu 2024-04-27 w17 lauantainta kello 14:00.
- Edit profile-kohdassa lukee, että se sulkeutuu 2024-04-28 sunnuntaina 10:42.
- Käytä tarvittaessa läpikävelyohjetta, jotta ehdit käydä tehtävän läpi ajoissa.
- Omat taidot. Jos on jo kokemusta lipunryöstöstä, keksit useita lähestymistapoja ja homma etenee, kannattaa jatkaa pidempään ennen vinkkejä. Jos Windows-taidot ovat tasoa 95 ja NT, olet jumissa, eikä jumppatauko auta, kannattaa katsoa vinkkejä nopeammin.
- Aika - koko tehtävä tulee ratkoa ennen ennenkuin tunnukset sulkeutuvat joko lauantaina tai sunnuntaina.
- Läpikävelyohje ja Nikitan kalvot löytyvät Moodlesta
- Vaikka tässä ei julkaista läpikävelyohjeita, kannattaa tehdä muistiinpanot omaan käyttöön.
- Hauskaa hakkerointia!
h5 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:
- Karvinen 2020: Using New Webgoat 2023.4 to Try Web Hacking
- 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 toimi 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. Malliratkaisun kopioiminen ZAP:n tai selaimeen ei ole vastaus tehtävään, vaan ratkaisu ja haavoittuvuuden etsiminen on selitettävä ja perusteltava.
- Insecure Direct Object Reference (IDOR)
- Path traversal
- Server Side Template Injection (SSTI)
- g) Server-side template injection with information disclosure via user-supplied objects (Tämä on merkitty hieman vaikeammaksi, jätä viimeiseksi jos näyttää hankalalta)
- Server Side Request Forgery (SSRF)
- Cross Site Scripting (XSS)
- k) Asenna Webgoat 2023.4. (Uusi versio, jossa on eri tehtäviä kuin vanhemmissa. Jos olet jo asentanut sen, ei tarvitse raportoida asennusta uudelleen; raportoi silloin vain pelkkä testi, jolla toteat sen toimivaksi.)
- l) Asenna pencode ja muunna sillä jokin merkkijono (encode a string).
- Ratkaise WebGoat 2023.4:
- m) (A1) Broken Access Control (WebGoat 2023.4. Pitää olla nimenomaan tämä versio. Eri versioissa on eri tehtävät.)
- Hijack a session (1) [vaikea]
- Insecure Direct Object References (4) [vaikeita kohtia]
- Missing Function Level Access Control (2) [Ei kohtaa 4 "The company fixed the problem, right?", se saattaa olla rikki]
- n) (A7) Identity & Auth Failure (WebGoat 2023.4)
- Authentication Bypasses (1)
- Insecure Login (1)
- o) (A10) Server-side Request Forgery (WebGoat 2023.4)
- Server-Side Request Forgery (2)
- p) Client side (WebGoat 2023.4)
- Bypass front-end restrictions (2)
- m) (A1) Broken Access Control (WebGoat 2023.4. Pitää olla nimenomaan tämä versio. Eri versioissa on eri tehtävät.)
- Vapaaehtoinen: Ratkaise lisää WegGoat-tehtäviä.
- Vapaaehtoinen: Ratkaise lisää PortSwigger Labs -tehtäviä.
Vinkit
- Firefox ei enää ohjaa proxyyn liikennettä mihinkään 127-alkuiseen IP-osoitteeseen eikä localhostiin. Mutta Foxyproxyn avulla se onnistuu.
- OWASP ZAP Download-sivun sopivin JAR on "Cross Platform Package", noin 250 MB.
- Proxya voi testata vaikkapa Metasploitablen weppipalveluiden kanssa.
- Älä tee hyökkäyksiä mihinkään muualle kuin harjoitusmaaleihin
- ZAP TLS-yhteyksien avaamiseen CA-sertifikaatti löytyy Tools: Options alta, hakusanaksi "Certificate".
- Firefoxissa Settings ja hakusanaksi "Certificate"
- ZAP:n tärkein toiminto: Requester tab.
- Löytyy historiasta oikeaa nappia painamalla.
- 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
- ZAPin oppaita pikaisella nettihaulla
- Kulonpää 2021: Tunkeutumistestaus vko. 5
- South Dakota Information Security 2018 - OWASP ZAP Tutorial - Part 1: Intercepting Traffic
- PortSwiggerin tehtävissä voi käyttää välimiesproxyna ZAP:ia. 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 - ja kun olet ratkaissut nämä tehtävät, olet hakkeroinut taas melkoisen setin.
h6 Lähtölaskenta
Lipunryöstö lähestyy, ja samalla kurssin päätös. Nyt valmistaudut lipunryöstöön, ja kurssin jälkeiseen elämään. Tieteellisten artikkeleiden silmäily auttaa oppariaiheen valinnassa. Harjoitusmaalit opettavat käytännön hakkerointia.
Seuraava hakkerointikurssi on Sovellusten hakkerointi ja haavoittuvuudet ICI012AS3A-3001. Kannattaa merkitä ilmoittautumisaika kalenteriin, 2024-05-15 w20 keskiviikkona kello 08:00 Pepissä.
- a) Cheatsheet. Kerää parhaat komennot lipunryöstöä varten. Lähteinä voit käyttää omia ja kurssikavereiden läksyraportteja, vanhoja cheatsheet:eja sekä vierailijoiden kalvoja. (Kerää nimenomaan ne komennot ja sisältö, ei pelkkää linkkilistaa, ei pelkkää kuvailua. Tässä alakohdassa komentoja ei tarvitse kokeilla koneella).
- b) Review. Etsi ja tiivistä vertaisarviotu katsausartikkeli valitsemaltasi kyberturvallisuuden tai hakkeroinnin alalta.
- "review" - yleensä katsausartikkeli nimessä on sana "review". Se pyrkii antamaan käsityksen alan tutkimuksesta juuri tällä hetkellä. Scholarlissa on myös nappi, jolla se yrittää näyttää vain review-artikkelit.
- Tuoretta, jos ei löydy alle 2v, niin edes alle 5v.
- 1 <= jufo. Julkaistu arvostetussa vertaisarvioidussa lehdessä. Eli lehti löytyy Jufosta eli Julkaisufoorumin portaalista https://jfp.csc.fi/, ja sen taso on vähintään yksi.
- Myös muualta kuin lehden kotisivulta ladattu kappale julkaistua artikkelia kelpaa, esim "final draft" sopii.
- Ei yleistajuisia kirjoja tai lehtiartikkeleita: ei Mikrobitti, ei Tietotekiikan perusteet osa I, ei "Tiede 2000" -aikakauslehti
- Älä maksa artikkeleista. Yleensä ilmainen latauslinkki löytyy Google Scholarlista oikealta. Haaga-Helian maksamat saa näkyviin Settings: Library Links: Haaga-Helia.
- Englanninkielinen käyttöliittymä toimii paremmin https://scholar.google.com/ncr
- Olennaisin sisältö tiivistelmään. Ei pelkkää metatekstiä tai artikkelin kuvailua:
- Väärin: "Artikkeli kertoo uusista tuulista tietotekniikan parissa. Mukana on yllättävä havainto kiristyshaitakkeista"
- Oikein: "Kiristyshaitakkeiden määrä kasvoi 30% vuoden 2023 aikana Foobarstanissa"
- Suppeahko tiivistelmä ranskalaisilla viivoilla riittää
- Kannattaa lisätä omat huomiot tai kysymykset mukaan. Merkitse selkeästi, mitkä ovat omaa pohdintaa.
- Jos artikkeli on pitkä (yli 4 sivua), voit silmäillä sen lukemisen sijasta.
- c) Valmiina lipunryöstöön. Asenna läppärillesi tarvittavat työkalut lipunryöstöön. Hyökkäyskone voi olla virtuaalikone. Se ei saa sisältää luottamuksellisia tietoja, koska sitä voi olla tarpeen tarkistaa ja tutkia harjoituksen yhteydessä. Koneella saatetaan ajaa testibinäärejä ja kontteja; sekä tarkastamiseen liittyviä ohjelmia. Harjoituksessa saattaa olla Docker-kontteja, kokeile, että Docker toimii (Muistaakseni 'sudo apt-get -y install docker.io').
- d) Vapaaehtoinen: Seurantaan: Tee haku, joka lähettää alasi artikkelit automaattisesti sähköpostiin. Kannattaa miettiä tässä tulevaa opinnnäytetyön aihetta. Yleensä aluksi artikkeleita tilataan liikaa, ja sitten tiukennetaan seulaa joka kerta kun saa uusia artikkeleita. [update: Google Scholar -haku akateemisista artikkeleista]
- e) Vapaaehtoinen: Treenaa. Hakkeroimaan oppii hakkeroimalla. Tunnet jo monia harjoitusalustoja: Metasploitable, PortSwigger Academy, Over the Wire, WebGoat...
- f) Vapaaehtoinen: Palauta "h7 bonus" samassa aikataulussa kuin h6, jos haluat tehdä sen.
h7 Bonus
- a) Vapaaehtoinen: Parannus: Luettele ja linkitä tehtävät, joihin olet tehnyt olennaisia parannuksia palauttamisen jälkeen.
- b) Vapaaehtoinen: Bonus: Luettele tekemäsi vapaaehtoiset bonustehtävät.
- c) Vapaaehtoinen: Liput: Luettele ja linkitä kurssin ulkopuolella tekemäsi lipunryöstöt ja hakkerointihaasteet. Laita mukaan kuvakaappaus kunkin pistetaulusta tms.
Adminstrivia
Sprial shell icon by Emoji One, received under CC-by 4.0 international license.
This page will keep updating during course.