Kutsu sekä vuohi

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ä.

HTB Kutsusivu konsoli auki

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

makeInviteCode()

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

CurlPost

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

Base64

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.

webgoatetusivu

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.

basicspost

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

magic

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

phonehome

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

networknum

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.

ciatriad

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.

a1injectionvalmis

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

nmap

Linkkejä