Hem Securitywatch Hacking är bara att knäcka ett pussel åt gången

Hacking är bara att knäcka ett pussel åt gången

Video: 😈The HACKERS and THE NEW DEMENTOR 2.0 Puzzle Prize Pet!?! Bubblegum Simulator (Roblox) (September 2024)

Video: 😈The HACKERS and THE NEW DEMENTOR 2.0 Puzzle Prize Pet!?! Bubblegum Simulator (Roblox) (September 2024)
Anonim

Skaffa ett gäng hackare och andra säkerhetsinriktade människor på samma plats och lite godmodig konkurrens och hacking är oundvikligt.

Förra veckans Kaspersky Lab Security Analyst Summit var full av intressanta sessioner och deltog av några av de bästa medvetenheterna inom informationssäkerhet, men det var inte allt. Deltagare kan också tävla i "Crypto-utmaningen", där de använder sina hackfärdigheter för att lösa en serie av pussel. Jag var bland de handfulla som avslutade utmaningen, och lärde mig vägen lite mer om kryptografi, dämpning och omvänd teknik.

Framför allt fick jag veta att hacking är som att lösa pussel; du fortsätter att tänka, "Låt mig bara prova den här saken", och känner dig riktigt upphetsad när du får det.

Kryptografi har nyckeln

I hjärtat handlar kryptografi om att ta ett meddelande och skriva det på ett sådant sätt att det ser ut som gibberish för den som inte vet hemligheten. Det är lite som Pig Latin. Om du inte känner till språkets regler, har du ingen aning om vad "ellohay" betyder. Vissa chiffer är mycket enkla - som att byta bokstaven med nästa bokstav, så a blir b, b blir c, och så vidare tills "hej" blir "ifmmp." Andra är mycket mer matematiskt komplexa och används för att skydda våra kreditkortsnummer och lösenord.

Varje deltagare på toppmötet fick vid registreringen ett brev om krypto-utmaningen. I slutet fanns en bokstavssträng som inte gav mening men hade ett välbekant format. Från och med "vhhd: //" och följt av grupper av bokstäver separerade med en period (.), Var det tydligt URL till en webbplats. När jag förstod att de första bokstäverna var "http: //" visste jag att det här var ROT13, ett populärt (och oerhört svagt) kod, som byter varje bokstav med en som kommer 13 platser senare i alfabetet. Det fanns inget behov av att beräkna URL manuellt, eftersom det finns massor av ROT13-avkodare på webben.

Förslöjt Javascript, Oh My

Den resulterande sidan, med en bild och ett välkomstmeddelande, var tråkigt. Sidans källa var allt annat än. Det var rader och rader av mer gibberish, inneslutna i <script type = "text \ javascript"> taggar. Ah, dolda Javascript.

Förmörkelse är en vanlig teknik där skadliga kodare skriver attackkod på ett sådant sätt att en människa inte lätt kunde läsa koden. Det skiljer sig från kryptografi genom att det inte förlitar sig på en hemlighet utan snarare på trängda programmeringsmetoder för att generera svårläst kod. Den resulterande koden är oläslig för det mänskliga ögat, men maskinen har inga problem att förstå och utföra den.

Som var fallet med ROT13, fanns det inget behov av att försöka analysera det dolda Javascript manuellt. Istället använde jag DOM-inspektören som är inbyggd i Chrome-webbläsaren och gick igenom varje sidelement. Jag kunde se koden för att visa bilden och välkomstmeddelandet gömt inuti gibberish, samt en kommenterad kodrad som innehåller nästa ledtråd.

Dämpning är inte heller begränsad till bara Javascript. Jag var tvungen att redigera ett Perl-skript för att få reda på vad den fula koden försökte säga.

Omvänd teknik som en chef

Vid en tidpunkt laddade jag ner en körbar fil (skannad med Kaspersky Antivirus - det skadar inte att vara försiktig!) Som fick mig att ange ett användarnamn och lösenord. Det var dags att backa ingenjör den körbara.

Att arbeta med en Linux-bärbar dator hjälpte just nu, eftersom jag kunde använda strängar , ett Linux-verktyg för kommandorad som skriver ut innehållet i icke-textfiler och gdb , en felsökare som låter dig se vad som händer i en fil när den körs. strängar var också praktiskt senare i utmaningen, när jag laddade ner.d64-filer. Jag kunde ha laddat ner en Commodore 64-emulator - som utmanarens arrangör avsåg - för att köra filen, men jag sprang bara strängar för att ta reda på vart jag ska gå nästa.

Jag har hört talas om att bädda in hemliga meddelanden i en bild, men när jag möttes av en sådan bild stammades jag från början. Sedan kom jag ihåg att bilder har lager och angripare kan bädda in information i olika lager utan att störa det synliga lagret. Jag kunde ha tittat på varje lager i GIMP, ett open source-verktyg som liknar Adobe Photoshop som körs på Linux. Istället sprang jag bilden genom strängar , som extraherade all text gömd i bilden. Det är ett mångsidigt och praktiskt kommando.

Obs om lösenord

Några av stegen i utmaningen fick mig ett giltigt lösenord. Medan "lösenord" aldrig kom upp, fanns det åtminstone ett tillfälle där jag bara slumpmässigt skrev in ord som hade viss relevans för konferensen och spelet tills jag snubblat på rätt. I ett steg löstes jag upp med gemener / versaler, så jag skapade bara en lista över alla möjliga kombinationer och arbetade mig igenom.

En angripare, beväpnad med lite information om offret, kan enkelt försöka gissa rätt lösenord eller bara springa igenom en lista med möjliga ord. Jag fortsatte att mumla, "Jag ska överträda dig, " och när jag tänkte på det, tänkte jag, "HA! Har du det!"

Bara pussel-lösning

Med undantag för strängar och gdb, var varje enskild del av utmaningen beroende av något ganska enkelt, eller något jag kunde lära mig med en Google-sökning. Även om inte allt hacking är så enkelt är det viktigt att förstå att färdigheterna bygger ovanpå varandra. För att komma igång behöver du bara lite nyfikenhet och en vilja att fortsätta.

Du hör om människor som försöker bryta sig in i system eller lansera kampanjer online för skojs skull, eller bara för att bevisa att de kan. Det som håller hackare att hacka är det svårfångade adrenalinkick som kommer från att lösa ett utmanande pussel.

Hacking är bara att knäcka ett pussel åt gången