Casa Securitywatch L'hacking è solo il crack di un puzzle alla volta

L'hacking è solo il crack di un puzzle alla volta

Video: Satisfying Video l Kinetic Sand Nail Polish Foot Cutting ASMR #7 Rainbow ToyTocToc (Settembre 2024)

Video: Satisfying Video l Kinetic Sand Nail Polish Foot Cutting ASMR #7 Rainbow ToyTocToc (Settembre 2024)
Anonim

Prendi un gruppo di hacker e altre persone orientate alla sicurezza nello stesso posto e un po 'di buona concorrenza e hacking è inevitabile.

Il Summit degli analisti della sicurezza di Kaspersky Lab della scorsa settimana era pieno zeppo di sessioni interessanti e frequentato da alcune delle migliori menti nella sicurezza delle informazioni, ma non era tutto. I partecipanti potrebbero anche competere nella "Crypto-challenge", dove usano le loro abilità di hacking per risolvere una serie di enigmi. Sono stato tra i pochi che hanno terminato la sfida e lungo la strada ho imparato qualcosa in più sulla crittografia, l'offuscamento e il reverse engineering.

Soprattutto, ho imparato che l'hacking è come risolvere enigmi; continui a pensare "Fammi provare questa cosa" e ti senti davvero eccitato quando lo capisci.

La crittografia contiene la chiave

Al centro, la crittografia riguarda il prendere un messaggio e scriverlo in modo tale da sembrare incomprensibile per chi non conosce il segreto. È un po 'come Pig Latin. Se non conosci le regole della lingua, non hai idea di cosa significhi "ellohay". Alcuni numeri sono molto semplici, come scambiare la lettera con la lettera successiva, quindi a diventa b, b diventa c e così via, fino a quando "ciao" diventa "ifmmp". Altri sono molto più matematicamente complessi e vengono utilizzati per proteggere i nostri numeri di carta di credito e credenziali di password.

Ogni partecipante al vertice, al momento della registrazione, ha ricevuto una lettera sulla cripto-sfida. Alla fine c'era una serie di lettere che non aveva senso ma aveva un formato familiare. A partire da "vhhd: //" e seguito da gruppi di lettere separati da un punto (.), Era chiaramente l'URL di un sito Web. Una volta ho capito che le prime lettere erano "http: //" sapevo che si trattava di ROT13, una cifra popolare (e tremendamente debole), che scambia ogni lettera con una che arriva 13 posti più tardi nell'alfabeto. Non è stato necessario elaborare manualmente l'URL, poiché sul Web sono disponibili decodificatori ROT13.

Javascript offuscato, oh mio

La pagina risultante, con un'immagine e un messaggio di benvenuto, era noiosa. La fonte della pagina era tutt'altro che. Erano righe e righe di più incomprensibili, racchiuse tra tag <script type = "text \ javascript">. Ah, Javascript offuscato.

L'offuscamento è una tecnica comunemente usata in cui i programmatori malintenzionati scrivono il codice di attacco in modo tale che un essere umano non possa leggere facilmente il codice. È diverso dalla crittografia in quanto non si basa su un segreto ma piuttosto su metodi di programmazione contorti per generare codice difficile da leggere. Il codice risultante è illeggibile all'occhio umano, ma la macchina non ha problemi a comprenderlo ed eseguirlo.

Come nel caso di ROT13, non è stato necessario tentare di analizzare manualmente Javascript offuscato. Invece, ho usato la finestra di ispezione DOM che è integrata nel browser Chrome e ho esaminato ogni elemento della pagina. Ho potuto vedere il codice per visualizzare l'immagine e il messaggio di benvenuto nascosto all'interno del gibberish, nonché una riga di codice commentata contenente l'indizio successivo.

Anche l'offuscamento non si limita al solo Javascript. Ho dovuto modificare uno script Perl per capire cosa volesse dire quel brutto pezzo di codice.

Ingegneria inversa come un boss

A un certo punto, ho scaricato un file eseguibile (scansionato con Kaspersky Antivirus - non fa male stare attenti!) Che mi ha spinto a inserire un nome utente e una password. Era tempo di decodificare quell'eseguibile.

Lavorare su un laptop Linux mi ha aiutato a questo punto, perché potevo usare stringhe , uno strumento Linux da riga di comando che stampa il contenuto di file non di testo e gdb , un debugger che ti consente di vedere cosa sta succedendo all'interno di un file mentre viene eseguito. le stringhe sono state utili anche più avanti nella sfida, quando ho scaricato i file.d64. Avrei potuto scaricare un emulatore di Commodore 64 - come intendeva l'organizzatore della sfida - per eseguire il file, ma ho appena eseguito delle stringhe per capire dove andare dopo.

Ho sentito parlare dell'incorporazione di messaggi segreti all'interno di una foto, ma quando mi trovavo di fronte a una simile immagine, inizialmente ero sconcertato. Poi ho ricordato che le immagini hanno livelli e che gli aggressori possono incorporare informazioni in livelli diversi senza interrompere il livello visibile. Avrei potuto guardare ogni livello in GIMP, uno strumento open source simile ad Adobe Photoshop che gira su Linux. Invece, ho eseguito l'immagine attraverso le stringhe , che ha estratto tutto il testo nascosto nell'immagine. Questo è un comando versatile e pratico.

Nota sulle password

Alcuni dei passaggi della sfida mi hanno richiesto una password valida. Mentre la "password" non è mai venuta in mente, c'è stata almeno un'occasione in cui ho inserito casualmente parole che avevano una certa rilevanza per la conferenza e il gioco fino a quando non mi sono imbattuto in quello corretto. In un solo passaggio, sono stato attivato da lettere minuscole / maiuscole, quindi ho appena generato un elenco di tutte le possibili combinazioni e ho lavorato fino in fondo.

Un utente malintenzionato, armato di alcune informazioni sulla vittima, può facilmente provare a indovinare la password corretta o semplicemente scorrere un elenco di parole possibili. Continuavo a mormorare "Sto andando in astuzia" e quando l'ho capito, ho pensato: "HA! Capito!"

Solo puzzle-solving

Ad eccezione di stringhe e gdb, ogni singolo elemento della sfida dipendeva da qualcosa di abbastanza semplice, o qualcosa che potevo imparare con una ricerca su Google. Anche se non tutti gli hacking sono così semplici, è importante capire che le competenze si basano l'una sull'altra. Per iniziare, hai solo bisogno di un po 'di curiosità e volontà di perseverare.

Senti di persone che cercano di entrare nei sistemi o di lanciare campagne online per divertimento o semplicemente per dimostrare che possono farlo. Ciò che mantiene l'hacking degli hacker è la scarica di adrenalina inafferrabile che deriva dalla risoluzione di un puzzle stimolante.

L'hacking è solo il crack di un puzzle alla volta