Hjem Securitywatch Hacking er bare å knekke ett puslespill av gangen

Hacking er bare å knekke ett puslespill av gangen

Video: DIY: Make Swamp Water Drinkable! King Of Random Dives Into How To Make A Homemade DIY Water Filter (Oktober 2024)

Video: DIY: Make Swamp Water Drinkable! King Of Random Dives Into How To Make A Homemade DIY Water Filter (Oktober 2024)
Anonim

Få en haug med hackere og andre sikkerhetsinnstilte folk på samme sted, og litt godmodig konkurranse og hacking er uunngåelig.

Forrige ukes Kaspersky Lab Security Analyst Summit var fullpakket med interessante økter og deltok av noen av de beste sinnene innen informasjonssikkerhet, men det var ikke alt. Deltakere kunne også konkurrere i "Krypto-utfordringen", der de bruker sine hackingsevner for å løse en serie gåter. Jeg var blant de håndfulle som var ferdige med utfordringen, og lærte underveis litt mer om kryptografi, obfuscation og reverse engineering.

Mest av alt lærte jeg at hacking er som å løse gåter; tenker du stadig, "La meg bare prøve denne ene tingen, " og føler deg virkelig spent når du får det til.

Kryptografi holder nøkkelen

I hjertet handler kryptografi om å ta en beskjed og skrive den på en slik måte at den ser ut som gibberisk for den som ikke kjenner hemmeligheten. Det er litt som Gris-Latin. Hvis du ikke kjenner språkets regler, har du ingen anelse om hva "ellohay" betyr. Noen sifre er veldig enkle - for eksempel å bytte bokstaven med neste bokstav, så a blir b, b blir c, og så videre, til "hallo" blir "ifmmp." Andre er langt mer matematisk sammensatte og brukes til å beskytte kredittkortnummerene og passordopplysningene våre.

Hver toppmøte fikk ved registrering et brev om krypto-utfordringen. På slutten var en streng med bokstaver som ikke ga mening men hadde et kjent format. Fra og med "vhhd: //" og etterfulgt av grupper med bokstaver atskilt av en periode (.), Var det tydelig nettadressen til et nettsted. Når jeg forsto at de første bokstavene var "http: //" visste jeg at dette var ROT13, en populær (og enormt svak) kode, som bytter hver bokstav med en som kommer 13 steder senere i alfabetet. Det var ikke nødvendig å arbeide ut URLen manuelt, da det er mange ROT13-dekodere på nettet.

Tilslørt Javascript, Oh My

Den resulterende siden, med et bilde og en velkomstmelding, var kjedelig. Sidens kilde var alt annet enn. Det var linjer og linjer med mer søppel, omsluttet av <script type = "text \ javascript"> tagger. Ah, tilslørt Javascript.

Tilsløring er en ofte brukt teknikk der ondsinnede kodere skriver angrepskode på en slik måte at et menneske ikke lett kunne lese koden. Det er annerledes enn kryptografi ved at den ikke er avhengig av en hemmelighet, men snarere på omviklede programmeringsmetoder for å generere vanskelig å lese kode. Den resulterende koden er uleselig for det menneskelige øye, men maskinen har ingen problemer med å forstå og utføre den.

Som tilfellet var med ROT13, var det ingen grunn til å prøve å analysere det tilslørte Javascript manuelt. I stedet brukte jeg DOM-inspektøren som er innebygd i Chrome-nettleseren og gikk gjennom hvert sideelement. Jeg kunne se koden for visning av bildet og velkomstmeldingen gjemt inne i gibberish, samt en kommentert kodelinje som inneholder neste ledetråd.

Tilsløring er heller ikke begrenset til bare Javascript. Jeg måtte redigere et Perl-skript for å finne ut hva den stygge koden prøvde å si.

Omvendt engineering som en sjef

På et tidspunkt lastet jeg ned en kjørbar fil (skannet med Kaspersky Antivirus - det skader ikke å være forsiktig!) Som fikk meg til å oppgi brukernavn og passord. Det var på tide å reversere den kjørbare.

Å jobbe med en Linux-bærbar PC hjalp på dette tidspunktet, fordi jeg kunne bruke strenger , et Linux-verktøy for kommandolinjer som skriver ut innholdet i ikke-tekstfiler, og gdb , en feilsøking som lar deg se hva som skjer i en fil når den kjøres. strengene var også nyttige senere i utfordringen, da jeg lastet ned.d64-filer. Jeg kunne ha lastet ned en Commodore 64-emulator - som utfordringens arrangør hadde til hensikt - for å kjøre filen, men jeg løp bare strenger for å finne ut hvor jeg skulle gå videre.

Jeg har hørt om å legge inn hemmelige meldinger inne i et bilde, men da jeg ble møtt med et slikt bilde, ble jeg opprinnelig stubbet. Så husket jeg at bilder har lag, og angripere kan legge inn informasjon i forskjellige lag uten å forstyrre det synlige laget. Jeg kunne ha sett på hvert lag i GIMP, et åpen kildekodeverktøy som ligner på Adobe Photoshop som kjører på Linux. I stedet kjørte jeg bildet gjennom strengene , som hentet ut all teksten som er skjult i bildet. Det er en allsidig og hendig kommando.

Merknad om passord

Noen få av trinnene i utfordringen ba meg om et gyldig passord. Mens "passord" aldri kom opp, var det minst en anledning der jeg tilfeldig skrev inn ord som hadde en viss relevans for konferansen og spillet til jeg snublet over den riktige. På ett trinn ble jeg snublet opp med små / store bokstaver, så jeg bare genererte en liste over alle mulige kombinasjoner og jobbet meg gjennom.

En angriper, bevæpnet med litt informasjon om offeret, kan enkelt prøve å gjette riktig passord, eller bare løpe gjennom en liste over mulige ord. Jeg fortsatte å mumle, "Jeg skal overliste deg, " og da jeg fant ut av det, tenkte jeg: "HA!

Bare puzzle-Solving

Med unntak av strenger og gdb var hvert eneste element i utfordringen avhengig av noe ganske greit, eller noe jeg kunne lære med et Google-søk. Selv om ikke all hacking er så enkel, er det viktig å forstå at ferdighetene bygger oppå hverandre. For å komme i gang trenger du bare litt nysgjerrighet og vilje til å holde ut.

Du hører om folk som prøver å bryte seg inn i systemer eller lansere kampanjer online for moro skyld, eller bare for å bevise at de kan. Det som holder hackere å hacke, er det unnvikende adrenalinkick som kommer fra å løse et utfordrende puslespill.

Hacking er bare å knekke ett puslespill av gangen