... Men har du validert?

Ice Cube, Sikkerhetsvalidering og Pentera


 
Så er vi her igjen, mot slutten av året. 

Kvikksølvet siger nedover mot blå tall og utafor kontorvinduet blir det sakte men sikkert hvitt. Kanskje har man litt grunker igjen i budsjettet som må brennes, eller kanskje det var på tide å oppgradere noe utstyr. Etter litt om, men og godkjenning fra finansavdelingen legges en splitter ny brannmur på ønskelista. Snart dukker det opp en fin presang fra Netsec-Nissen under juletreet på kontoret. Så går vi rundt om en NGFW, en NGFW, en NGFW tidlig en mandags morgen! Brannmuren settes opp med alle lisensierte tjenester og best practice-tips menneskeheten er kjent med, og da kan man vel legge seg med god samvittighet i romjula... Eller?

 Hvordan vet man egentlig om sperrene, sikkerhetstjenestene og ikke minst oppsettet holder tett? Plukker ikke IDS'en opp at det er angrep, eller har det bare ikke vært noe angrep? Hvordan vet vi hva slags skade en angriper kan oppnå hvis de først kommer seg inn, og ikke minst - Hvor skal man begynne å patche?

 I 1993 forkynnet lyristen Ice Cube "Check yo' self before you wreck yo' self" - Her ligger også et svar på spørsmålene over; En av de beste måtene man kan sjekke etter hull eller validere funksjonen av sikkerhetsprodukter er å kjøre en Pentest. En pentest utføres på forskjellige måter, men testeren blir gjerne (ikke alltid!) satt på innsiden av nettverket for å spille rollen som angriper. Her gjøres alskens digital ugagn for å kartlegge hvilke svakheter som finnes, og til slutt kjøres det ut en utfyllende rapport. For de selskapene som utfører dem blir en pentest gjerne kjørt en gang per 2 år, kanskje en gang i året, men det er sjeldent at en pentest utføres oftere enn det - Og det er nok mange som ikke har hatt en eneste én. 

 En ordentlig pentest er uvurdelig for å avdekke svakheter i alt fra konfigurasjon og oppsett til upatchede operativsystemer og programvare, og du får virkelig verdi for pengene. Men det *er* snakk om en del penger - Antageligvis noe av grunnen til at de gjerne ikke utføres så ofte som de kanskje burde vært. Mange lager kanskje ikke budsjettpost for det i det hele tatt. Det å bruke en menneskelig pentester til validering av nye sikkerhetstjenester - skjønt utfyllende - blir sjeldent kostnadseffektivt dersom man bare ønsker å validere en enkel endring av konfig eller bytte til nytt produkt. Et problem som oppstår som følge av dette er at når man kjøper et nytt sikkerhetsprodukt og setter det i drift så må man vente til neste pentest før man får se resultatene, og om man har oversett noe i konfigurasjonen som skaper hull. Dette fører kanskje da til at man sitter et helt år eller mer med sikkerhetshull man ikke visste om!

 Hva om man kunne hatt en slags pentester-på-boks, noe man kunne kjørt nårsomhelst for å sjekke ståa på sikkerheten? 

 Som dere kanskje har skjønt finnes det slike produkter. Ingen av disse verktøyene er en fullverdig erstatning for en full pentest av en kvalifisert, lærd og ikke minst kreativ person - men de kan være veldig sterke verktøy som man kan få veldig mye utbytte av i tiden mellom de vanlige pentestene. Et av disse produktene er Pentera, fra selskap ved samme navn (tidligere PcySys), og jeg tenkte jeg skulle fortelle litt om hva det gjør. 

 Pentera er en løsning som lar deg kjøre en automatisert pentest og sikkerhetsvalidering så ofte du vil, med forskjellige typer tester og valgmuligheter for hvilke systemer som skal inkluderes i testene. En av fordelene med Pentera er at istedenfor å bare "simulere" angrep - altså uten å sende trafikk til de faktiske enhetene - så utfører den faktisk angrep på samme måte som en pentester eller hacker ville gjort. Det kan gjøres aktiv og passiv rekognosering av miljøet, sniffing av kredensialer, man-in-the-middle angrep og mye, mye mer. Selvfølgelig er selve angrepet uskadelig, men utnyttelsen av svakhetene er reell - Pentera tilbyr til og med ransomware-testing,hvor systemet først legger inn noen filer på disk og prøver å kryptere dem på samme måte som et ransomware-angrep ville gjort.

 Både egenutviklede (av Pentera, deg selv eller f.eks. konsulent) og godt kjente exploits blir kjørt mot ønskede mål. Hvis idéen om å kjøre aggressive og hardhendte exploits i produksjonsmiljø gir deg hjerteklapp og kaldsvette kan jeg berolige deg; Pentera kan settes til å spørre om tillatelse før den utfører noe som helst, og man kan selv velge hva som skal kjøres. Pentera kan konfigureres slik at du kan sette den i gang i produksjonsmiljøet fredag klokka tre og fortsatt sove godt om natten. I dashboardet får man informasjon om hvilke "milepæler" som har blitt oppnådd, og ikke minst *hvordan* de ble oppnådd. Dette kan være at kredensialer ble sniffet over SMB for en konto, hvis passord-hash ble sendt videre til en annen server for å prøve å komme inn på denne. Eller den samme hashen også blir forsøkt knekt med bruteforce-angrep, eller kanskje en gammel Microsoft SQL-versjon med svakheter blir utnyttet for å gi tilgang til denne før Pentera beveger seg lateralt. Hvis paragrafen over ikke ga noe mening kan det forenkles til følgende: Pentera lar deg kjøre en automatisert penetrasjonstest på ditt eget nettverk - midt i beste sendetid - for å avdekke og ikke minst prøve å utnytte sikkerhetshull. Til slutt kan en eller flere rapporter genereres, f.eks. én overordnet rapport til C-suite, og en detaljert rapport til teknikerne. Disse rapportene er kanskje en av Penteras sterkeste sider, da en av mulighetene er å inkludere en visuell "flowchart" av angrepsflyten; Altså at sikkerhetshull A ledet til utnytting av tjeneste B for så å hente ut administratorpassord C. Dette lar Pentera vise deg hvor du bør begynne å tette hull, for det er ikke alltid slik at svakheter med høy CVSS-score utgjør den største trusselen i ditt miljø.

 For eksempel - i et hypotetisk og urealistisk scenario, men la gå - kan Log4Shell med sin CVSS-score av 10 (maksimum) kanskje se ut som verstingen i et miljø, men hvis serveren er avgrenset til *kun* å kunne kommunisere med én klient som er 100% sikker så er dette "kritiske" sikkerhetshullet faktisk ikke et problem. Men hvis vi har sniffet gyldige kredensialer på en annen server med f.eks. CVE-2018-1454 som kan brukes på klienten nevnt over, så er dette svakheten som bør fikses først - Selv om den kun er vurdert til å være CVSS-score 4.3. Det finnes mange andre eksempler på dette, og hvis deres IT-avdeling kun bryr seg om sikkerhetshull med høy CVSS-score ville denne kanskje blitt nedprioritert. Pentera lar deg se hele angrepskjeden (og selvfølgelig automatisk knytte den opp mot MITRE ATT&CK om ønskelig), og dermed kan du fokusere der det trengs. 

 Neste strofe fra Ice Cube lyder; "(...) 'cause I'm bad for your health, I come real stealth" - og en av innstillingene til Pentera lar deg velge hvor høylytt den skal prøve å trenge seg inn; skal vi liste oss så stilt på tå, eller kjøre en dampveivals gjennom veggen? Med dette kan du validere at sikkerhetsprduktene dine plukker opp alt den skal, fra støyende script-kiddie til godt kamuflert APT. Alt dette gjøres uten at noe agent installeres på de eksisterende enhetene - Alt som trengs er en PC med litt hvass GPU (for passordcracking) som kjører Pentera. Selv de sikreste miljøene kan du kjøre Pentera i, da den ikke trenger å koble til noe utenfor - "Airgapped" miljøer er ingen hindring.
 Det er litt å sette seg inn i, men når man først har gjort det tester kjøres over en lav sko. Det blir nervøsitet, glede, skrekk og gru ettersom man ser verktøyet begynne å jobbe og finne svakheter. Dette kan også være en kul måte å teste SOC'en sin!
 
Til slutt vil jeg påpeke igjen at dette ikke er erstatning for en full pentest utført av et menneske. Pentera vil heller ikke gå Kovert, Orange eller andre pentestere i næringen. Det Pentera vil kunne gjøre er å kartlegge og gi en god oversikt over problemer og svakheter i systemene deres, samt gi en pekepinn til hvor man bør begynne å rette opp - Og kanskje hjelpe med julefreden.

 God jul!

Artikkelen er skrevet av Hans Kristian Holm, 

Senior Security Engineer i Infinigate.

Lurer du på noe?