For alle Ensōs ansatte er sikkerhet en viktig del av hverdagen. Både når vi koder for kunden og når vi gir råd til arkitektur, informasjonsflyt, leverandører eller rekruttering. Det er avgjørende for oss at løsningene kundene våre ender opp med er sikre og robuste. Men noen av oss tar det litt lenger. Vi har flere konsulenter som lenge har vært aktive på platformer som TryHackMe, HackTheBox, OverTheWire/Wargames etc, og vi har også arrangert fagkvelder der vi har demonstrert OWASP sårbarheter i praksis og deltatt på CTF(Capture The Flag) i fellesskap. Når Equinor nå for andre året arrangerer CTF så ble vi enige om at vi ville delta.

Konseptet er: 67 oppgaver i forskjellige kategorier innen IT sikkerhet. 24 timer fra oppgavene blir avslørt (18:00 fredag kveld) til tidsfristen utløper. Alle oppgavene resulterer i en nøkkel som postes på arrangørens nettside for å bevise at man har klart oppgaven. Jo færre som har løst oppgaven før deg, jo mer poeng til laget. Deltagerne er delt inn i lag, med valgfritt antall deltagere, men for topplasseringene er det premier til maks 5 personer.

Spørsmålet ble da hvordan vi som travle småbarnsforeldre med kronisk søvnmangel ville hevde oss mot studenter på energidrikk og hardcore SecOps?

Når startskuddet gikk var vi 6 konsulenter som var samlet på Ensōs kontorer, klar til dyst. Vi gikk i fellesskap gjennom noen av oppgavene, og så gikk vi løs på de oppgavene vi likte best. Noen prøvde seg på samme oppgave i fellesskap, og noen løste oppgaver på egen hånd.

Selv begynte jeg litt tilfeldig på oppgaver som gikk ut på å bruke gdb (debugger i linux) til å finne ut av hvordan passordsjekken ble gjort i programmer, for så å komme rundt denne. Jeg hadde ingen erfaring med gdb fra før, så her kan jeg si at læringskurven var bratt! Etter hvert fikk jeg installert pwndbg og fikk mer og mer kontroll på snarveier og breakpoints og det resulterte i to løste oppgaver.

Etter dette satte jeg i gang med en oppgave der man maskinelt måtte svare på spørsmål fra en tcp server om hvor de forskjellige figurene befant seg i et bilde. Utfordringer var at man må svare riktig 200 ganger etter hverandre i raskt tempo, for å finne flagget. Først prøvde jeg å lage et enkelt program i python som prøvde å gjenkjenne det samme bildet om det kom ned to ganger for så å lagre hvor i bildet de forskjellige formene var. Etter en (for) lang stund innså jeg at det var aaaalt for mange kombinasjoner av bilder til at dette kunne virke, og jeg begynte å se på alternativer. Det jeg gikk for da var et python bibliotek som heter OpenCV som kan gjøre nettopp dette. OpenCV viste seg å være veldig lunefult, og det tok mye prøving og feiling før jeg klarte å løse oppgaven. Heldigvis viste det seg at det var to oppgaver som kunne løses på denne måten, og den andre oppgaven gikk mye raskere.

På morgenkvisten var gjengen redusert til 2, og i 9 tiden måtte jeg kaste inn håndkleet og dra hjem for en pause. Etter en høneblund ble det litt innsats før målstreken.

Totalt løste vi 17 av de 67 oppgavene og vi endte til slutt på en 18. plass av lagene i åpen klasse (91), 27. plass totalt (125). Vi ser at det er mye vi kunne gjort for å få flere poeng, for eksempel å velge oppgaver mer kynisk og ikke bare gå etter det vi synes er gøy. Men det viktigste var at vi hadde det gøy sammen, og jeg kan i hvert fall si at jeg lærte mye. Neste år havner vi enda høyere på listene!

Takk til Equinor for et veldig bra arrangement. Håper dette er et fast innslag hver høst.

REFERANSER:

·    Equinor ctf

·    Equinor ctf Writeups

·    CyberChef

·    Cryptii

·    Kali Linux

·    Steganography tools

·    dCode.xyz

En av våre deltagere, Gareth Oates, har også skrevet om dette i sin egen blog:

Equinor CTF - The Projects

Gareth