Penetration Testing Course 2021 Spring
itc4tn027-3005: Tunkeutumistestaus eli eettinen hakkerointi -kurssi
Learn to hack computers to protect your own. In the course, you will break into target computers.
Excellent feedback, last 4.9 out of 5; best 5.0 out of 5.
Update: two guests are coming: Riku Juurikko (Social engineering) and Mika Rautio (Credit card from hell).
Course is in late spring 2021. Teaching is in Finnish and all remote.
Teaching is in Finnish, so the rest of this page will be in Finnish. All my courses will be 100% remote learning in the spring 2021. Moodle (Haaga-Helia account required)
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.
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
Alustava aikataulu, johon tulee muutoksia kurssin kuluessa. Kurssi kestää loppusyksyn eli 2021 neljännen periodin. Kurssi toteutetaan kokonaan etäopetuksena, kuten kaikki Teron kurssit keväällä 2021. Tunnit ovat tiistaisin videokonffrenssina 12:00-17:30.
- 2021-03-30 w13 ti. 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.
- 2021-04-06 w14 ti. 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).
- 2021-04-13 w15 ti. Vierailija: Social Engineering, Riku Juurikko, Elisa. Hyökkäykset weppiin: useita tekniikoita. Prosessi: ATT&CK. WebGoat. OWASP 10 A2 broken authentication, A3 sensitive data exposure, A7 XSS, 2013A8 CSRF. Hyökkäyksen prosessi ATT&CK. Työkalujen käyttö hyökkäyksen eri vaiheissa. Lisäaihe, jos ylimääräistä aikaa jää: harjoitusmaalien hankintaa: HTB, VulnHub, Metasploitable.
- 2021-04-20 w16 ti. Vierailija: Credit Card from Hell, Mika Rautio, Poplatek. Tiedustelu. “Mittaa kahdesti, leikkaa kerran”. Passiivinen ja aktiivinen tiedustelu. Porttiskannus, verkkojen skannaus ja niiden oheistekniikat. KKO 2003:36. Nmap-porttiskanneri.
- 2021-04-27 w17 ti. Hyökkäykset weppiin: OWASP 10, SQLi ja muita weppihyökkäyksiä. OWASP 10 A1: SQL injektio. WebGoat harjoitusmaalina.
- 2021-05-04 w18 ti. Salasanojen murtaminen. Murtaminen tiivisteistä. Sanakirjahyökkäys verkon yli.
- 2021-05-11 w19 ti. Troijan hevoset ja Kertaus.
- 2021-05-18 w20 ti. Päätöskerta. Vierailu: Fake documents market in the darknet, Denis Polkhovskiy. 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")
Palautetta
Viime toteutuksella kurssi sai huippupalautteen: 5.0 / 5. Jokainen osallistuja antoi palautteen, ja jokainen palaute oli paras mahdollinen 5.0.
Joillain vanhemmilla toteutuksella kurssi on saanut palautteen kokonaisarvion "erinomainen", 4.9 / 5. Vanhojen kurssisivujen perässä on runsaasti vapaamuotoista palautetta.
http://terokarvinen.com/2019/penetration-testing-final-lab
http://terokarvinen.com/2018/penetration-testing-course-autumn-2018
Läksyt
Palauta linkki Moodleen 24 h ennen seuraavaa lukujärjestykseen merkittyä kurssivarausta. Kaikkien ajan säästämiseksi poistan kurssilta ne, jotka eivät palauta tehtäviä.
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.
h1 kutsu, vuohi ja pimeän verkon päiväkirjat
Tee ja raportoi.
a) Hanki kutsu HackTheBoxiin.
b) Asenna WebGoat ja kokeile, että pääset kirjautumaan sisään.
c) Ratkaise WebGoatista tehtävät "HTTP Basics", "Developer tools", "CIA Triad" ja "A1 Injection (intro)". Katso vinkit alta.
d) Asenna Kali Linux virtuaalikoneeseen. Kokeile jotain Kalin mukana tulevaa työkalua paikalliseen localhost-osoitteeseen.
e) Vapaaehtoinen: Ratkaise lisää WebGoat-tehtäviä. Kuinka pitkälle pääsit?
f) Vapaaehtoinen, haastava: Ratkaise kaikki WebGoat -tehtävät.
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. "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 -dokumentissa. Jos SQL kaipaa virkistystä, SQLZoo harjoitukset ja Wikipedia: SQL syntax voivat auttaa.
h2 kybertappoketju, nmap, metasploit ja harjoitusmaalit
Muista kohdistaa hyökkäykset vain harjoitusmaaleihin ja tarkistaa osoitteet. Irroita tarvittaessa koneet netistä.
z) 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.
- Hutchins et al 2011: Intelligence-Driven Computer Network Defense Informed by Analysis of Adversary Campaigns and Intrusion Kill Chains
- € Jaswal 2020: Mastering Metasploit - 4ed: Chapter 1: Approaching a Penetration Test Using Metasploit (kohdasta "Conducting a penetration test with Metasploit" luvun loppuun)
a) Listaa työkaluja ja tekniikoita, jotka sopivat kuhunkin kybertappoketjun vaiheeseen (Hutchins et al / Lockheed Martin Cyber Kill Chain). Listaa ainakin yksi työkalu tai tekniikka kuhunkin vaiheeseen. Kokeile 1-3 näistä työkaluista.
b) Metasploitable. Asenna Metasploitable 2. Murtaudu sille useilla tavoilla.
c) Asenna jokin kone VulnHubista ja tunkeudu siihen.
d) Vapaaehtoinen: Asenna ja korkkaa Metasploitable 3. Karvinen 2018: Install Metasploitable 3 – Vulnerable Target Computer
e) Vapaaehtoinen: Asenna ja korkkaa Metasploitable 3 Windows, kuten edellisessä kohdassa mutta vm.box "rapid7/metasploitable3-win2k8". Viimeksi kokeillessani Windows-version asennuksessa oli sekalaisia hankaluuksia.
f) 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.
Vinkkejä: 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ä.
Vinkkejä: Jos Metasploitable 2 -maali ei löydy omasta verkosta (arp, arpwatch, netdiscover...), 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.
Vinkkejä: Löydätkö hyökkäyksen, joka tukee meterpreter-payloadia? Onnistutko ylentämään meterpreteriin (sessions -u 1)?
Vinkkejä: 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.
h3 social engineering (ja vähän vuohikin)
z) Lue materiaali, ja tiivistä kukin muutamalla ranskalaisella viivalla.
- Rikun kalvot (älä mainitse esimerkkiyritysten tai organisaatioiden nimiä)
- OWASP 10 2017 (pdf), ne hyökkäykset, jotka osaamme jo, ja ne joita aiot kohta tehdä: A1 Injection, A2 Broken Authentication, A3 Sensitive Data Exposure, A7 Cross Site Scripting. (Kustakin hyökkäyksestä 3-5 bullettia, niin, että hyökkäykset erottuvat toisistaan ja ne pystyy tekemään.)
- € Santos et al 2018: Hacking Web Applications The Art of Hacking Series LiveLessons (video): Security Penetration Testing for Today's DevOps and Cloud Environments: Lesson 5: Authentication and Session Management Vulnerabilities
- € Percival & Samancioglu 2020: The Complete Ethical Hacking Course (video): Chapter 21: Cross Site Scripting
a) Rikun opit. Etsi verkosta tapaus, joissa yrityksiin on tunkeuduttu social engineeringin avulla. Analysoi tapausta Rikun oppien avulla. Olisiko ollut vaihtoehtoisia tai parempia tapoja toteuttaa hyökkäys? Millä keinoin hyökkäyksen olisi voinut estää, havaita tai rajoittaa sen vaikutusta? (Älä mainitse Rikun esimerkkiyrityksiä vastauksessasi.)
b) Rikun viitteet. Tiivistä tai poimi 3-5 avainoppia jostain (yhdestä) Rikun kalvoilla mainitusta lähteestä.
b) Vuohi etenee. Nämä ovat helpoimpia murtautumistekniikoita, jotka toimivat suurimpaan osaan maaleja, ja aiheuttavat suurimman vaikutuksen. Ratkaise WebGoatista nämä tehtävät:
- A2 Broken authentication:
- Authentication bypasses: 2 2FA Password Reset
- Secure Passwords: 4 How long could it take to brute force your password?
- 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
c) Vapaaehtoinen, suosittelen tekemään tämän: Laita linkki kotitehtäviisi kommenttina kurssisivun perään. Saat sisääntulevan linkin, kenties viittauksia artikkelihisi ja autat kurssikavereita. Jos haluat, voit mainita tekstissä muutamalla sanalla, mitä artikkeleistasi löytyy.
d) Vapaaehtoinen, vaikea: 0day. Kokeile tunnilla näytettyä nollapäivähyökkäystä. Irrota tarvittaessa koneet verkosta testin ajaksi, ja katso, ettei testisi häiritse verkkoja.
Vinkkejä:
- OWASP 10 hyökkäkset: kirjoita kustakin hyökkäyksestä (A1, A2...) sellaiset muistiinpanot, että 1) pystyt tekemään hyökkäksen 2) erotat hyökkäykset toisistaan.
- Lähetin Rikun kalvot PDF:nä sähköpostilla.
- 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 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.
h4 aktiivinen tiedustelu ja nmap
Aktiivista tiedustelua, active recon.
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. Lue ja tallenna itsellesi HackTheBoxin säännöt ennenkuin aloitat. Kurssin säännöissä ja oppitunnilla on annettu tarkempia ohjeita.
z) 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
a) 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.
Tässä a-kohdassa jokainen alakohta edellyttää siepattujen pakettien analyysia.
- TCP connect scan -sT
- TCP SYN "used to be stealth" scan, -sS (tätä käytetään skannatessa useimmin)
- ping sweep -sn
- don't ping -Pn
- version detection -sV (esimerkki yhdestä palvelusta yhdessä portissa riittää)
b) Nmap:n toimintoja. Kokeile, anna esimerkit, selitä tulokset ja käyttötarkoitus. Seuraa aina snifferillä, tarvittaessa perustele analyysisi siepatulla liikenteellä.
- porttien valinta -p1-100, --top-ports 5
- ip-osoitteiden valinta, verkkomaskilla 10.10.10.0/24, alku- ja loppuosoitteella 10.10.10.100-130 (ipcalc auttaa ymmärtämään, miten verkkomaskia tulkitaan)
- output files -oA foo
- version scanning -sV
- OS fingerprinting, version detection, scripts, traceroute -A (miksei mnemonic ole --and-kitchen-sink?)
- ajonaikaiset toiminnot (man nmap: runtime interaction): verbosity v/V, help ?, packet tracing p/P, status s (ja moni muu nappi)
- normaalisti 'sudo nmap'. Miten nmap toiminta eroaa, jos sitä ajaa ilman sudoa? Suorita ja analysoi esimerkki.
- vertaile -sV vs -A kestoa (ja lähetetyn datan määrää jos osaat; time, nethogs, wireshark)
c) Ninjojen tapaan. Aja nmap-versioskannaus -sV omaan paikalliseen weppipalvelimeen. Weppipalvelimeksi sopii esim 'python3 -m http.server' tai oma apache. Piiloutuuko nmap-skannaus hyvin palvelimelta? Vinkki: 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?
d) UDP-skannaus. "Mulla olis vitsi UDP:sta, mutta en tiedä menisikö se perille". Etsi tarvittaessa itse lähteet.
- Mitkä ovat tavallisimmat tai kiinnostavimmat palvelut, joita UDP-skannauksella voisi löytää?
- Miksi UDP-skannaus on hankalaa ja epäluotettavaa?
- Miksi UDP-skannauksen kanssa kannattaa käyttää --reason flagia?
- Vapaaehtoinen bonuskohta: näytä esimerkki onnistuneesta UDP-skannauksesta, sekä jonkin UDP:n erityisominaisuuden takia epäonnistuneesta tai harhaanjohtavan tuloksen antavasta UDP-skannauksesta.
e) Avaa yhteys HackTheBoxin verkkoon ja osoita, että yhteys toimii. Varmista esimerkkiosoitteella, että olet yhteydessä oikeaan HackTheBox maaliverkkoon. Voit esimerkiksi tarkistaa ipcalc:lla, että kyseessä on yksityinen IP. Kokeilla pingillä, että osoite vastaa vain, kun VPN-tunneli on päällä. Kokeilla surffata jotain sivua, joka näkyy vain tuolta maaliverkosta. Ja tietysti, että kaikki toimii odotetulla tavalla.
f) Tiedustele aktiivisesti joitakin HackTheBoxin koneita. Analysoi tulokset. Huomaa, että koneet pitää nykyisin käydä käynnistämässä weppiliittymästä. Käytä nmap-porttiskanneria. Seuraa koko ajan porttiskannerin toimintaa snifferillä, kuten tshark tai wireshark. HTB:n ratkaisut yhdessä sovitun salasanan taakse, jotta emme spoilaa toisten kilpailua. Pelkät komentojen tulosteet ilman analyysia eivät riitä, pääpaino on tulosten selittämisellä ja tulkinnoillasi. Vapaaehtoinen bonuskohta: Osaatko nimetä työkaluja, joilla löytämiäsi palveluita (tai jopa haavoittuvuuksia tai vanhempia versioita) voisi tutkia myöhemmin lisää tai jopa murtaa?
c) Vapaaehtoinen: Tiedustele aktiivisesti joitakin HackTheBoxin maalikoneita muillakin työkaluilla. Analysoi tulokset, pääpaino on vastauksessa tulkinnoillasi. Sopivia ovat esimerkiksi EyeWitness, nikto, wpscan, gobuster, openvas ja ffuf. Aputyökaluiksi sopii Linuxin komentokehote, grep, pythonpy... Voit valita näistä vain jonkin tai joitakin työkaluja. Seuraa työkalun toimintaa koko ajan snifferillä, ja käytä vain työkaluja, joiden toiminnan ymmärrät kohtuullisesti. HTB:n ratkaisut yhdessä sovitun salasanan taakse, jotta emme spoilaa toisten kilpailua.
e) Vapaaehtoinen, haastava: Korkkaa jokin HTB:n kone.
h5 walktrough
z) 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.
- Kolme vapaavalintaista walktrough-artikkelia. Voit etsiä läpikävelyitä esimerkiksi https://0xdf.gitlab.io/
- Kolme vapaavalintaista läpikävelyvideota. Voit etsiä esimerkiksi näistä https://www.youtube.com/channel/UCa6eh7gCkpPo5XXUDfygQQA/videos
Vinkkejä: Kannattaa valita maalikoneita, jotka on merkitty helpoiksi. Kannattaa välttää lukemasta sellaisen helpon maalikoneen läpikävely, jonka haluat itse ratkaista. Sen sijaan kannattaa lukea mahdollisimman samantapainen (samoja palveluita/työkaluja tms) läpikävely toisesta koneesta. Kannattaa etsiä artikkeleita 0xdf:n, videokanavan tms. muiltakin sivuilta kuin ensimmäiseltä, niin kaikki eivät päädy kirjoittamaan samasta tapauksesta. Jos tarvitset maalikoneita kokeiluihisi tai muuten vaan omaan hyökkäyslabraasi: https://www.vulnhub.com/
a) Etsi ja kokeile 5 uutta työkalua jostain lukemastasi/katsomastasi läpikävelystä.
b) Tiedustele ja analysoi 5 htb konetta perusteellisesti. Käytä ainakin nmap-porttiskanneria. Halutessasi voit käyttää lisäksi muita työkaluja, kuten eyewitness, nikto, wpscan, gobuster, gvm (openvas), msfconsole, ffuf, zaproxy, mitmproxy, sqlmap, searchsploit, exploitdb...
Vinkki: Selitä joka ikinen asia, jota porttiskannauksesta selviää. Arvioi selittämiäsi kohtia: ovatko asetukset erikoisia, palvelut tavallisia vai harvinaisia, uusia vai vanhoja. Onko haavoittuvan näköisiä kohtia? Millä työkaluilla voisit jatkaa selvitystä tai tunkeutumista?
c) Nimeä 1-3 walktrough:ta, joissa tunkeudutaan samantapaisiin palveluihin, joita käsittelit kohdassa b. Mitä työkaluja hyökkääjät käyttivät? Kokeile työkaluja (1-3 työkalua) ensin omassa ympäristössä, sitten HTB:n maalikoneita vastaan, raportoi ja arvioi tulokset.
Vinkki: Joudut todennäköisesti etsimään läpikävelyitä, joita et ole aiemmissa kohdissa nähnyt. Käytä eri työkaluja kuin ne, joita kokeilit aiemmissa kohdissa.
Vinkki: Jos HTB on alhaalla, voit etsiä tai asentaa oman harjoitusympäristön. Haavoittuvia virtuaalikoneita omaan verkkoon asennettavaksi löytyy esimerkiksi VulnHubista.
h) Vapaaehtoinen (haastava): korkkaa jokin htb:n kone.
h6 hash
z) Katso ja tiivistä muutamalla ranskalaisella viivalla:
- € Santos et al 2017: Security Penetration Testing - The Art of Hacking Series LiveLessons: Lesson 6: Hacking User Credentials (8 videos, about 30 min)
a) Googlen kärkeen - Vapaaehtoinen, mutta helppo ja suositeltava: lisää linkki tehtäviisi tämän sivun perään kommentiksi. Autat samalla kavereitasi, jotka voivat katsoa raporteistasi mallia.
b) Tee 3 tiivistettä eri ohjelmilla ja murra ne hashcatilla.
c) Tee oma sanalista itse tekemästäsi ja keksimästäsi weppisivusta.
d) Kokeile sanakirjahyökkäystä verkon yli omaan weppilomakkeeseen. (Vain omaan, eristetyssä verkossa olevaan lomakkeeseen. On kiellettyä tehdä näin kenenkään toisen koneelle.)
e) Murra jonkin tiedoston salajanasuojaus.
f) Vapaaehtoinen bonus: Kokeile sanakirjahyökkäystä verkon yli johonkin muuhun maaliin kuin weppiin.
g) Vapaaehtoinen bonus: Murra useiden tiedostojen salasanasuojaukset.
h) Vapaaehtoinen bonus: Tee oma ohjelma, joka kokeilee salasanoja verkon yli.
i) Vapaaehtoinen bonus: Tee oma ohjelma, joka murtaa tiivisteitä.
j) Vapaaehtoinen bonus: Katso ja poimi muutamalla bulletilla itsellesi olennaisimpia havaintoja: Yksi esitys viimeisimmästä HelSec:n virtuaalitapaamisesta. HelSec Twitchissä, voi löytyä myöhemmin myös HelSecin Youtube-kanavalta.
Vinkkejä:
- Voit avata esimerkiksi zip tai pdf-tiedoston salakirjoituksen. Yksi helppo vaihtoehto on zip2john.
- Linkki sivuusi voi nostaa sivusi PageRankkia, jolloin pääset Googlen hakutuloksissa ylöspäin. Jos laitat linkin nopeasti, saatat saada linkkejä myös kurssikavereilta.
- Tiivisteitä: Triviaalisti 'hashcat --example-hashes' näyttää sanan "hashcat" tiivistettynä monella tavalla, haastavammin voit tehdä käyttäjiä eri käyttöjärjestelmiin, ja poimia tiivisteitä meterpreter hashdump, mimikatz, cat /etc/shadow...
- Sanakirjahyökkäys weppiin onnistuu esimerkiksi hydra, ffuf... Tarvittaessa DuckDuckGoogle "hydra karvinen dictionary"
- Voit koodata maalilomakkeen itse vaikkapa Python Flask:illa. Jos haluat valmiin lomakkeen, asenna Juice Shop -harjoitusmaali ja käytä sitä.
- Sanalista Voit muuttaa sivun sanalistaksi vaikkapa cewl:lla tai omalla skriptillä. Älä käytä muiden sivuja esimerkkinä vaan tee oma sivu.
- Sanakirjaa verkon yli uuteen maaliin: Voit kokeilla esimerkiksi hydraa eri protokollaan Metasploitable 2:lla tai uuteen demoniin localhostilla. Hydra tukee esimerkiksi ssh:ta.
- Katso wepistä: samantapaisia hyökkäyksiä on tehty aiemmillakin kursseilla. Katso vinkkejä toisten raporteista, jos jäät jumiin. Muista lähdeviitteet.
h7 labra lähestyy
a) Palauta kaikki. Laita tähän a-kohtaan linkki jokaiseen kotitehtäväraporttiisi.
b) Tiedusteltu tiivistelmä - silmäile muiden kotitehtäväraportit, kerää lista parhaita komentoja ja havaintoja. Lainaa täsmällisesti, niin että komennot ja ideat käyvät selväksi koosteestasi. Muista merkitä lähteet. Näin saat oman tiivistelmän parhaista tunkeutumistekniikoista.
c) Viimeistely. Käy vanhat kotitehtäväsi läpi. Tarkista, että olet viitannut lähteisiin: tehtäväsivuun, kurssiin, muiden opiskelijoiden raportteihin, man-sivuihin, kotisivuihin ja ylipäänsä kaikkiin käyttämiisi lähteisiin. Lähdeviite tulee olla jokaisessa artikkelissa, jossa lähdettä on käytetty. Mikäli teet kotitehtäviisi lisää testejä tai kokeiluja, tee ne selkeästi jatkoksi uuden otsikon alle ja merkitse, milloin lisäykset on tehty. Historia ei voi enää muuttua.
d) Vapaaehtoinen bonus, haastava: Lipunryöstö. Jos olet onnistunut korkkaamaan HTB:n koneita tai muita lipunryöstöjä, luettele onnistumiset. Liitä mukaan ruutukaappaus esim. HTB:n sivusta, jossa lippusi on lueteltu. Myös puolikkaat huomioidaan, eli mainitse myös pelkät normaalit (ei root/SYSTEM) käyttäjät sellaisilta koneilta, joita et ole vielä kokonaan rootannut.
e) Vapaaehtoinen bonus: Googlen kärkeen: lisää linkki tehtäviisi tämän sivun perään kommentiksi.
Vinkkejä:
- Linkit sivuusi voivat nostaa sivusi PageRankkia, jolloin pääset Googlen hakutuloksissa ylöspäin. Jos laitat linkin nopeasti, saatat saada linkkejä myös kurssikavereilta, kun h-kohdassa muut viittaavat kotitehtäviisi.
- Toisten kotitehtäväraportteja löytyy tämän sivun kommenteista
- Lisää kotitehtäväraportteja löytyy hakukoneilla, myös edellisiltä toteutuksilta
- Tiedusteltu tiivistelmä on kätevä, kun teet arvioitavaa labraa tai tunkeudut muuten koneille
- Hauskaa valmistautumista arvioitavaan labraan