Kutsu sekä vuohi - Tunkeutumistestaus viikkotehtävä 1
TLDR
Tehtävässä hankin onnistuneesti kutsun HTB sivustolle, asensin WebGoatin sekä suoritin tehtäviä sieltä. Asensin myös Kali Linuxin virtuaalikoneelle sekä testasin sen mukana tullutta työkalua.
Käytän koko Tunkeutumistestaus kurssin ajan tehtävien tekemiseen Kali Linuxia VirtualBoxiin asennettuna.
Hanki kutsu HackTheBoxiin - Tehtävä A
Ensimmäisenä tehtävänä täytyi hankkia kutsu hack the box palveluun. Mikäli haluat itse rekisteröityä palveluun suosittelen kokeilemaan kutsun hankkimista omin avuin ennen tämän lukemista.
Aloitin menemällä HackTheBoxin kutsusivulle ja avaamalla selaimen konsolin painamalla f12 näppäintä.
Konsolin vihjeen mukaan sivusto lataa mielenkiintoisen javascript tiedoston. Debugger välilehdeltä löytyy inviteapi.min.js niminen tiedosto. Tiedostoa tarkastellessa sieltä löytyi kiinnostava pätkä tekstiä
function|console|log|makeInviteCode|ajax|type|POST|dataType|json|url||api|invite|how|to|generate|success|error
Kirjoitin konsolivälilehdelle makeInviteCode() ja sain seuraavanlaisen vastauksen
Vinkin mukaan etsin netistä ROT-13 decoderin ja selkokielelle käännettynä vastaus oli
In order to generate the invite code, make a POST request to /api/invite/generate
Tuumasta toimeen! Avasin terminaalin ja kirjoitin
curl -X POST https://www.hackthebox.eu/api/invite/generate
Vastauksemme on jälleen sekava merkkijono. Googletin “decoder” hakusanalla ja ensimmäinen tulokseni oli Base64Decoderi. Syötin post kutsusta vastauksena saadun merkkijonon ja lopputulos näyttää jo kovin paljon halutulta kutsuavaimelta
Koodi näytti kelpaavan kutsusivustolle ja näin pääsee luomaan käyttäjän HackTheBox sivustolle.
Asenna WebGoat ja kirjaudu sisään - Tehtävä B
Seuraavaksi vuorossa oli WebGoat ohjelman asentaminen. Seurasin webgoatin asennuksessa sekä käyttöönotossa Tero Karvisen ohjeita.
Webgoatin ohjeiden mukaisesti katkaisin internetyhteyden virtuaalikoneeseen webgoatin käytön ajaksi.
Ratkaise WebGoatista tehtäviä - Tehtävä C
C tehtävässä tuli ratkaista Webgoatista tehtävät “HTTP basics”, “Developer tools”, “CIA triad” sekä “A1 injection (intro)”.
HTTP Basics
Tehtävän tarkoituksena on ymmärtää perusteet, kuinka tieto liikkuu selaimen sekä web palvelimen välillä.
Tehtävässä syötin nimeni lomakkeeseen ja lähetin sen. Lähetyksen jälkeen palvelin palautti nimen nurinpäin käännettynä. F12 Näppäintä painamalla ja network välilehdelle siirtymällä löytää POST pyynnön, joka lähetettiin lomakkeesta.
Viimeisessä osiossa kysytään, mitä http metodia aikaisempi lomake käytti, ja mikä on taikanumero. Taikanumeron löysin etsimällä sivun lähdekoodista sanalla magic. Tämä löysi piilotetun syöttökentän jonka id oli magic_num
Developer tools
Tässä tehtävässä pääsi tutustumaan tuttavallisemmin developer toolseihin, joita käytinkin jo aikaisemmissa kohdissa.
Tehtävän neljännessä kohdassa ohjeistettiin ajamaan javascript functio devtoolsin consolin kautta. Samalla tavalla kuin HTB:n kutsua hankkiessa
Kuudennessa ja viimeisessä kohdassa lähetettiin POST kutsu nappia painamalla, ja network välilehdeltä tuli tarkastella lähetettyä kutsua. Kutsun tiedoista löysi pyydetyn networkNum kentän
CIA Triad
CIA (Confidentality, Integrity, Availability) Triad tehtävässä tutustutaan tämän mallin osa-alueisiin. Mallilla pyritään pitämään huolta, että tieto ei muutu siirtämisen aikana, tieto ei pääse asiaankuulumattomien henkilöiden käsiin ja tieto on saatavilla oikeille henkilöille välittömästi tarvittaessa.
Tehtävässä oli jokaisesta osa-alueesta tietopaketti, sekä lopussa pieni kysely käsitellyistä aiheista.
A1 Injection (intro)
Tässä tehtävässä harjoitellaan sql injectioiden tekemistä. WebGoat antaa myös nopean perehdytyksen, kuinka SQL kieli toimii. Mikäli tarvitsee vielä harjoitusta SQL:n kanssa WebGoat suosittelee http://www.sqlcourse.com sivua harjoitteluun.
Tehtävä oli pitkä, ja siinä pääsi kokeilemaan omin käsin SQL injektiota. Hetken harjoittelun jälkeen sain kaikki tehtävät ratkaistua.
Asenna Kali linux virtuaalikoneeseen ja kokeile jotain sen mukana tullutta työkalua - Tehtävä D
Kalin asensin virtualboxiin jo oppitunnin aikana. Olen aikaisemmin tehnyt julkaisun joka käsittelee Debian 10 asentamista virtuaalikoneeseen. Julkaisun löytää täältä.
Päätin kokeilla nmap porttiskanneria paikalliseen localhost osoitteeseen. Porttiskannauksen kanssa kannattaa olla varovainen, sillä se on suomessa laitonta. Asiasta on jo ennakkotapaus