Sikkerhetsekspert Piotr Linke fra Sourcefire. (Bilde: Marius Jørgenrud)

Angrep er beste forsvar

Vi dro på hackerkurs for å lære å kjenne «fienden».

OSLO (digi.no): Det er med en viss spenning vi entrer kurslokalene til Redpill Linpro på Storo. På timeplanen står «RedLabX», et nytt konsept der man lærer å forberede, og deretter utføre et angrep på en kommersiell webserver.

Alt i det godes hensikt, selvsagt. Målet er å lære om hvordan du bedre kan beskytte deg mot slike angrep.

- Det er en gyllen regel: Du må kjenne fienden din. Jo mer du vet om verktøyene, mulighetene, sårbarhetene og trendene innen sikkerhet, jo bedre forberedt er du, sier den polske sikkerhetseksperten Piotr Linke fra Sourcefire.

Det amerikanske friprog-selskapet Sourcefire er opphavet til IPS-motoren Snort. IPS («intrusion prevention system») er avanserte systemer for å avdekke, avverge og uskadeliggjøre datasnoker.

Honningfeller

Kursholder Piotr sier han har lært mye om hvordan ondsinnede hackere opptrer ved å legge ut såkalte «honningfeller»: Tilsynelatende ekte IT-systemer koblet mot nettet, som kun er lagt ut for å lure kriminelle til å utføre angrep. Ved å analysere og etterforske innbrudd, lærer han hvordan hullene kan tettes.

Rundt oss sitter 10-12 kursdeltakere ved hver sin PC, som kjører et knippe virtuelle maskiner. En av dem kjører ti år gamle Red Hat 7.2 med webserveren Apache. Denne skal vi bryte oss inn på fra en annen virtuell maskin.

- Først skal vi kikke på en enkel overflytsfeil i buffer.

Applikasjoner har gjerne åpne buffere (mellomlager) som kan motta data utenfra. I vårt tilfelle er det Apache-serveren som venter på data over nettverket.

- Problemet med utviklere er at de ofte glemmer å sjekke dataene som mottas. Dette skal vi utnytte, sier Piotr, som avslører at det er en kjent sårbarhet i OpenSSL-programvaren som skal bli vår dør inn på webserveren.

Fordi alle tjenestene på maskinen fortsetter å fungere som vanlig, også etter angrepet, kan denne typen innbrudd være vanskelig å oppdage, forklares det underveis.

Kartlegging

Vårt enkle scenario er en bedrifts hjemmesider, nærmere bestemt en fiktiv eiendomsmegler. Kanskje håndterer de innbetaling av leie gjennom løsningen. Kundenes kontoopplysninger kan være et attraktivt mål.

Etter å ha skannet offerets server, for eksempel med NMAP, har vi avdekket at maskinen kjører Red Hat Linux 7.2 med Apache 1.3.26 og PHP-modul. Kartlegging er et viktig ledd i prosessen. Slik kan vi utnytte allerede kjente sikkerhetshull i løsningen.

Vårt angrepsscript er blant de som enkelt lar seg oppdrive på nettet, får vi vite. Nå går ting raskt. Angrepet iverksettes.

- Scriptet åpner 30 koblinger til serveren. Deretter utnytter det en minnelekkasje i OpenSSL, henter minneadressene og sender shellkode, så får vi et bash shell (kommandolinjetilgang), sier Piotr.

Med ett er vi innlogget på webserveren med rettighetene til Apache-brukeren. Etter en rask kartlegging av serveren fra innsiden, oppdager kursleder at tilgangsnivået vårt fremdeles er for begrenset.

Bilde: Marius Jørgenrud

- Nå må vi finne en lokal sårbarhet som kan promotere oss til rotbruker (administrativ tilgang, journ.anm.).

Nok en gang finner vi et innbruddsverktøy med enkle grep på Internett. Denne gang utnytter vi en sårbarhet i trådhåndteringen i Linux-kjernen.

- Det som er viktig nå er å teste dette. Vi må forberede et testmiljø som er helt likt som serveren vi angriper. Dette kan for eksempel gjøres i en virtuell maskin med VMware, sier Piotr.

Scriptet lot seg enkelt laste ned til Apache-serverens tmp-mappe ved hjelp av Linux-kommandolinjeverktøyet Wget.

Bilde: Illustrasjon

I samme filområde hadde vi også tillatelse til å kompilere og kjøre filen. Vips, så har vi fått rottilgang på serveren. Eller sagt på en annen måte, eiendomsselskapet har akkurat mistet kontrollen over alt innhold.

- Aldri gi Apache-brukeren anledning til å kjøre GCC for å kompilere eksekverbare filer. Ikke Wget eller FTP heller. Du må herde operativsystemet og den jobben må gjøres manuelt, advarer Piotr.

Sikkerhetseksperten understreker at angrepet kunne vært utført på smartere måter. I virkeligheten vil scriptet neppe la seg kompilere på offerets server uten at alarmen går.

- Det er lett å finne ferske sårbarheter også til andre servere enn Red Hat 7.2. Det er bare å søke på nettet.

Bilde: Marius Jørgenrud

- Hvis dere ønsker å leke mer bør dere laste ned Linux-distribusjonen Backtrack, et operativsystem for sikkerhetsforskere som er fullastet med verktøy for å kartlegge nettverk, analysere filer og applikasjoner, samt sårbarheter, forteller Piotr Linke.

Linke, som har holdt lignende kurs over store deler av Øst-Europa, gjør ikke dette bare for moro skyld. Underveis i presentasjonen passer han på å demonstrere hvordan deres egen friprog-IPS, Snort, kan fange opp hackerangrepene ved hjelp av ulike regler.

- Det er viktig å ha en IPS som er intelligent nok og åpen nok – slik at den er fleksibel. På den måten oppdager du ikke bare ondsinnede inntregningsforsøk, men kan også lage regler som håndterer trafikken du ønsker å ha, sier eksperten til digi.no.

Han nevner også en konkurrerende åpen kildekode-løsning kalt Suricata som et alternativ det er verdt å kikke nærmere på.

- Suricata ligner Snort, men er litt enklere og har færre regler. Men også den gjør jobben.

Se også del 2 i denne reportasjeserien: Slik hacker du med «fuzzing».

Bilde: Marius Jørgenrud

    Les også:

Til toppen