Tunkeutumistestaus ict4tn027-3010
Syksy 2022
Learn to hack computers to protect your own. In the course, you will break into target computers.
Excellent feedback, 4.9 out of 5.
Course name and code | Tunkeutumistestaus ict4tn027-3010 |
Timing | 2022 period 2 late autumn, w43-w50 |
Credits | 5 cr |
Classes | Mon 08:15 - 13:45, online, mandatory participation |
Max students | 30 |
Language | Finnish (+reading material in English) |
Remote | Yes, fully remote |
Feedback | 4.9 / 5 Excellent feedback |
Services | Moodle: Tunkeutumistestaus, Jitsi, Laksu |
First class | 2022-10-24 w43 Mon 08:15, Tero emailed video conference link |
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.
Tämä on eettinen hakkerointi -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.
Kertausmateriaalia
Tämä materiaali on vapaaehtoista, jos osaat ne jo. Lähteet ovat esimerkkejä, voit osata/opetella nuo asiat mistä vain haluat. Alkutestin kysymykset eivät rajoitu tähän materiaaliin.
- TCP/IP-pino: Wikipedia: Internet protocol suite
- Linuxin komentokehote: Command Line Basics Revisited
- 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
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 - 13:45 Jitsissä.
- 2022-10-24 w43 ma Alkutesti. Pentest yleiskuva. Kurssin sääntöjen hyväksyntä ja alkutesti. Yleiskuva. Kohteiden rajaus (scope), lailliset rajat, etiikka, nuhteeton tausta. Hyökkäykseen sopivien työkalujen hankinta.
- 2022-10-31 w44 ma Kybertappoketju. Valmiiden hyökkäysten käyttö, Metasploit. Harjoitusmaalien hankkiminen.. Hyökkäyksen suunnittelu ja toteutus kybertappoketjun (Hutchins et al. cyber kill chain) avulla. Metasploit. Porttiskannausten tallentaminen tietokantaan. Murtotekniikan ja etähallintaohjelmiston yhdistäminen. Harjoitushyökkäyksiä. Esimerkkihyökkäys ja vilkaisu työkaluihin (nmap, nc, metasploit search, use, set RHOSTS, exploit).
- 2022-11-07 w45 ma Hyökkäykset weppiin: useita tekniikoita.. WebGoat. OWASP 10 A2 broken authentication, A3 sensitive data exposure, A7 XSS, 2013A8 CSRF.
- 2022-11-14 w46 ma Tiedustelu. “Mittaa kahdesti, leikkaa kerran”. Passiivinen ja aktiivinen tiedustelu. Porttiskannus, verkkojen skannaus ja niiden oheistekniikat. KKO 2003:36. Nmap-porttiskanneri.
- 2022-11-21 w47 ma Vierailija: Riku Juurikko: Social Engineering (09:00). Välimiesproxyt. Mitmproxy, OWASP ZAP. TLS-salauksen purkaminen omalla CA-sertifikaatilla.
- 2022-11-28 w48 ma Vierailija: Otto Ebeling: Security bugs, bounties, and cryptocurrency/blockchain (09:30). OSINT.
- 2022-12-05 w49 ma Salasanojen murtaminen, Välimiesproxyt, hieman kertausta.
- 2022-12-12 w50 ma Päätöskerta. Arvioitava laboratorioharjoitus, 4.5 tuntia, CTF.
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
- 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 -materiaalista? Hands-on tehtävistä?
- Miten voisin parantaa kurssia?
- Viihdyitkö kurssilla?
- Mitä pidit arvioitavasta labrasta?
- 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.
Tehtäviä saa aloittaa vasta, kun on hyväksynyt kurssin säännöt.
h0 alkutehtävä
a) Analysoi verkkoliikennettä. Palauta Laksuun.
Vinkkejä
- Mitä teit / minkä komennon annoit
- Mitä tapahtui / mitä tuli vastaukseksi
- Analyysi edellyttää analyysia. Selitä omin sanoin, mistä on kyse ja mitä komentojen tulosteet tarkoittavat.
h1 kutsu, vuohi ja pimeän verkon päiväkirjat
Tee ja raportoi.
x) Lue ja tiivistä. Tässä x-alakohdassa ei tarvitse tehdä testejä tietokoneella, vain lukeminen ja tiivistelmä riittää). Tiivistämiseen riittää muutama ranskalainen viiva.
- Darknet Diaries tai Herrasmieshakkerit podcast, yksi vapaavalintainen jakso jommasta kummasta. Voi kuunnella myös lenkillä, pyykiä viikatessa tms. Siisti koti / hyvä kunto kaupan päälle.
a) Asenna WebGoat ja kokeile, että pääset kirjautumaan sisään.
b) Ratkaise WebGoatista tehtävät "HTTP Basics" ja "Developer tools". Katso vinkit alta.
c) Ratkaise Over The Wire: Bandit kolme ensimmäistä tasoa (0-2).
d) Asenna Kali Linux virtuaalikoneeseen.
e) Ratkaise 2021 Challenge.fi:stä yksi tehtävä, esim. 2021 Where was this picture taken, Encoding basics.
f) Kirjoita kahdelle kurssikaverille palaute h0-alkutehtävästä ja kahdelle h1 raportista (Tätä f-alakohtaa ei tarvitse kirjoittaa raporttiin, sillä sehän kirjoitetaan Laksuun vasta kun raportti on palautettu. Ja jatkossa aina läksyn palautuksen jälkeen kirjoitetaan palaute kahdelle kurssikaverille. Ps. muista palauteskaba)
g) Vapaaehtoinen: Ratkaise lisää WebGoat-tehtäviä. Kuinka pitkälle pääsit?
h) Vapaaehtoinen, haastava: Ratkaise useita WebGoat -tehtäviä.
Vinkkejä: "HTTP Basics": HTTP request ja response näkyvät F12 Console: Network. Voit jättää "HTTP Proxies" myöhemmäksi, tämän kotitehtävän voi ratkoa ilman proxya. OWASP Zap on hyvä, niin myös mitmproxy. "Developer Tools": F12 Console.
h2 it's raining shells
Muista kohdistaa hyökkäykset vain harjoitusmaaleihin ja tarkistaa osoitteet. Irroita tarvittaessa koneet netistä.
x) Lue artikkelit ja katso videot, tee kustakin muistiinpanot (muutama ranskalainen viiva per artikkeli/video). Tässä x-kohdassa ei tarvitse tehdä mitään kokeita koneella.
- € Jaswal 2020: Mastering Metasploit - 4ed: Chapter 1: Approaching a Penetration Test Using Metasploit (kohdasta "Conducting a penetration test with Metasploit" luvun loppuun)
a) Metasploitable. Asenna Metasploitable 2 samaan eristettyyn virtuaaliverkkoon hyökkäyskoneesi kanssa. (Jos teit tämän jo tunnilla, voit halutessasi kirjoittaa muistinvaraisest, mutta merkkaa silloin, että on muistoista kirjoitettu)
b) Scan scan. Porttiskannaa Metasploitable 2, käytä myös oheistekniikoita (banner grabbing, NSE...). Analysoi porttiskannauksen tuloksia. Koska avoimia portteja on melko paljon, voit nostaa muutaman portin tarkempaan tarkasteluun. Mitä mieltä olet kokonaisuudesta? Mitkä palvelut tai portit vaikuttaisivat sopivimmalta aloittaa tunkeutuminen? Mitä tietoa saat pelkän porttiskannauksen tuloksista? Tallenna porttiskannauksen tulokset Metasploitin tietokantaan ja tiedostoihin.
c) Murtaudu Metasploitableen.
d) Murtaudu Metasploitableen jollain toisella tavalla (eri kuin edellisessä kohdassa)
e) Vulnhub. Asenna jokin kone VulnHubista ja tunkeudu siihen. Kannattaa valita helppo.
h) Vapaaehtoinen: Asenna ja korkkaa Metasploitable 3. Karvinen 2018: Install Metasploitable 3 – Vulnerable Target Computer
i) Vapaaehtoinen: Asenna ja korkkaa Metasploitable 3 Windows, kuten edellisessä kohdassa mutta vm.box "rapid7/metasploitable3-win2k8". Viimeksi kokeillessani Windows-version asennuksessa oli sekalaisia hankaluuksia.
j) Vapaaehtoinen, haastava: korkkaa jokin HTB:n kone.
Vinkkejä:
- Jos jäät jumiin, katso esimerkkiratkaisuja (ja muista laittaa lähdeviite). Metasploitable 2:n löytyy Metasploitable 2 Exploitability Guide.
- 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.
- Löydätkö hyökkäyksen, joka tukee meterpreter-payloadia? Onnistutko ylentämään meterpreteriin (sessions -u 1)?
- 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
- Metaspoit (sudo msfdb run) on hyvä työkalu tunkeutumiseen.
- db_status, workspace, db_nmap, hosts, services, setg rhosts 127.0.0.1, exploit, ctrl-Z, sessions
- sudo nmap -sn 127.0.0.1-255 -oA sweep; sudo nmap -A -p 127.0.0.1 -oA one
- 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.
h3 SELECT pwned
x) Lue/katso/kuuntele ja tiivistä. Tässä alakohdassa ei tarvitse tehdä testejä tietokoneella, vain lukeminen ja tiivistelmä riittää). Tiivistä ranskalaisilla viivoilla.
- OWASP 10 2017 (pdf): A1 Injection, A2 Broken Authentication, A3 Sensitive Data Exposure, A7 Cross Site Scripting. (Poimi kustakin kolmesta hyökkäyksestä, miten ne käytännössä tehdään)
- € Percival & Samancioglu 2020: The Complete Ethical Hacking Course (video): Chapter 21: Cross Site Scripting (7 videota, noin 25 min)
y) Cross site story. Kirjoita kuvitteellinen esimerkki XSS-hyökkäyksestä. Tee mahdollisimman yksinkertainen esimerkki. Voit vaikkapa ottaa haltuun weppisivun ylläpitäjän oikeudet viemällä keksin. Tässä alakohdassa ei tarvitse tehdä mitään tietokoneella, pelkkä tarina riittää. Tarkoituksena on ymmärtää XSS-hyökkäyksen kokonaisuus ennen sormiharjoituksia. Voi halutessasi myös piirtää itse kaavion / sarjakuvan.
Tee selväksi ja erottele
- Mitä hyökkääjä tekee
- Mitä kohdehenkilö tekee
- Mitä sivua / palvelinta kohdehenkilö surffailee
- Missä JavaScriptit ajetaan
- Miten keksi päätyy hyökkääjälle
- Miten hyökkääjä hyödyntää keksiä?
- Mitä hyökkääjä pääsee tekemään (mikä ei onnistuisi ilman hyökkäystä)?
Tee ja raportoi
a) SELECT * FROM student. Ratkaise SQLZoo:sta: 0 SELECT basics, 2 SELECT from World kohdat 1-5.
b) Darn Low Security. Etsi Metasploitable 2 weppipalvelin. Tee paikallinen tunnus DVWA Damn Vulnerable Web App -ohjelmaan. Aseta vasemman reunan palkista "DVWA Security" Low.
c) Execute! Ratkaise DVWA "Command Excution". ("DVWA Security" on paras olla "Low")
d) Ratkaise WebGoatista:
- A1 Injection (intro)
- A2 Broken authentication:
- Authentication bypasses: 2 2FA Password Reset
- A3 Sensitive data exposure
- Insecure Login: 2 Let's try
- A7 Cross Site Scripting (XSS): Cross site scripting
- 2 What is XSS?
- 7 Try It! Reflected XSS
- A8:2013 Request Forgeries:
- Cross-Site Request Forgeries
- 3 "Basic Get CSRF Exercise"
- 4 "Post a review on someone else’s behalf".
- Cross-Site Request Forgeries
Vinkkejä
- Muista merkitä kurssi ja kaikki muutkin lähteet - mikä tieto on mistäkin.
- O'Reilly Learning (ent. Safari) on HH opiskelijoille ilmainen HH kirjaston kautta.
- Jos joudut katsomaan suoraan esimerkki/malliratkaisun, merkitse se raporttiin.
- Komentoinjektio: ystäväsi ovat komentojen erottimet ';', '||', '&&' sekä pipe '|'. Ja tietysti vanhat kunnon lainausmerkit.
- 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.
- Webgoat: A1 Injection (intro)
- Millaiset lainausmerkit SQL:ssä olikaan?
- Jos nostat kaikkien palkkaa, oletko enää rikkain?
- Nämä nimet ("A1 Injection") ovat samat kuin OWASP 10:ssä.
- Jos SQL kaipaa virkistystä, SQLZoo harjoitukset ja Wikipedia: SQL syntax voivat auttaa.
- XSS, cross site scripting. Mieti, miten tällä murtaudutaan jonnekin.
- Authentication Bypasses: F12 Inspector muokkaa myös HTML-lomakkeita.
- Insecure login: snifferin käyttö on tässä realistisempaa kuin F12, joten esim 'wireshark', "tshark -i any -V -Y 'http.request.method == POST'" tai 'sudo ngrep -d lo assword'.
- A7:2017 Cross Site Scripting: JavaScript-bookmarkletit eivät oletuksena toimi enää monissa selaimissa, käytä JavaScriptin ajamiseen F12 Console. Cross Site Scripting: script-tagit. "Try It! Reflected XSS" on läpi, kun yllä numeron tausta muuttuu vihreäksi, vaikka se sanoo "Well done, but ... Please continue.".
- "Identify potential for DOM-Based XSS": jos löysit jo oikean kohdan JavaScriptistä ja kokeilit yhtä monta vaihtoehtoa kuin moolissa on rakenneyksiköitä, lunttaa oikea palautusmuoto netistä ja jatka eteenpäin.
- Basic Get CSRF Exercise: tee oma weppisivu. Jos file:// ei toimi, 'python3 -m http.server' tai Apache httpd.
- Uudesta OWASP top 10 - 2021 ei ole vielä(kään) 2022 syksyllä julkaistu PDF-versiota. Voit lukea uutta OWASP Top 10 - 2021 versiota wepistä
h4 Intelligence cap
Ole huolellinen näiden työkalujen kanssa. Porttiskannereita ja vastaavia ohjelmia saa käyttää vain harjoitusmaaleihin. Liikennettä tulee seurata toisella ohjelmalla (esim snifferi, kaikki verkkokortit on usein "any"). Osoitteiden (esim. IP-numeroiden) kanssa tulee olla tarkkana. Voit käyttää vain sellaisia työkaluja, joiden toiminnan ymmärrät kohtuullisesti. Missään tehtävässä ei tehdä palvelunestohyökkäyksiä, eli älä lähetä kohdekoneille järjetöntä määrää dataa tai pyyntöjä järjettömällä nopeudella. Kurssin säännöissä ja oppitunnilla on annettu tarkempia ohjeita.
x) Lue artikkelit ja katso videot, tee kustakin muistiinpanot (muutama ranskalainen viiva per artikkeli/video). Tässä z-kohdassa ei tarvitse tehdä mitään kokeita koneella.
- € 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.
- Lyon 2009: Nmap Network Scanning: Chapter 1. Getting Started with Nmap Suoraan hevosen suusta: Gordon Lyon aka Fyodor Vaskovich on kirjoittanut tuon menestyneen kirjan lisäksi nmapin. Kirja maksaa 40 eur, mutta reiluna kaverina Gordon oli laittanut juuri tähän sopivat luvut ilmaiseksi nettiin.
- Silmäile (ei tarvitse lukea kokonaan, 40 liuskaa pitkä): 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)
- Silmäile (ei tarvitse lukea kokonaan): man nmap
Tee ja raportoi:
Miten nmap toimii? Tee nmapilla seuraavat testit, sieppaa liikenne snifferillä (wireshark) ja analysoi tulokset. Tee testit mahdollisimman suppeasti, jotta analysointi on helpompaa. Esimerkiksi skannaa vain yksi portti yhdestä koneesta, jos ominaisuuden esittely ei hyöydy laajemmasta skannauksesta. Selitä myös, miksi nmap lähettää tuollaisia paketteja. Käytä nmap:ia normaalisti sudo:n kanssa. Kannattaa tietysti aloittaa lukemalla man-sivulta tai Nmap Reference Guidesta, mitä noilla toiminnoilla on ylipäänsä tarkoitus tehdä. Porttiskannaa ainoastaan omaa konetta omassa verkossa ja harjoitusmaaleja. Analyysi ja selittäminen on tärkeää. Toki tarvitaan ote snifferin lokista, komento ja ote sen tulosteesta, mutta ne eivät riitä ilman selitystä.
a) nmap TCP connect scan -sT
b) nmap TCP SYN "used to be stealth" scan, -sS (tätä käytetään skannatessa useimmin)
c) nmap ping sweep -sn
d) nmap don't ping -Pn
e) nmap version detection -sV (esimerkki yhdestä palvelusta yhdessä portissa riittää)
f) nmap porttien valinta -p1-100, --top-ports 5, -p-
g) nmap ip-osoitteiden valinta; luettelo, verkkomaskilla 10.10.10.0/24, alku- ja loppuosoitteella 10.10.10.100-130 (ipcalc auttaa ymmärtämään, miten verkkomaskia tulkitaan)
h) nmap output files -oA foo. Miltä tiedostot näyttävät? Mihin kukin tiedostotyyppi sopii?
k) nmap ajonaikaiset toiminnot (man nmap: runtime interaction): verbosity v/V, help ?, packet tracing p/P, status s (ja moni muu nappi)
l) normaalisti 'sudo nmap'. Miten nmap toiminta eroaa, jos sitä ajaa ilman sudoa? Suorita ja analysoi esimerkki.
m) nmap, vertaile -A ja ilman kestoa koneeseen, jossa on useita portteja auki (esim Metasploitable 2). Voit arvioida lisäksi lähetetyn datan määrää, jos ostaat. (time, nethogs, wireshark).
d) Ninjojen tapaan. Piiloutuuko nmap-skannaus hyvin palvelimelta? Vinkkejä: Asenna Apache. Aja nmap-versioskannaus -sV omaan paikalliseen weppipalvelimeen. Etsi Apachen lokista tätä koskevat rivit. Wiresharkissa "http" on kätevä filtteri, se tulee siihen yläreunan "Apply a display filter..." -kenttään. Nmap-ajon aikana p laittaa packet tracing päälle. Vapaaehtoinen lisäkohta: jääkö Apachen lokiin jokin todiste nmap-versioskannauksesta?
UDP-skannaus. "Mulla olis vitsi UDP:sta, mutta en tiedä menisikö se perille":
e) Mitkä ovat tavallisimmat tai kiinnostavimmat palvelut, joita UDP-skannauksella voisi löytää? (tässä alakohdassa vain vastaus viitteineen, ei tarvita testiä tietokoneella)
f) Miksi UDP-skannaus on hankalaa ja epäluotettavaa? Miksi UDP-skannauksen kanssa kannattaa käyttää --reason flagia? (tässä alakohdassa vain vastaus viitteineen, ei tarvita testiä tietokoneella)
g) Vapaaehtoinen bonuskohta: näytä esimerkki onnistuneesta UDP-skannauksesta, sekä jonkin UDP:n erityisominaisuuden takia epäonnistuneesta tai harhaanjohtavan tuloksen antavasta UDP-skannauksesta.
Vapaaehtoisia bonustehtäviä. Mihin tämä työkalu on tarkoitettu? Kokeile tätä työkalua omaan harjoitusmaaliin ja selitä tulokset:
h) Vapaaehtoinen: fuff (Hakemistojen kokeilu riittää, vapaaehtoisena bonuksena muutakin)
i) Vapaaehtoinen: nikto
h5 Kautta kiven ja kannon
x) Lue ja tiivistä valitsemasi Bellingcatin OSINT-opas.
y) SuomiOsint. Monet OSINT-oppaat keskittyvät isoihin maihin. Kuvaile jokin OSINT-lähde, joka sopii erityisesti Suomeen.
a) Zap. Asenna OWASP ZAP. Surffaile wepissä ja näytä, että liikenne näkyy proxyssa.
b) ZAP certificate. Sieppaa ZAP:lla TLS-salattua liikennettä.
c) Mitmproxy. Asenna mitmproxy. Surffaile wepissä ja näytä, että liikenne näkyy proxyssa.
d) Totally Legit Sertificate. Sieppaa Mitmproxylla TLS-salattua liikennettä.
e) Ratkaise valitsemasi WebGoat-tehtävä niin, että käytät välimiesproxya, esim ZAP tai Mitmproxy.
f) Bonus: kokeile jotain välimiesproxyn toimintoa, jota ei vielä katsottu tässä läksyssä tai tunnilla. Sopivan välimiesproxyn voit valita itse.